[ https://issues.apache.org/jira/browse/ASTERIXDB-2493?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Wail Alkowaileet updated ASTERIXDB-2493: ---------------------------------------- Description: To reproduce the issue: 1- Setup a cluster with a single NC and a single partition. 2- Set a breakpoint at [LSMComponentFilter.java#L71|https://github.com/apache/asterixdb/blob/6b31f73565a3b16e0dd1fce9ea010e640c53ca79/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/impls/LSMComponentFilter.java#L71] 3- DDL: {code:sql} DROP DATAVERSE ThreadSafe IF EXISTS; CREATE DATAVERSE ThreadSafe; USE ThreadSafe; CREATE TYPE FilterTestType AS { uid: uuid, created: int }; CREATE DATASET FilterTest(FilterTestType) PRIMARY KEY uid AUTOGENERATED WITH FILTER ON created; {code} 4- Initiate two insert queries: {code:sql} USE ThreadSafe; INSERT INTO FilterTest ( {"created": 1} ) INSERT INTO FilterTest ( {"created": 0} ) {code} 5- Let the insert with "created = 0" to update the minTuple (L79) 6- Now, let the insert with "created = 1" to update minTuple 7- Do the same for the max. After (7) both min and max should equal to 1 8- Flush the component: [http://localhost:19002/connector?dataverseName=ThreadSafe&datasetName=FilterTest] 9- Execute search query: {code:sql} USE ThreadSafe; SELECT * FROM FilterTest WHERE created = 0; {code} The query returns an empty result was: To reproduce the issue: 1- Setup a cluster with a single NC and a single partition. 2- Set a breakpoint at [LSMComponentFilter.java#L71]|https://github.com/apache/asterixdb/blob/6b31f73565a3b16e0dd1fce9ea010e640c53ca79/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/impls/LSMComponentFilter.java#L71] 3- DDL: {code:sql} DROP DATAVERSE ThreadSafe IF EXISTS; CREATE DATAVERSE ThreadSafe; USE ThreadSafe; CREATE TYPE FilterTestType AS { uid: uuid, created: int }; CREATE DATASET FilterTest(FilterTestType) PRIMARY KEY uid AUTOGENERATED WITH FILTER ON created; {code} 4- Initiate two insert queries: {code:sql} USE ThreadSafe; INSERT INTO FilterTest ( {"created": 1} ) INSERT INTO FilterTest ( {"created": 0} ) {code} 5- Let the insert with "created = 0" to update the minTuple (L79) 6- Now, let the insert with "created = 1" to update minTuple 7- Do the same for the max. After (7) both min and max should equal to 1 8- Flush the component: http://localhost:19002/connector?dataverseName=ThreadSafe&datasetName=FilterTest 9- Execute search query: {code:sql} USE ThreadSafe; SELECT * FROM FilterTest WHERE created = 0; {code} The query returns an empty result > In-memory LSM filter is not thread safe > --------------------------------------- > > Key: ASTERIXDB-2493 > URL: https://issues.apache.org/jira/browse/ASTERIXDB-2493 > Project: Apache AsterixDB > Issue Type: Bug > Reporter: Wail Alkowaileet > Priority: Major > > To reproduce the issue: > 1- Setup a cluster with a single NC and a single partition. > 2- Set a breakpoint at > [LSMComponentFilter.java#L71|https://github.com/apache/asterixdb/blob/6b31f73565a3b16e0dd1fce9ea010e640c53ca79/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/impls/LSMComponentFilter.java#L71] > 3- DDL: > {code:sql} > DROP DATAVERSE ThreadSafe IF EXISTS; > CREATE DATAVERSE ThreadSafe; > USE ThreadSafe; > CREATE TYPE FilterTestType AS { > uid: uuid, > created: int > }; > CREATE DATASET FilterTest(FilterTestType) > PRIMARY KEY uid AUTOGENERATED WITH FILTER ON created; > {code} > 4- Initiate two insert queries: > {code:sql} > USE ThreadSafe; > INSERT INTO FilterTest ( > {"created": 1} > ) > INSERT INTO FilterTest ( > {"created": 0} > ) > {code} > 5- Let the insert with "created = 0" to update the minTuple (L79) > 6- Now, let the insert with "created = 1" to update minTuple > 7- Do the same for the max. > After (7) both min and max should equal to 1 > 8- Flush the component: > > [http://localhost:19002/connector?dataverseName=ThreadSafe&datasetName=FilterTest] > 9- Execute search query: > {code:sql} > USE ThreadSafe; > SELECT * > FROM FilterTest > WHERE created = 0; > {code} > The query returns an empty result -- This message was sent by Atlassian JIRA (v7.6.3#76005)