Bug 1235134 - AsyncCacheLoader.load() may return stale data
Summary: AsyncCacheLoader.load() may return stale data
Alias: None
Product: JBoss Data Grid 6
Classification: JBoss
Component: Infinispan
Version: 6.5.0
Hardware: Unspecified
OS: Unspecified
Target Milestone: ER1
: 6.5.1
Assignee: Tristan Tarrant
QA Contact: Martin Gencur
Depends On:
TreeView+ depends on / blocked
Reported: 2015-06-24 06:48 UTC by Dan Berindei
Modified: 2022-05-31 22:24 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
A race condition existed that allowed <methodname>AsyncCacheLoader.load()</methodname> / <methodname>State.get()</methodname> to return stale data. As <methodname>State.get()</methodname> scans the states of <classname>AsyncCacheWriter</classname> from head to tail, while the <classname>AsyncStoreCoordinator</classname> may move conflicting entries from the current state to the head state. If <methodname>State.get()</methodname> / <methodname>AsyncCacheLoader.load()</methodname> is preempted after checking the head state then it may not see modifications moved by the coordinator thread and load stale data instead. This issue is resolved as of Red Hat JBoss Data Grid 6.5.1; the <classname>AsyncStoreCoordinator</classname> was redesigned so that conflicting keys are collected in a separate list which is processed after the <classname>AsyncStoreProcessors</classname> complete.
Clone Of:
Last Closed:
Type: Bug

Attachments (Terms of Use)

System ID Private Priority Status Summary Last Updated
Red Hat Issue Tracker ISPN-5563 0 Major Resolved AsyncCacheLoader.load() may still return stale data 2015-11-12 13:46:03 UTC

Description Dan Berindei 2015-06-24 06:48:35 UTC

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