YottaDB / YDB

Mirrored from https://gitlab.com/YottaDB/DB/YDB
Other
76 stars 37 forks source link

SET and $INCREMENT() work correctly without abnormal process termination in a very rare case #217

Closed nars1 closed 6 years ago

nars1 commented 6 years ago

Final Release Note

SET and $INCREMENT() operations on a global variable work correctly without abnormal termination in a very rare case. Previously, it was possible a process doing the operation to terminate abnormally with a SIG-11. This was only observed in internal testing, and there was no risk of database damage from this issue. (#217)

Description

A test failure (in in-house testing) exposed a longstanding rare issue in the database code. It is possible for a process to terminate abnormally with a SIG-11 while updating a database (SET or $INCR on a gvn) in an environment where concurrent processes are updating the same database. While the process will terminate with a core in these extremely rare circumstances, the database is guaranteed to be clean (i.e. no database damage). Nevertheless, this is an issue that needs to be fixed.

Draft Release Note

SET and $INCR operations on a gvn work correctly in YottaDB. Previously, it was possible in very rare situations for a process doing the SET/$INCR to terminate abnormally with a SIG-11. This was only observed in internal testing. There was no risk of database damage due to this issue.