[
https://issues.apache.org/jira/browse/GEODE-8964?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17291909#comment-17291909
]
ASF subversion and git services commented on GEODE-8964:
--------------------------------------------------------
Commit 733b83d19fdae767357c1c48e9800da71b64dfba in geode's branch
refs/heads/develop from Louis Jacome
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=733b83d ]
GEODE-8964: Entry created via TX putIfAbsent with null value can write
incorrect data to cache (#6053) (#6053)
- Modifies TXCommitMessage.firePendingCallbacks to check if an Entry
Event is an Update with a null value, if so callbacks are invoked using
an AFTER_CREATE and not AFTER_UPDATE. This handles a situation that
can occur when a transactional create with null value is interrupted by a GII
on the
same key, resulting in a AFTER_UPDATE event being distributed instead of a
AFTER_CREATE.
> Entry created via TX putIfAbsent with null value can write incorrect data to
> cache
> ----------------------------------------------------------------------------------
>
> Key: GEODE-8964
> URL: https://issues.apache.org/jira/browse/GEODE-8964
> Project: Geode
> Issue Type: Bug
> Components: client/server
> Affects Versions: 1.10.0, 1.14.0
> Reporter: Louis R. Jacome
> Assignee: Louis R. Jacome
> Priority: Major
> Labels: pull-request-available
> Fix For: 1.15.0
>
>
> In backwards compatibility testing, an error was seen wherein a putIfAbsent
> with a null value was being processed by a server but interrupted by a GII
> with the same key. The operation was subsequently enqueued in the client's HA
> Region Queue as an update with a null value rather than a create with a null
> value -- a path that's not supported -- resulting in erroneous data sometimes
> being written to the client cache.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)