Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

bug fix #432

Open
wants to merge 2 commits into
base: snappy/master
Choose a base branch
from
Open

bug fix #432

wants to merge 2 commits into from

Conversation

ahshahid
Copy link

As per my understanding of the problem, the issue is

  1. A tx update comes on tab1 on col3. the unique index is on col1
    This creates a TxEntry & it modifies the other indexes on tx replacing the RegionEntry in the indexes, with WraperrRLtxn. But since col1 is not modified, it leaves it untouched.
  2. Now numerous other Ops in same trxn come on other tables.
  3. Now a delete on the same row ( for which update was made) comes on tab1 . This op is definitely in a separate batch. ( because of Fixing set command related failures #2). Now the base entry of reference for this op is TxEntry ( & not RegionEntry). when it attempts to replace unique index with WrapperRLTxn for delete, it the entry passed for matching is TxEntry & not RegionEntry. As a result instead of replacing RegionEntry with WrapperRLtxn it ends up appending WrapperRLTxn . So now the unique index has both WraperTxn as well as RegionEntry.
  4. The final commit then leaves the unique index with RegionEntry.

I also had to conflate two WrapperRLTxns in index if they were on same RegionEntry & having same TxID. I am not sure why multiple WrapperRLtxns ( for same TxEntry & same underlying RegionEntry with same TxIDs) is causing problem ( though I think ideally it should be conflated on the lines of what I have done, isn't it?). But the change was needed to completely fix the window. I have not touched the Set part , but I suppose that needs to be closed too. Though current set of ops apparently never exceed the RowLocation array threshold of 100 , but I suppose it needs to be handled for set too.

(Fill in the changes here)

Patch testing

(Fill in the details about how this patch was tested)

Is precheckin with -Pstore clean?

ReleaseNotes changes

(Does this change require an entry in ReleaseNotes? If yes, has it been added to it?)

Other PRs

(Does this change require changes in other projects- snappydata, spark, spark-jobserver, aqp? Add the links of PR of the other subprojects that are related to this change)

@ahshahid
Copy link
Author

pls refine the fix if it is correct. I just did crude changes to check the outcome..

@ahshahid
Copy link
Author

Pls do not review it yet. I am making a couple of more changes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant