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

OQL Index isIndexedPdxKeys potential concurrency issue

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 1.2.0
    • querying
    • None

    Description

      The boolean isIndexedPdxKeys is set in a synchronized method. However multiple threads could be making a call to this method, the last caller would set the flag based on it's key, either true or false, but the previous callers could have meant to set it to the opposite.

      This method sets isIndexedPdxKeysFlagSet afterwards and hopes that callers to this method check this flag first. However, again, multiple threads could have checked this flag, seen it as false, and then all attempted to call the synchronized method.

      The solution is to probably check the isIndexedPdxKeysFlagSet flag in the method also. That way, if another thread had already completed setPdxStringFlag(), the next call would be a no-op.

      The current issue will lead to possible class cast exceptions from String to PdxString or vice versa

      Attachments

        Issue Links

          Activity

            People

              jasonhuynh Jason Huynh
              jasonhuynh Jason Huynh
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: