You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@geode.apache.org by "Matthew Reddington (Jira)" <ji...@apache.org> on 2019/10/23 18:57:00 UTC

[jira] [Created] (GEODE-7347) Race condition between Cache and ClientMetadataService

Matthew Reddington created GEODE-7347:
-----------------------------------------

             Summary: 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


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)