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)