Details

      Description

      Write Skew Check does not perform the validation correctly when Passivation is enabled.

      Issue:
      The current implementation checks the most recent version/value in DataContainer. However, the entry may be passivated and it is not present in DataContainer. The Write Skew Check will abort the transaction when the transaction read some value (say version V), because it is expecting to find the version V but it does not find the entry. It assumes that the entry was removed and aborts the transaction.
      A more dangerous case is when at least two transactions are writing to a new key. The first commits and before the second transaction is prepared, the entry is passivated. In this case, it assumes the entry does not exists and let the second transaction to commit.

      Solution:
      It needs to try to load the entry from Persistence.

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  pruivo Pedro Ruivo
                  Reporter:
                  pruivo Pedro Ruivo
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  1 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: