You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@asterixdb.apache.org by AsterixDB Code Review <do...@asterix-gerrit.ics.uci.edu> on 2021/09/22 17:17:49 UTC

Change in asterixdb[master]: [ASTERIXDB-2969][TEST] Fix duplicate alias bug in array index RQG que...

From Glenn Galvizo <gg...@uci.edu>:

Glenn Galvizo has uploaded this change for review. ( https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/13343 )


Change subject: [ASTERIXDB-2969][TEST] Fix duplicate alias bug in array index RQG query-gen
......................................................................

[ASTERIXDB-2969][TEST] Fix duplicate alias bug in array index RQG query-gen

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

There was an issue with the query generation portion of the array index
RQG test. This has been fixed by only generating unique endpoint indexed
field names.

Change-Id: I9109210690439fe332b14e7bd79f1b09aa4096bf
---
M asterixdb/asterix-app/src/test/java/org/apache/asterix/test/array/ArrayDataset.java
M asterixdb/asterix-app/src/test/java/org/apache/asterix/test/array/ValueSupplierFactory.java
2 files changed, 13 insertions(+), 3 deletions(-)



  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/43/13343/1

diff --git a/asterixdb/asterix-app/src/test/java/org/apache/asterix/test/array/ArrayDataset.java b/asterixdb/asterix-app/src/test/java/org/apache/asterix/test/array/ArrayDataset.java
index d943953..16088b2 100644
--- a/asterixdb/asterix-app/src/test/java/org/apache/asterix/test/array/ArrayDataset.java
+++ b/asterixdb/asterix-app/src/test/java/org/apache/asterix/test/array/ArrayDataset.java
@@ -38,8 +38,9 @@
     public static final String[] VALUES_FOR_ADDITIONAL_GROUPS = new String[] { "1", "2", "3", "4", "5" };
     public static final String[] VALUES_FOR_ADDITIONAL_FIELDS = new String[] { "1", "2" };
 
-    public static final String[] CONTAINER_OBJECT_NAMES = new String[] { "container_object_1", "container_object_2" };
     public static final String[] CONTAINED_OBJECT_NAMES = new String[] { "contained_object_1", "contained_object_2" };
+    public static final String[] CONTAINER_OBJECT_NAMES = new String[] { "container_object_A", "container_object_B",
+            "container_object_C", "container_object_D", "container_object_E" };
 
     private String fromBaseQuery;
 
diff --git a/asterixdb/asterix-app/src/test/java/org/apache/asterix/test/array/ValueSupplierFactory.java b/asterixdb/asterix-app/src/test/java/org/apache/asterix/test/array/ValueSupplierFactory.java
index efacf78..0d63f12 100644
--- a/asterixdb/asterix-app/src/test/java/org/apache/asterix/test/array/ValueSupplierFactory.java
+++ b/asterixdb/asterix-app/src/test/java/org/apache/asterix/test/array/ValueSupplierFactory.java
@@ -44,6 +44,7 @@
 
     private class BaseArrayIndexValueSupplier extends ArrayIndex.Builder.ValueSupplier {
         private final Set<BaseWisconsinTable.Field> consumedFields = new LinkedHashSet<>();
+        private final Set<String> consumedContainedNames = new LinkedHashSet<>();
 
         @Override
         public BaseWisconsinTable.Field getAtomicBaseField() {
@@ -78,8 +79,16 @@
             }
             fieldName.add(baseField.fieldName);
             if (randomGenerator.nextBoolean()) {
-                int index = randomGenerator.nextInt(ArrayDataset.CONTAINED_OBJECT_NAMES.length);
-                fieldName.add(ArrayDataset.CONTAINED_OBJECT_NAMES[index]);
+                // Three tries to generate a unique contained name. Otherwise, we default to no contained name.
+                for (int i = 0; i < 3; i++) {
+                    int index = randomGenerator.nextInt(ArrayDataset.CONTAINED_OBJECT_NAMES.length);
+                    String containedName = ArrayDataset.CONTAINED_OBJECT_NAMES[index];
+                    if (!consumedContainedNames.contains(containedName)) {
+                        fieldName.add(containedName);
+                        consumedContainedNames.add(containedName);
+                        break;
+                    }
+                }
             }
             return fieldName;
         }

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

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Change-Id: I9109210690439fe332b14e7bd79f1b09aa4096bf
Gerrit-Change-Number: 13343
Gerrit-PatchSet: 1
Gerrit-Owner: Glenn Galvizo <gg...@uci.edu>
Gerrit-MessageType: newchange

Change in asterixdb[master]: [ASTERIXDB-2969][TEST] Fix duplicate alias bug in array index RQG que...

Posted by AsterixDB Code Review <do...@asterix-gerrit.ics.uci.edu>.
From Glenn Galvizo <gg...@uci.edu>:

Glenn Galvizo has submitted this change. ( https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/13343 )

Change subject: [ASTERIXDB-2969][TEST] Fix duplicate alias bug in array index RQG query-gen
......................................................................

[ASTERIXDB-2969][TEST] Fix duplicate alias bug in array index RQG query-gen

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

There was an issue with the query generation portion of the array index
RQG test. This has been fixed by only generating unique endpoint indexed
field names.

Change-Id: I9109210690439fe332b14e7bd79f1b09aa4096bf
Reviewed-on: https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/13343
Reviewed-by: Ian Maxon <im...@uci.edu>
Tested-by: Jenkins <je...@fulliautomatix.ics.uci.edu>
Integration-Tests: Jenkins <je...@fulliautomatix.ics.uci.edu>
---
M asterixdb/asterix-app/src/test/java/org/apache/asterix/test/array/ArrayDataset.java
M asterixdb/asterix-app/src/test/java/org/apache/asterix/test/array/ValueSupplierFactory.java
2 files changed, 13 insertions(+), 3 deletions(-)

Approvals:
  Ian Maxon: Looks good to me, approved
  Jenkins: Verified; Verified



diff --git a/asterixdb/asterix-app/src/test/java/org/apache/asterix/test/array/ArrayDataset.java b/asterixdb/asterix-app/src/test/java/org/apache/asterix/test/array/ArrayDataset.java
index d943953..16088b2 100644
--- a/asterixdb/asterix-app/src/test/java/org/apache/asterix/test/array/ArrayDataset.java
+++ b/asterixdb/asterix-app/src/test/java/org/apache/asterix/test/array/ArrayDataset.java
@@ -38,8 +38,9 @@
     public static final String[] VALUES_FOR_ADDITIONAL_GROUPS = new String[] { "1", "2", "3", "4", "5" };
     public static final String[] VALUES_FOR_ADDITIONAL_FIELDS = new String[] { "1", "2" };
 
-    public static final String[] CONTAINER_OBJECT_NAMES = new String[] { "container_object_1", "container_object_2" };
     public static final String[] CONTAINED_OBJECT_NAMES = new String[] { "contained_object_1", "contained_object_2" };
+    public static final String[] CONTAINER_OBJECT_NAMES = new String[] { "container_object_A", "container_object_B",
+            "container_object_C", "container_object_D", "container_object_E" };
 
     private String fromBaseQuery;
 
diff --git a/asterixdb/asterix-app/src/test/java/org/apache/asterix/test/array/ValueSupplierFactory.java b/asterixdb/asterix-app/src/test/java/org/apache/asterix/test/array/ValueSupplierFactory.java
index efacf78..0d63f12 100644
--- a/asterixdb/asterix-app/src/test/java/org/apache/asterix/test/array/ValueSupplierFactory.java
+++ b/asterixdb/asterix-app/src/test/java/org/apache/asterix/test/array/ValueSupplierFactory.java
@@ -44,6 +44,7 @@
 
     private class BaseArrayIndexValueSupplier extends ArrayIndex.Builder.ValueSupplier {
         private final Set<BaseWisconsinTable.Field> consumedFields = new LinkedHashSet<>();
+        private final Set<String> consumedContainedNames = new LinkedHashSet<>();
 
         @Override
         public BaseWisconsinTable.Field getAtomicBaseField() {
@@ -78,8 +79,16 @@
             }
             fieldName.add(baseField.fieldName);
             if (randomGenerator.nextBoolean()) {
-                int index = randomGenerator.nextInt(ArrayDataset.CONTAINED_OBJECT_NAMES.length);
-                fieldName.add(ArrayDataset.CONTAINED_OBJECT_NAMES[index]);
+                // Three tries to generate a unique contained name. Otherwise, we default to no contained name.
+                for (int i = 0; i < 3; i++) {
+                    int index = randomGenerator.nextInt(ArrayDataset.CONTAINED_OBJECT_NAMES.length);
+                    String containedName = ArrayDataset.CONTAINED_OBJECT_NAMES[index];
+                    if (!consumedContainedNames.contains(containedName)) {
+                        fieldName.add(containedName);
+                        consumedContainedNames.add(containedName);
+                        break;
+                    }
+                }
             }
             return fieldName;
         }

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

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Change-Id: I9109210690439fe332b14e7bd79f1b09aa4096bf
Gerrit-Change-Number: 13343
Gerrit-PatchSet: 2
Gerrit-Owner: Glenn Galvizo <gg...@uci.edu>
Gerrit-Reviewer: Glenn Galvizo <gg...@uci.edu>
Gerrit-Reviewer: Ian Maxon <im...@uci.edu>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-CC: Anon. E. Moose #1000171
Gerrit-MessageType: merged

Change in asterixdb[master]: [ASTERIXDB-2969][TEST] Fix duplicate alias bug in array index RQG que...

Posted by AsterixDB Code Review <do...@asterix-gerrit.ics.uci.edu>.
From Glenn Galvizo <gg...@uci.edu>:

Glenn Galvizo has uploaded this change for review. ( https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/13343 )


Change subject: [ASTERIXDB-2969][TEST] Fix duplicate alias bug in array index RQG query-gen
......................................................................

[ASTERIXDB-2969][TEST] Fix duplicate alias bug in array index RQG query-gen

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

There was an issue with the query generation portion of the array index
RQG test. This has been fixed by only generating unique endpoint indexed
field names.

Change-Id: I9109210690439fe332b14e7bd79f1b09aa4096bf
---
M asterixdb/asterix-app/src/test/java/org/apache/asterix/test/array/ArrayDataset.java
M asterixdb/asterix-app/src/test/java/org/apache/asterix/test/array/ValueSupplierFactory.java
2 files changed, 13 insertions(+), 3 deletions(-)



  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/43/13343/1

diff --git a/asterixdb/asterix-app/src/test/java/org/apache/asterix/test/array/ArrayDataset.java b/asterixdb/asterix-app/src/test/java/org/apache/asterix/test/array/ArrayDataset.java
index d943953..16088b2 100644
--- a/asterixdb/asterix-app/src/test/java/org/apache/asterix/test/array/ArrayDataset.java
+++ b/asterixdb/asterix-app/src/test/java/org/apache/asterix/test/array/ArrayDataset.java
@@ -38,8 +38,9 @@
     public static final String[] VALUES_FOR_ADDITIONAL_GROUPS = new String[] { "1", "2", "3", "4", "5" };
     public static final String[] VALUES_FOR_ADDITIONAL_FIELDS = new String[] { "1", "2" };
 
-    public static final String[] CONTAINER_OBJECT_NAMES = new String[] { "container_object_1", "container_object_2" };
     public static final String[] CONTAINED_OBJECT_NAMES = new String[] { "contained_object_1", "contained_object_2" };
+    public static final String[] CONTAINER_OBJECT_NAMES = new String[] { "container_object_A", "container_object_B",
+            "container_object_C", "container_object_D", "container_object_E" };
 
     private String fromBaseQuery;
 
diff --git a/asterixdb/asterix-app/src/test/java/org/apache/asterix/test/array/ValueSupplierFactory.java b/asterixdb/asterix-app/src/test/java/org/apache/asterix/test/array/ValueSupplierFactory.java
index efacf78..0d63f12 100644
--- a/asterixdb/asterix-app/src/test/java/org/apache/asterix/test/array/ValueSupplierFactory.java
+++ b/asterixdb/asterix-app/src/test/java/org/apache/asterix/test/array/ValueSupplierFactory.java
@@ -44,6 +44,7 @@
 
     private class BaseArrayIndexValueSupplier extends ArrayIndex.Builder.ValueSupplier {
         private final Set<BaseWisconsinTable.Field> consumedFields = new LinkedHashSet<>();
+        private final Set<String> consumedContainedNames = new LinkedHashSet<>();
 
         @Override
         public BaseWisconsinTable.Field getAtomicBaseField() {
@@ -78,8 +79,16 @@
             }
             fieldName.add(baseField.fieldName);
             if (randomGenerator.nextBoolean()) {
-                int index = randomGenerator.nextInt(ArrayDataset.CONTAINED_OBJECT_NAMES.length);
-                fieldName.add(ArrayDataset.CONTAINED_OBJECT_NAMES[index]);
+                // Three tries to generate a unique contained name. Otherwise, we default to no contained name.
+                for (int i = 0; i < 3; i++) {
+                    int index = randomGenerator.nextInt(ArrayDataset.CONTAINED_OBJECT_NAMES.length);
+                    String containedName = ArrayDataset.CONTAINED_OBJECT_NAMES[index];
+                    if (!consumedContainedNames.contains(containedName)) {
+                        fieldName.add(containedName);
+                        consumedContainedNames.add(containedName);
+                        break;
+                    }
+                }
             }
             return fieldName;
         }

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

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Change-Id: I9109210690439fe332b14e7bd79f1b09aa4096bf
Gerrit-Change-Number: 13343
Gerrit-PatchSet: 1
Gerrit-Owner: Glenn Galvizo <gg...@uci.edu>
Gerrit-MessageType: newchange