Semen Boikov created IGNITE-627:
-----------------------------------

             Summary: Inconsistent value in near cache
                 Key: IGNITE-627
                 URL: https://issues.apache.org/jira/browse/IGNITE-627
             Project: Ignite
          Issue Type: Bug
          Components: cache
            Reporter: Semen Boikov
            Assignee: Semen Boikov
            Priority: Critical
             Fix For: sprint-3


This scenario is possible in atomic cache with near cache enabled:
- key is updated concurrently from near and primary node
- primary node first executes update request from near node, registers it as 
reader and sends GridNearAtomicUpdateResponse to near node
- then primary node executes second update, sees that there is a reader and 
sends GridDhtAtomicUpdateRequest to near node
- GridDhtAtomicUpdateRequest is handled first on near node (see 
GridNearAtomicCache.processDhtAtomicUpdateRequest), it tries to peek entry, it 
is not created yet and it is considered as evicted, updated is skipped and 
reader will be removed on primary node
- then near node handles GridNearAtomicUpdateResponse  and creates entry with 
incorrect value

Tests 
GridCacheValueConsistencyAtomicPrimaryWriteOrderNearEnabledSelfTest.testPutRemoveConsistencyMultithreaded
 and testPutConsistencyMultithreaded fail from time to time because of this 
issue.

Most probably there is similar issue in transactional cache since 
GridCacheValueConsistencyTransactionalNearEnabledSelfTest also fails from time 
to time.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to