>From Ian Maxon <[email protected]>:

Ian Maxon has submitted this change. ( 
https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/17410 )

Change subject: [ASTERIXDB-3127][RT] Fix ConcurrentModificationException in 
ANALYZE DATASET
......................................................................

[ASTERIXDB-3127][RT] Fix ConcurrentModificationException in ANALYZE DATASET

- user model changes: no
- storage format changes: no
- interface changes: no

Details:
Move the indexStats out of the descriptor. This being modified between instances
of the pushRuntime created inside was causing the exception.
Also enable an ANALYZE DATASET test that was accidentally left disabled

Change-Id: I7cbff25b14346ca8eca5baa7e0fe8fb1da72f271
Reviewed-on: https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/17410
Tested-by: Jenkins <[email protected]>
Reviewed-by: Ian Maxon <[email protected]>
Reviewed-by: Ali Alsuliman <[email protected]>
Integration-Tests: Jenkins <[email protected]>
---
M 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/ddl/analyze-dataset-with-indexes/analyze-dataset-with-indexes.06.query.sqlpp
M 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/ddl/analyze-dataset-with-indexes/analyze-dataset-with-indexes.04.query.sqlpp
M asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml
M 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/DatasetStreamStatsOperatorDescriptor.java
4 files changed, 32 insertions(+), 4 deletions(-)

Approvals:
  Ian Maxon: Looks good to me, but someone else must approve
  Ali Alsuliman: Looks good to me, approved
  Jenkins: Verified; Verified
  Anon. E. Moose #1000171:




diff --git 
a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/ddl/analyze-dataset-with-indexes/analyze-dataset-with-indexes.04.query.sqlpp
 
b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/ddl/analyze-dataset-with-indexes/analyze-dataset-with-indexes.04.query.sqlpp
index 9c01681..e674c09 100644
--- 
a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/ddl/analyze-dataset-with-indexes/analyze-dataset-with-indexes.04.query.sqlpp
+++ 
b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/ddl/analyze-dataset-with-indexes/analyze-dataset-with-indexes.04.query.sqlpp
@@ -19,6 +19,6 @@

 USE test;

+SELECT t.DatasetName, t.IndexName, t.IndexStructure, 
t.SampleCardinalityTarget, t.SourceCardinality, t.SourceAvgItemSize, 
t.IndexStats
 FROM `Metadata`.`Index` t WHERE t.IndexStructure = "SAMPLE"
-SELECT t.* EXCLUDE DataverseName, SearchKey, IsPrimary, Timestamp, PendingOp, 
SampleSeed
 ORDER BY t.DatasetName, t.IndexName;
\ No newline at end of file
diff --git 
a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/ddl/analyze-dataset-with-indexes/analyze-dataset-with-indexes.06.query.sqlpp
 
b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/ddl/analyze-dataset-with-indexes/analyze-dataset-with-indexes.06.query.sqlpp
index 9c01681..dcb57b2 100644
--- 
a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/ddl/analyze-dataset-with-indexes/analyze-dataset-with-indexes.06.query.sqlpp
+++ 
b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/ddl/analyze-dataset-with-indexes/analyze-dataset-with-indexes.06.query.sqlpp
@@ -19,6 +19,6 @@

 USE test;

+SELECT t.DatasetName, t.IndexName, t.IndexStructure, 
t.SampleCardinalityTarget, t.SourceCardinality, t.SourceAvgItemSize, 
t.IndexStats
 FROM `Metadata`.`Index` t WHERE t.IndexStructure = "SAMPLE"
-SELECT t.* EXCLUDE DataverseName, SearchKey, IsPrimary, Timestamp, PendingOp, 
SampleSeed
-ORDER BY t.DatasetName, t.IndexName;
\ No newline at end of file
+ORDER BY t.DatasetName, t.IndexName;
diff --git 
a/asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml 
b/asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml
index 17df689..31183f3 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml
@@ -4130,6 +4130,11 @@
         <output-dir compare="Text">analyze-dataset-1</output-dir>
       </compilation-unit>
     </test-case>
+    <test-case FilePath="ddl">
+      <compilation-unit name="analyze-dataset-with-indexes">
+        <output-dir compare="Text">analyze-dataset-with-indexes</output-dir>
+      </compilation-unit>
+    </test-case>
     <test-case FilePath="ddl/create-index">
       <compilation-unit name="create-index-1">
         <output-dir compare="Text">create-index-1</output-dir>
diff --git 
a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/DatasetStreamStatsOperatorDescriptor.java
 
b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/DatasetStreamStatsOperatorDescriptor.java
index ba29450..4f2e419 100644
--- 
a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/DatasetStreamStatsOperatorDescriptor.java
+++ 
b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/DatasetStreamStatsOperatorDescriptor.java
@@ -55,7 +55,6 @@
     private final String operatorName;
     private final IIndexDataflowHelperFactory[] indexes;
     private final String[] indexesNames;
-    private Map<String, IndexStats> indexStats;

     public DatasetStreamStatsOperatorDescriptor(IOperatorDescriptorRegistry 
spec, RecordDescriptor rDesc,
             String operatorName, IIndexDataflowHelperFactory[] indexes, 
String[] indexesNames) {
@@ -75,6 +74,7 @@
             private FrameTupleAccessor fta;
             private long totalTupleCount;
             private long totalTupleLength;
+            private Map<String, IndexStats> indexStats;

             @Override
             public void open() throws HyracksDataException {

--
To view, visit https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/17410
To unsubscribe, or for help writing mail filters, visit 
https://asterix-gerrit.ics.uci.edu/settings

Gerrit-Project: asterixdb
Gerrit-Branch: neo
Gerrit-Change-Id: I7cbff25b14346ca8eca5baa7e0fe8fb1da72f271
Gerrit-Change-Number: 17410
Gerrit-PatchSet: 7
Gerrit-Owner: Ian Maxon <[email protected]>
Gerrit-Reviewer: Ali Alsuliman <[email protected]>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Ian Maxon <[email protected]>
Gerrit-Reviewer: Jenkins <[email protected]>
Gerrit-Reviewer: Vijay Sarathy <[email protected]>
Gerrit-Reviewer: Wail Alkowaileet <[email protected]>
Gerrit-MessageType: merged

Reply via email to