Bug 1032693 - Entry version gets lost during topology change -> NPE
Entry version gets lost during topology change -> NPE
Status: VERIFIED
Product: JBoss Data Grid 6
Classification: JBoss
Component: Infinispan (Show other bugs)
6.2.0
Unspecified Unspecified
unspecified Severity high
: CR1
: 6.2.0
Assigned To: Tristan Tarrant
Martin Gencur
:
Depends On:
Blocks: 1017190
  Show dependency treegraph
 
Reported: 2013-11-20 10:24 EST by Radim Vansa
Modified: 2014-01-08 02:50 EST (History)
1 user (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed:
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)


External Trackers
Tracker ID Priority Status Summary Last Updated
JBoss Issue Tracker ISPN-3738 Critical Resolved Entry version gets lost during topology change -> NPE 2014-01-08 02:46:20 EST

  None (edit)
Description Radim Vansa 2013-11-20 10:24:43 EST
Replicated TX cache with WSC, A, B are in cluster, C is joining

0. The current CH already contains A and B as owners, C is joining (is not primary owner of anything yet). B is primary owner of K=V.
1. A sends PrepareCommand to B and C with put(K, V) (V is null on all nodes)
2. C receives PrepareCommand and responds with no versions (it is not primary owner)
3. topology changes on B - primary ownership of K is transfered to C
4. B receives PrepareCommand, responds without K's version (it is not primary)
5. B forwards the Prepare to C as it sees that the command has lower topology ID
6. C responds to B's prepare with version of K
7. K version is not added to B's response, B responds to A
8. A finds out that topology has changed, forwards prepare to C
9. C responds to C's prepare with version of K
10. A receives C's response, but the versions are not added to transaction
11. A sends out CommitCommand missing version of K
12. all nodes record K=V without version as usual ImmortalCacheEntry
13. the next time we try to increase version of K=V, we fail with NPE in SimpleClusteredVersionGenerator (actually when it tries to throw IllegalArgumentException because the null version is unexpected version class)
Comment 2 JBoss JIRA Server 2013-12-03 09:35:25 EST
Pedro Ruivo <pruivo@redhat.com> updated the status of jira ISPN-3738 to Coding In Progress

Note You need to log in before you can comment on or make changes to this bug.