Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 9C726200CBE for ; Thu, 1 Jun 2017 22:53:08 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 9B45C160BC4; Thu, 1 Jun 2017 20:53:08 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id DAB7D160BDF for ; Thu, 1 Jun 2017 22:53:07 +0200 (CEST) Received: (qmail 57683 invoked by uid 500); 1 Jun 2017 20:53:07 -0000 Mailing-List: contact dev-help@geode.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@geode.apache.org Delivered-To: mailing list dev@geode.apache.org Received: (qmail 57655 invoked by uid 99); 1 Jun 2017 20:53:07 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd2-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 01 Jun 2017 20:53:07 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd2-us-west.apache.org (ASF Mail Server at spamd2-us-west.apache.org) with ESMTP id A9D371A7A6D for ; Thu, 1 Jun 2017 20:53:06 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd2-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -100.002 X-Spam-Level: X-Spam-Status: No, score=-100.002 tagged_above=-999 required=6.31 tests=[RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001, USER_IN_WHITELIST=-100] autolearn=disabled Received: from mx1-lw-eu.apache.org ([10.40.0.8]) by localhost (spamd2-us-west.apache.org [10.40.0.9]) (amavisd-new, port 10024) with ESMTP id D7qhsBfnx3QY for ; Thu, 1 Jun 2017 20:53:05 +0000 (UTC) Received: from mailrelay1-us-west.apache.org (mailrelay1-us-west.apache.org [209.188.14.139]) by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with ESMTP id 462E95FCBA for ; Thu, 1 Jun 2017 20:53:05 +0000 (UTC) Received: from jira-lw-us.apache.org (unknown [207.244.88.139]) by mailrelay1-us-west.apache.org (ASF Mail Server at mailrelay1-us-west.apache.org) with ESMTP id 827C8E0237 for ; Thu, 1 Jun 2017 20:53:04 +0000 (UTC) Received: from jira-lw-us.apache.org (localhost [127.0.0.1]) by jira-lw-us.apache.org (ASF Mail Server at jira-lw-us.apache.org) with ESMTP id 44A7121B56 for ; Thu, 1 Jun 2017 20:53:04 +0000 (UTC) Date: Thu, 1 Jun 2017 20:53:04 +0000 (UTC) From: "Jason Huynh (JIRA)" To: dev@geode.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Assigned] (GEODE-3021) OQL Index isIndexedPdxKeys potential concurrency issue MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 archived-at: Thu, 01 Jun 2017 20:53:08 -0000 [ https://issues.apache.org/jira/browse/GEODE-3021?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jason Huynh reassigned GEODE-3021: ---------------------------------- Assignee: Jason Huynh > OQL Index isIndexedPdxKeys potential concurrency issue > ------------------------------------------------------ > > Key: GEODE-3021 > URL: https://issues.apache.org/jira/browse/GEODE-3021 > 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 (v6.3.15#6346)