geode-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jason Huynh (JIRA)" <>
Subject [jira] [Assigned] (GEODE-3021) OQL Index isIndexedPdxKeys potential concurrency issue
Date Thu, 01 Jun 2017 20:53:04 GMT


Jason Huynh reassigned GEODE-3021:

    Assignee: Jason Huynh

> OQL Index isIndexedPdxKeys potential concurrency issue
> ------------------------------------------------------
>                 Key: GEODE-3021
>                 URL:
>             Project: Geode
>          Issue Type: Bug
>          Components: querying
>            Reporter: Jason Huynh
>            Assignee: Jason Huynh
> 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

This message was sent by Atlassian JIRA

View raw message