Uploaded image for project: 'Geode'
  1. Geode
  2. GEODE-7347

Race condition between Cache and ClientMetadataService

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 1.11.0
    • Component/s: native client
    • Labels:
      None

      Description

      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.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                moleske Michael Oleske
                Reporter:
                mreddington Matthew Reddington
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 40m
                  40m