[
https://issues.apache.org/jira/browse/GEODE-7347?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16958524#comment-16958524
]
ASF subversion and git services commented on GEODE-7347:
--------------------------------------------------------
Commit 3a51a80c27c4e811526eb489a305f08647381955 in geode-native's branch
refs/heads/develop from Matthew Reddington
[ https://gitbox.apache.org/repos/asf?p=geode-native.git;h=3a51a80 ]
GEODE-7347: Guarding CacheImpl during Cache move to avoid race condition. (#542)
Co-authored-by: Mike Oleske<[email protected]>
> Race condition between Cache and ClientMetadataService
> ------------------------------------------------------
>
> Key: GEODE-7347
> URL: https://issues.apache.org/jira/browse/GEODE-7347
> Project: Geode
> Issue Type: Bug
> Components: native client
> Reporter: Matthew Reddington
> Assignee: Michael Oleske
> Priority: Major
> Time Spent: 40m
> Remaining Estimate: 0h
>
> It was discovered that the ClientMetadataService would call into CacheImpl,
> which contains a backreference to Cache, and this could occur in the middle
> of a Cache move, where the pimpl pointer was updated, but not the
> backreference.
> The solution will be to guard the pimpl during the move, so the Cache can
> update it's pimpl and the backreference. There exists
> CacheImpl::doIfDestroyNotPending that locks the pimpl while executing a
> function to facilitate this.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)