geode-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF subversion and git services (JIRA)" <>
Subject [jira] [Commented] (GEODE-5420) Protect events in HAContainer from being removed prematurely
Date Wed, 01 Aug 2018 18:26:00 GMT


ASF subversion and git services commented on GEODE-5420:

Commit 103b467ab6205f6c9d180d5ad28705ce47c7b5bb in geode's branch refs/heads/develop from
[;h=103b467 ]

GEODE-5420: Protect events in HAContainer from premature modification

- Updated putInProgress boolean in HAWrapper to a counter to prevent prematurely setting ClientUpdateMessage
to null when events are temporarily queued during a GII or message dispatcher initialization
- decAndRemoveFromHAContainer only removes when putInProgress counter and ref count are 0
- Refactored putEventInHARegion/putConditionallyInHAContainer to prevent overwriting an existing
entry in the HAContainer.  Also reduces simplifies the code and reduces duplicated logic.
- Wrote missing basic HARegionQueue unit/integration tests, and an integration test to capture
setting the ClientUpdateMessage property on HAEventWrapper to null prematurely
- Added new event tracing messages at debug logging level to help track similar issues in
the future

Co-authored-by: Ryan McMahon <>
Co-authored-by: Lynn Hughes-Godfrey <>

> Protect events in HAContainer from being removed prematurely
> ------------------------------------------------------------
>                 Key: GEODE-5420
>                 URL:
>             Project: Geode
>          Issue Type: Bug
>          Components: client queues
>    Affects Versions: 1.8.0
>            Reporter: Ryan McMahon
>            Assignee: Ryan McMahon
>            Priority: Major
>              Labels: pull-request-available
>          Time Spent: 3h 40m
>  Remaining Estimate: 0h
> This can occur when:
> 1) Events are added to queuedEvents during message dispatcher initialization
> 2) Events are added to giiQueue while serving initial image to peer
> We have seen this issue when QRM messages are being processed after becoming primary.
 This causes the event to be removed prematurely from the HAContainer, and then the wrapper
is in a bad state (null client update message) when we try to replace the event.

This message was sent by Atlassian JIRA

View raw message