[
https://issues.apache.org/jira/browse/GEODE-8964?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17293233#comment-17293233
]
ASF subversion and git services commented on GEODE-8964:
--------------------------------------------------------
Commit 77e6a0475556a12dd70ee9e3dda6f558887bc164 in geode's branch
refs/heads/develop from Louis Jacome
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=77e6a04 ]
GEODE-8964: Prevent writing incorrect data to cache for transactional create
with null value (#6069)
- 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)