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 2026/08/20 04:11:31 UTC
[L] Change in asterixdb[master]: [ASTERIXDB-3771][TEST] Compare full plans in vector index tests
From Ali Alsuliman <al...@gmail.com>:
Ali Alsuliman has uploaded this change for review. ( https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/21584?usp=email )
Change subject: [ASTERIXDB-3771][TEST] Compare full plans in vector index tests
......................................................................
[ASTERIXDB-3771][TEST] Compare full plans in vector index tests
- user model changes: no
- storage format changes: no
- interface changes: no
Ext-ref: MB-73194, MB-72975
Co-Authored-By: Claude Opus 5 <no...@anthropic.com>
Change-Id: I0a1381c16ed22808d13e03aa4b7126e5d82fa070
---
A asterixdb/asterix-app/src/test/resources/runtimets/results/vector/create-index-vtree-composite-pk/create-index-vtree-composite-pk.5.plan
D asterixdb/asterix-app/src/test/resources/runtimets/results/vector/create-index-vtree-composite-pk/create-index-vtree-composite-pk.5.regex
A asterixdb/asterix-app/src/test/resources/runtimets/results/vector/create-index-vtree-meta-pk/create-index-vtree-meta-pk.7.plan
D asterixdb/asterix-app/src/test/resources/runtimets/results/vector/create-index-vtree-meta-pk/create-index-vtree-meta-pk.7.regex
A asterixdb/asterix-app/src/test/resources/runtimets/results/vector/create-index-vtree-nested/create-index-vtree-nested.5.plan
D asterixdb/asterix-app/src/test/resources/runtimets/results/vector/create-index-vtree-nested/create-index-vtree-nested.5.regex
A asterixdb/asterix-app/src/test/resources/runtimets/results/vector/create-index-vtree-open-undeclared/create-index-vtree-open-undeclared.6.plan
D asterixdb/asterix-app/src/test/resources/runtimets/results/vector/create-index-vtree-open-undeclared/create-index-vtree-open-undeclared.6.regex
A asterixdb/asterix-app/src/test/resources/runtimets/results/vector/create-index-vtree/create-index-vtree.7.plan
D asterixdb/asterix-app/src/test/resources/runtimets/results/vector/create-index-vtree/create-index-vtree.7.regex
A asterixdb/asterix-app/src/test/resources/runtimets/results/vector/create-index-vtree/create-index-vtree.8.plan
D asterixdb/asterix-app/src/test/resources/runtimets/results/vector/create-index-vtree/create-index-vtree.8.regex
A asterixdb/asterix-app/src/test/resources/runtimets/results/vector/create-index-vtree/create-index-vtree.9.plan
D asterixdb/asterix-app/src/test/resources/runtimets/results/vector/create-index-vtree/create-index-vtree.9.regex
A asterixdb/asterix-app/src/test/resources/runtimets/results_full_parallelism/vector/create-index-vtree/create-index-vtree.8.plan
A asterixdb/asterix-app/src/test/resources/runtimets/results_full_parallelism/vector/create-index-vtree/create-index-vtree.9.plan
A asterixdb/asterix-app/src/test/resources/runtimets/results_less_parallelism/vector/create-index-vtree/create-index-vtree.8.plan
A asterixdb/asterix-app/src/test/resources/runtimets/results_less_parallelism/vector/create-index-vtree/create-index-vtree.9.plan
18 files changed, 328 insertions(+), 7 deletions(-)
git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/84/21584/1
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/vector/create-index-vtree-composite-pk/create-index-vtree-composite-pk.5.plan b/asterixdb/asterix-app/src/test/resources/runtimets/results/vector/create-index-vtree-composite-pk/create-index-vtree-composite-pk.5.plan
new file mode 100644
index 0000000..a09f286d
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/vector/create-index-vtree-composite-pk/create-index-vtree-composite-pk.5.plan
@@ -0,0 +1,42 @@
+distribute result [$$21] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+-- DISTRIBUTE_RESULT |UNPARTITIONED|
+ exchange [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- ONE_TO_ONE_EXCHANGE |UNPARTITIONED|
+ limit 3 [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STREAM_LIMIT |UNPARTITIONED|
+ project ([$$21]) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STREAM_PROJECT |PARTITIONED|
+ exchange [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- SORT_MERGE_EXCHANGE [$$25(ASC) ] |PARTITIONED|
+ limit 3 [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STREAM_LIMIT |PARTITIONED|
+ exchange [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
+ order (topK: 3) (ASC, $$25) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STABLE_SORT [topK: 3] [$$25(ASC)] |PARTITIONED|
+ exchange [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
+ assign [$$25, $$21] <- [euclidean-distance($$m.getField(4), array: [ 0.0, 0.0, 0.0, 0.0 ]), ordered-list-constructor($$26, $$27, $$m.getField(3))] project: [$$21, $$25] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- ASSIGN |PARTITIONED|
+ exchange [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
+ unnest-map [$$26, $$27, $$m] <- index-search("MovieCpk", 0, "Default", "testcpk", "MovieCpk", false, false, 2, $$38, $$39, 2, $$38, $$39, true, true, true) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- BTREE_SEARCH |PARTITIONED|
+ exchange [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
+ order (ASC, $$38) (ASC, $$39) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STABLE_SORT [$$38(ASC), $$39(ASC)] |PARTITIONED|
+ exchange [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
+ project ([$$38, $$39]) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STREAM_PROJECT |PARTITIONED|
+ exchange [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
+ unnest-map [$$38, $$39, $$40] <- index-search("idx_cpk_emb", 8, "Default", "testcpk", "MovieCpk", false, false, false, 5, $$33, $$34, $$35, $$36, $$37) condition (gt($$40, 2000)) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- VECTOR_SEARCH |PARTITIONED|
+ exchange [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
+ assign [$$33, $$34, $$35, $$36, $$37] <- [array: [ 0.0, 0.0, 0.0, 0.0 ], 3, "euclidean", 1.0, 1] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- ASSIGN |PARTITIONED|
+ empty-tuple-source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- EMPTY_TUPLE_SOURCE |PARTITIONED|
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/vector/create-index-vtree-composite-pk/create-index-vtree-composite-pk.5.regex b/asterixdb/asterix-app/src/test/resources/runtimets/results/vector/create-index-vtree-composite-pk/create-index-vtree-composite-pk.5.regex
deleted file mode 100644
index ee8b6e5..0000000
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/vector/create-index-vtree-composite-pk/create-index-vtree-composite-pk.5.regex
+++ /dev/null
@@ -1 +0,0 @@
-/(?s).*index-search\("idx_cpk_emb"[^\n]*condition \(gt\(\$\$\d+, 2000\)\).*/
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/vector/create-index-vtree-meta-pk/create-index-vtree-meta-pk.7.plan b/asterixdb/asterix-app/src/test/resources/runtimets/results/vector/create-index-vtree-meta-pk/create-index-vtree-meta-pk.7.plan
new file mode 100644
index 0000000..b5224ee
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/vector/create-index-vtree-meta-pk/create-index-vtree-meta-pk.7.plan
@@ -0,0 +1,40 @@
+distribute result [$$16] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+-- DISTRIBUTE_RESULT |UNPARTITIONED|
+ exchange [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- ONE_TO_ONE_EXCHANGE |UNPARTITIONED|
+ limit 3 [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STREAM_LIMIT |UNPARTITIONED|
+ project ([$$16]) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STREAM_PROJECT |PARTITIONED|
+ exchange [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- SORT_MERGE_EXCHANGE [$$20(ASC) ] |PARTITIONED|
+ limit 3 [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STREAM_LIMIT |PARTITIONED|
+ exchange [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
+ order (topK: 3) (ASC, $$20) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STABLE_SORT [topK: 3] [$$20(ASC)] |PARTITIONED|
+ exchange [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
+ assign [$$20, $$16] <- [euclidean-distance($$m.getField(0), array: [ 0.0, 0.0, 0.0, 0.0 ]), $$m.getField("id")] project: [$$16, $$20] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- ASSIGN |PARTITIONED|
+ project ([$$m]) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STREAM_PROJECT |PARTITIONED|
+ exchange [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
+ unnest-map [$$21, $$m, $$22] <- index-search("VecMeta", 0, "Default", "test", "VecMeta", false, false, 1, $$29, 1, $$29, true, true, true) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- BTREE_SEARCH |PARTITIONED|
+ exchange [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
+ order (ASC, $$29) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STABLE_SORT [$$29(ASC)] |PARTITIONED|
+ exchange [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
+ unnest-map [$$29] <- index-search("idx_emb", 8, "Default", "test", "VecMeta", false, false, false, 5, $$24, $$25, $$26, $$27, $$28) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- VECTOR_SEARCH |PARTITIONED|
+ exchange [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
+ assign [$$24, $$25, $$26, $$27, $$28] <- [array: [ 0.0, 0.0, 0.0, 0.0 ], 3, "euclidean", 1.0, 1] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- ASSIGN |PARTITIONED|
+ empty-tuple-source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- EMPTY_TUPLE_SOURCE |PARTITIONED|
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/vector/create-index-vtree-meta-pk/create-index-vtree-meta-pk.7.regex b/asterixdb/asterix-app/src/test/resources/runtimets/results/vector/create-index-vtree-meta-pk/create-index-vtree-meta-pk.7.regex
deleted file mode 100644
index 2641d57..0000000
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/vector/create-index-vtree-meta-pk/create-index-vtree-meta-pk.7.regex
+++ /dev/null
@@ -1 +0,0 @@
-/(?s).*idx_emb.*/
\ No newline at end of file
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/vector/create-index-vtree-nested/create-index-vtree-nested.5.plan b/asterixdb/asterix-app/src/test/resources/runtimets/results/vector/create-index-vtree-nested/create-index-vtree-nested.5.plan
new file mode 100644
index 0000000..061eb3c
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/vector/create-index-vtree-nested/create-index-vtree-nested.5.plan
@@ -0,0 +1,26 @@
+distribute result [$$30] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+-- DISTRIBUTE_RESULT |UNPARTITIONED|
+ exchange [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- ONE_TO_ONE_EXCHANGE |UNPARTITIONED|
+ limit 3 [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STREAM_LIMIT |UNPARTITIONED|
+ project ([$$30]) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STREAM_PROJECT |PARTITIONED|
+ exchange [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- SORT_MERGE_EXCHANGE [$$31(ASC) ] |PARTITIONED|
+ limit 3 [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STREAM_LIMIT |PARTITIONED|
+ exchange [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
+ order (topK: 3) (ASC, $$31) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STABLE_SORT [topK: 3] [$$31(ASC)] |PARTITIONED|
+ exchange [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
+ unnest-map [$$30, $$31] <- index-search("idx_emb", 8, "Default", "test", "MovieNested", false, false, true, 5, $$25, $$26, $$27, $$28, $$29) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- VECTOR_SEARCH |PARTITIONED|
+ exchange [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
+ assign [$$25, $$26, $$27, $$28, $$29] <- [array: [ 0.0, 0.0, 0.0, 0.0 ], 3, "euclidean", 1.0, 1] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- ASSIGN |PARTITIONED|
+ empty-tuple-source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- EMPTY_TUPLE_SOURCE |PARTITIONED|
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/vector/create-index-vtree-nested/create-index-vtree-nested.5.regex b/asterixdb/asterix-app/src/test/resources/runtimets/results/vector/create-index-vtree-nested/create-index-vtree-nested.5.regex
deleted file mode 100644
index 2641d57..0000000
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/vector/create-index-vtree-nested/create-index-vtree-nested.5.regex
+++ /dev/null
@@ -1 +0,0 @@
-/(?s).*idx_emb.*/
\ No newline at end of file
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/vector/create-index-vtree-open-undeclared/create-index-vtree-open-undeclared.6.plan b/asterixdb/asterix-app/src/test/resources/runtimets/results/vector/create-index-vtree-open-undeclared/create-index-vtree-open-undeclared.6.plan
new file mode 100644
index 0000000..f36ce4b
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/vector/create-index-vtree-open-undeclared/create-index-vtree-open-undeclared.6.plan
@@ -0,0 +1,26 @@
+distribute result [$$28] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+-- DISTRIBUTE_RESULT |UNPARTITIONED|
+ exchange [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- ONE_TO_ONE_EXCHANGE |UNPARTITIONED|
+ limit 3 [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STREAM_LIMIT |UNPARTITIONED|
+ project ([$$28]) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STREAM_PROJECT |PARTITIONED|
+ exchange [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- SORT_MERGE_EXCHANGE [$$29(ASC) ] |PARTITIONED|
+ limit 3 [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STREAM_LIMIT |PARTITIONED|
+ exchange [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
+ order (topK: 3) (ASC, $$29) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STABLE_SORT [topK: 3] [$$29(ASC)] |PARTITIONED|
+ exchange [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
+ unnest-map [$$28, $$29] <- index-search("idx_emb", 8, "Default", "test", "MovieOpen", false, false, true, 5, $$23, $$24, $$25, $$26, $$27) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- VECTOR_SEARCH |PARTITIONED|
+ exchange [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
+ assign [$$23, $$24, $$25, $$26, $$27] <- [array: [ 0.0, 0.0, 0.0, 0.0 ], 3, "euclidean", 1.0, 1] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- ASSIGN |PARTITIONED|
+ empty-tuple-source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- EMPTY_TUPLE_SOURCE |PARTITIONED|
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/vector/create-index-vtree-open-undeclared/create-index-vtree-open-undeclared.6.regex b/asterixdb/asterix-app/src/test/resources/runtimets/results/vector/create-index-vtree-open-undeclared/create-index-vtree-open-undeclared.6.regex
deleted file mode 100644
index 2641d57..0000000
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/vector/create-index-vtree-open-undeclared/create-index-vtree-open-undeclared.6.regex
+++ /dev/null
@@ -1 +0,0 @@
-/(?s).*idx_emb.*/
\ No newline at end of file
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/vector/create-index-vtree/create-index-vtree.7.plan b/asterixdb/asterix-app/src/test/resources/runtimets/results/vector/create-index-vtree/create-index-vtree.7.plan
new file mode 100644
index 0000000..bb7d892
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/vector/create-index-vtree/create-index-vtree.7.plan
@@ -0,0 +1,26 @@
+distribute result [$$28] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+-- DISTRIBUTE_RESULT |UNPARTITIONED|
+ exchange [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- ONE_TO_ONE_EXCHANGE |UNPARTITIONED|
+ limit 3 [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STREAM_LIMIT |UNPARTITIONED|
+ project ([$$28]) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STREAM_PROJECT |PARTITIONED|
+ exchange [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- SORT_MERGE_EXCHANGE [$$29(ASC) ] |PARTITIONED|
+ limit 3 [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STREAM_LIMIT |PARTITIONED|
+ exchange [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
+ order (topK: 3) (ASC, $$29) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STABLE_SORT [topK: 3] [$$29(ASC)] |PARTITIONED|
+ exchange [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
+ unnest-map [$$28, $$29] <- index-search("idx_emb", 8, "Default", "test", "MovieSmall", false, false, true, 5, $$23, $$24, $$25, $$26, $$27) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- VECTOR_SEARCH |PARTITIONED|
+ exchange [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
+ assign [$$23, $$24, $$25, $$26, $$27] <- [array: [ 0.0, 0.0, 0.0, 0.0 ], 3, "euclidean", 1.0, 1] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- ASSIGN |PARTITIONED|
+ empty-tuple-source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- EMPTY_TUPLE_SOURCE |PARTITIONED|
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/vector/create-index-vtree/create-index-vtree.7.regex b/asterixdb/asterix-app/src/test/resources/runtimets/results/vector/create-index-vtree/create-index-vtree.7.regex
deleted file mode 100644
index 2641d57..0000000
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/vector/create-index-vtree/create-index-vtree.7.regex
+++ /dev/null
@@ -1 +0,0 @@
-/(?s).*idx_emb.*/
\ No newline at end of file
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/vector/create-index-vtree/create-index-vtree.8.plan b/asterixdb/asterix-app/src/test/resources/runtimets/results/vector/create-index-vtree/create-index-vtree.8.plan
new file mode 100644
index 0000000..c7ccd30
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/vector/create-index-vtree/create-index-vtree.8.plan
@@ -0,0 +1,28 @@
+distribute result [$$21] [cardinality: 30.0, doc-size: 0.0, op-cost: 0.0, total-cost: 15.02]
+-- DISTRIBUTE_RESULT |UNPARTITIONED|
+ exchange [cardinality: 30.0, doc-size: 0.0, op-cost: 0.0, total-cost: 15.02]
+ -- ONE_TO_ONE_EXCHANGE |UNPARTITIONED|
+ limit 3 [cardinality: 30.0, doc-size: 0.0, op-cost: 0.0, total-cost: 15.02]
+ -- STREAM_LIMIT |UNPARTITIONED|
+ project ([$$21]) [cardinality: 30.0, doc-size: 0.0, op-cost: 0.0, total-cost: 15.02]
+ -- STREAM_PROJECT |PARTITIONED|
+ exchange [cardinality: 30.0, doc-size: 0.0, op-cost: 0.0, total-cost: 15.02]
+ -- SORT_MERGE_EXCHANGE [$$20(DESC) ] |PARTITIONED|
+ limit 3 [cardinality: 30.0, doc-size: 0.0, op-cost: 0.0, total-cost: 15.02]
+ -- STREAM_LIMIT |PARTITIONED|
+ exchange [cardinality: 30.0, doc-size: 0.0, op-cost: 0.0, total-cost: 15.02]
+ -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
+ order (topK: 3) (DESC, $$20) [cardinality: 30.0, doc-size: 0.0, op-cost: 0.0, total-cost: 15.02]
+ -- STABLE_SORT [topK: 3] [$$20(DESC)] |PARTITIONED|
+ exchange [cardinality: 30.0, doc-size: 0.0, op-cost: 0.0, total-cost: 15.02]
+ -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
+ assign [$$20] <- [euclidean-distance($$m.getField(1), array: [ 0.0, 0.0, 0.0, 0.0 ])] project: [$$21, $$20] [cardinality: 30.0, doc-size: 0.0, op-cost: 0.0, total-cost: 15.02]
+ -- ASSIGN |PARTITIONED|
+ exchange [cardinality: 30.0, doc-size: 0.0, op-cost: 0.0, total-cost: 15.02]
+ -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
+ data-scan []<-[$$21, $$m] <- test.MovieSmall [cardinality: 30.0, doc-size: 0.0, op-cost: 0.0, total-cost: 15.02]
+ -- DATASOURCE_SCAN |PARTITIONED|
+ exchange [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
+ empty-tuple-source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- EMPTY_TUPLE_SOURCE |PARTITIONED|
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/vector/create-index-vtree/create-index-vtree.8.regex b/asterixdb/asterix-app/src/test/resources/runtimets/results/vector/create-index-vtree/create-index-vtree.8.regex
deleted file mode 100644
index 538f507..0000000
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/vector/create-index-vtree/create-index-vtree.8.regex
+++ /dev/null
@@ -1 +0,0 @@
-/(?s)^(?!.*idx_emb).*$/
\ No newline at end of file
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/vector/create-index-vtree/create-index-vtree.9.plan b/asterixdb/asterix-app/src/test/resources/runtimets/results/vector/create-index-vtree/create-index-vtree.9.plan
new file mode 100644
index 0000000..06d0b4a
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/vector/create-index-vtree/create-index-vtree.9.plan
@@ -0,0 +1,28 @@
+distribute result [$$21] [cardinality: 30.0, doc-size: 0.0, op-cost: 0.0, total-cost: 15.02]
+-- DISTRIBUTE_RESULT |UNPARTITIONED|
+ exchange [cardinality: 30.0, doc-size: 0.0, op-cost: 0.0, total-cost: 15.02]
+ -- ONE_TO_ONE_EXCHANGE |UNPARTITIONED|
+ limit 3 [cardinality: 30.0, doc-size: 0.0, op-cost: 0.0, total-cost: 15.02]
+ -- STREAM_LIMIT |UNPARTITIONED|
+ project ([$$21]) [cardinality: 30.0, doc-size: 0.0, op-cost: 0.0, total-cost: 15.02]
+ -- STREAM_PROJECT |PARTITIONED|
+ exchange [cardinality: 30.0, doc-size: 0.0, op-cost: 0.0, total-cost: 15.02]
+ -- SORT_MERGE_EXCHANGE [$$20(ASC) ] |PARTITIONED|
+ limit 3 [cardinality: 30.0, doc-size: 0.0, op-cost: 0.0, total-cost: 15.02]
+ -- STREAM_LIMIT |PARTITIONED|
+ exchange [cardinality: 30.0, doc-size: 0.0, op-cost: 0.0, total-cost: 15.02]
+ -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
+ order (topK: 3) (ASC, $$20) [cardinality: 30.0, doc-size: 0.0, op-cost: 0.0, total-cost: 15.02]
+ -- STABLE_SORT [topK: 3] [$$20(ASC)] |PARTITIONED|
+ exchange [cardinality: 30.0, doc-size: 0.0, op-cost: 0.0, total-cost: 15.02]
+ -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
+ assign [$$20] <- [euclidean-distance($$m.getField(1), array: [ 0.0, 0.0, 0.0, 0.0 ])] project: [$$21, $$20] [cardinality: 30.0, doc-size: 0.0, op-cost: 0.0, total-cost: 15.02]
+ -- ASSIGN |PARTITIONED|
+ exchange [cardinality: 30.0, doc-size: 0.0, op-cost: 0.0, total-cost: 15.02]
+ -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
+ data-scan []<-[$$21, $$m] <- test.MovieSmall [cardinality: 30.0, doc-size: 0.0, op-cost: 0.0, total-cost: 15.02]
+ -- DATASOURCE_SCAN |PARTITIONED|
+ exchange [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
+ empty-tuple-source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- EMPTY_TUPLE_SOURCE |PARTITIONED|
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/vector/create-index-vtree/create-index-vtree.9.regex b/asterixdb/asterix-app/src/test/resources/runtimets/results/vector/create-index-vtree/create-index-vtree.9.regex
deleted file mode 100644
index 538f507..0000000
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/vector/create-index-vtree/create-index-vtree.9.regex
+++ /dev/null
@@ -1 +0,0 @@
-/(?s)^(?!.*idx_emb).*$/
\ No newline at end of file
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_full_parallelism/vector/create-index-vtree/create-index-vtree.8.plan b/asterixdb/asterix-app/src/test/resources/runtimets/results_full_parallelism/vector/create-index-vtree/create-index-vtree.8.plan
new file mode 100644
index 0000000..a242dbf
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_full_parallelism/vector/create-index-vtree/create-index-vtree.8.plan
@@ -0,0 +1,28 @@
+distribute result [$$21] [cardinality: 30.0, doc-size: 0.0, op-cost: 0.0, total-cost: 3.0]
+-- DISTRIBUTE_RESULT |UNPARTITIONED|
+ exchange [cardinality: 30.0, doc-size: 0.0, op-cost: 0.0, total-cost: 3.0]
+ -- ONE_TO_ONE_EXCHANGE |UNPARTITIONED|
+ limit 3 [cardinality: 30.0, doc-size: 0.0, op-cost: 0.0, total-cost: 3.0]
+ -- STREAM_LIMIT |UNPARTITIONED|
+ project ([$$21]) [cardinality: 30.0, doc-size: 0.0, op-cost: 0.0, total-cost: 3.0]
+ -- STREAM_PROJECT |PARTITIONED|
+ exchange [cardinality: 30.0, doc-size: 0.0, op-cost: 0.0, total-cost: 3.0]
+ -- SORT_MERGE_EXCHANGE [$$20(DESC) ] |PARTITIONED|
+ limit 3 [cardinality: 30.0, doc-size: 0.0, op-cost: 0.0, total-cost: 3.0]
+ -- STREAM_LIMIT |PARTITIONED|
+ exchange [cardinality: 30.0, doc-size: 0.0, op-cost: 0.0, total-cost: 3.0]
+ -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
+ order (topK: 3) (DESC, $$20) [cardinality: 30.0, doc-size: 0.0, op-cost: 0.0, total-cost: 3.0]
+ -- STABLE_SORT [topK: 3] [$$20(DESC)] |PARTITIONED|
+ exchange [cardinality: 30.0, doc-size: 0.0, op-cost: 0.0, total-cost: 3.0]
+ -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
+ assign [$$20] <- [euclidean-distance($$m.getField(1), array: [ 0.0, 0.0, 0.0, 0.0 ])] project: [$$21, $$20] [cardinality: 30.0, doc-size: 0.0, op-cost: 0.0, total-cost: 3.0]
+ -- ASSIGN |PARTITIONED|
+ exchange [cardinality: 30.0, doc-size: 0.0, op-cost: 0.0, total-cost: 3.0]
+ -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
+ data-scan []<-[$$21, $$m] <- test.MovieSmall [cardinality: 30.0, doc-size: 0.0, op-cost: 0.0, total-cost: 3.0]
+ -- DATASOURCE_SCAN |PARTITIONED|
+ exchange [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
+ empty-tuple-source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- EMPTY_TUPLE_SOURCE |PARTITIONED|
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_full_parallelism/vector/create-index-vtree/create-index-vtree.9.plan b/asterixdb/asterix-app/src/test/resources/runtimets/results_full_parallelism/vector/create-index-vtree/create-index-vtree.9.plan
new file mode 100644
index 0000000..339235c
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_full_parallelism/vector/create-index-vtree/create-index-vtree.9.plan
@@ -0,0 +1,28 @@
+distribute result [$$21] [cardinality: 30.0, doc-size: 0.0, op-cost: 0.0, total-cost: 3.0]
+-- DISTRIBUTE_RESULT |UNPARTITIONED|
+ exchange [cardinality: 30.0, doc-size: 0.0, op-cost: 0.0, total-cost: 3.0]
+ -- ONE_TO_ONE_EXCHANGE |UNPARTITIONED|
+ limit 3 [cardinality: 30.0, doc-size: 0.0, op-cost: 0.0, total-cost: 3.0]
+ -- STREAM_LIMIT |UNPARTITIONED|
+ project ([$$21]) [cardinality: 30.0, doc-size: 0.0, op-cost: 0.0, total-cost: 3.0]
+ -- STREAM_PROJECT |PARTITIONED|
+ exchange [cardinality: 30.0, doc-size: 0.0, op-cost: 0.0, total-cost: 3.0]
+ -- SORT_MERGE_EXCHANGE [$$20(ASC) ] |PARTITIONED|
+ limit 3 [cardinality: 30.0, doc-size: 0.0, op-cost: 0.0, total-cost: 3.0]
+ -- STREAM_LIMIT |PARTITIONED|
+ exchange [cardinality: 30.0, doc-size: 0.0, op-cost: 0.0, total-cost: 3.0]
+ -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
+ order (topK: 3) (ASC, $$20) [cardinality: 30.0, doc-size: 0.0, op-cost: 0.0, total-cost: 3.0]
+ -- STABLE_SORT [topK: 3] [$$20(ASC)] |PARTITIONED|
+ exchange [cardinality: 30.0, doc-size: 0.0, op-cost: 0.0, total-cost: 3.0]
+ -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
+ assign [$$20] <- [euclidean-distance($$m.getField(1), array: [ 0.0, 0.0, 0.0, 0.0 ])] project: [$$21, $$20] [cardinality: 30.0, doc-size: 0.0, op-cost: 0.0, total-cost: 3.0]
+ -- ASSIGN |PARTITIONED|
+ exchange [cardinality: 30.0, doc-size: 0.0, op-cost: 0.0, total-cost: 3.0]
+ -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
+ data-scan []<-[$$21, $$m] <- test.MovieSmall [cardinality: 30.0, doc-size: 0.0, op-cost: 0.0, total-cost: 3.0]
+ -- DATASOURCE_SCAN |PARTITIONED|
+ exchange [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
+ empty-tuple-source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- EMPTY_TUPLE_SOURCE |PARTITIONED|
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_less_parallelism/vector/create-index-vtree/create-index-vtree.8.plan b/asterixdb/asterix-app/src/test/resources/runtimets/results_less_parallelism/vector/create-index-vtree/create-index-vtree.8.plan
new file mode 100644
index 0000000..cc65ceb
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_less_parallelism/vector/create-index-vtree/create-index-vtree.8.plan
@@ -0,0 +1,28 @@
+distribute result [$$21] [cardinality: 30.0, doc-size: 0.0, op-cost: 0.0, total-cost: 20.03]
+-- DISTRIBUTE_RESULT |UNPARTITIONED|
+ exchange [cardinality: 30.0, doc-size: 0.0, op-cost: 0.0, total-cost: 20.03]
+ -- ONE_TO_ONE_EXCHANGE |UNPARTITIONED|
+ limit 3 [cardinality: 30.0, doc-size: 0.0, op-cost: 0.0, total-cost: 20.03]
+ -- STREAM_LIMIT |UNPARTITIONED|
+ project ([$$21]) [cardinality: 30.0, doc-size: 0.0, op-cost: 0.0, total-cost: 20.03]
+ -- STREAM_PROJECT |PARTITIONED|
+ exchange [cardinality: 30.0, doc-size: 0.0, op-cost: 0.0, total-cost: 20.03]
+ -- SORT_MERGE_EXCHANGE [$$20(DESC) ] |PARTITIONED|
+ limit 3 [cardinality: 30.0, doc-size: 0.0, op-cost: 0.0, total-cost: 20.03]
+ -- STREAM_LIMIT |PARTITIONED|
+ exchange [cardinality: 30.0, doc-size: 0.0, op-cost: 0.0, total-cost: 20.03]
+ -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
+ order (topK: 3) (DESC, $$20) [cardinality: 30.0, doc-size: 0.0, op-cost: 0.0, total-cost: 20.03]
+ -- STABLE_SORT [topK: 3] [$$20(DESC)] |PARTITIONED|
+ exchange [cardinality: 30.0, doc-size: 0.0, op-cost: 0.0, total-cost: 20.03]
+ -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
+ assign [$$20] <- [euclidean-distance($$m.getField(1), array: [ 0.0, 0.0, 0.0, 0.0 ])] project: [$$21, $$20] [cardinality: 30.0, doc-size: 0.0, op-cost: 0.0, total-cost: 20.03]
+ -- ASSIGN |PARTITIONED|
+ exchange [cardinality: 30.0, doc-size: 0.0, op-cost: 0.0, total-cost: 20.03]
+ -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
+ data-scan []<-[$$21, $$m] <- test.MovieSmall [cardinality: 30.0, doc-size: 0.0, op-cost: 0.0, total-cost: 20.03]
+ -- DATASOURCE_SCAN |PARTITIONED|
+ exchange [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
+ empty-tuple-source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- EMPTY_TUPLE_SOURCE |PARTITIONED|
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_less_parallelism/vector/create-index-vtree/create-index-vtree.9.plan b/asterixdb/asterix-app/src/test/resources/runtimets/results_less_parallelism/vector/create-index-vtree/create-index-vtree.9.plan
new file mode 100644
index 0000000..b9ae6d8
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_less_parallelism/vector/create-index-vtree/create-index-vtree.9.plan
@@ -0,0 +1,28 @@
+distribute result [$$21] [cardinality: 30.0, doc-size: 0.0, op-cost: 0.0, total-cost: 20.03]
+-- DISTRIBUTE_RESULT |UNPARTITIONED|
+ exchange [cardinality: 30.0, doc-size: 0.0, op-cost: 0.0, total-cost: 20.03]
+ -- ONE_TO_ONE_EXCHANGE |UNPARTITIONED|
+ limit 3 [cardinality: 30.0, doc-size: 0.0, op-cost: 0.0, total-cost: 20.03]
+ -- STREAM_LIMIT |UNPARTITIONED|
+ project ([$$21]) [cardinality: 30.0, doc-size: 0.0, op-cost: 0.0, total-cost: 20.03]
+ -- STREAM_PROJECT |PARTITIONED|
+ exchange [cardinality: 30.0, doc-size: 0.0, op-cost: 0.0, total-cost: 20.03]
+ -- SORT_MERGE_EXCHANGE [$$20(ASC) ] |PARTITIONED|
+ limit 3 [cardinality: 30.0, doc-size: 0.0, op-cost: 0.0, total-cost: 20.03]
+ -- STREAM_LIMIT |PARTITIONED|
+ exchange [cardinality: 30.0, doc-size: 0.0, op-cost: 0.0, total-cost: 20.03]
+ -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
+ order (topK: 3) (ASC, $$20) [cardinality: 30.0, doc-size: 0.0, op-cost: 0.0, total-cost: 20.03]
+ -- STABLE_SORT [topK: 3] [$$20(ASC)] |PARTITIONED|
+ exchange [cardinality: 30.0, doc-size: 0.0, op-cost: 0.0, total-cost: 20.03]
+ -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
+ assign [$$20] <- [euclidean-distance($$m.getField(1), array: [ 0.0, 0.0, 0.0, 0.0 ])] project: [$$21, $$20] [cardinality: 30.0, doc-size: 0.0, op-cost: 0.0, total-cost: 20.03]
+ -- ASSIGN |PARTITIONED|
+ exchange [cardinality: 30.0, doc-size: 0.0, op-cost: 0.0, total-cost: 20.03]
+ -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
+ data-scan []<-[$$21, $$m] <- test.MovieSmall [cardinality: 30.0, doc-size: 0.0, op-cost: 0.0, total-cost: 20.03]
+ -- DATASOURCE_SCAN |PARTITIONED|
+ exchange [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
+ empty-tuple-source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- EMPTY_TUPLE_SOURCE |PARTITIONED|
--
To view, visit https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/21584?usp=email
To unsubscribe, or for help writing mail filters, visit https://asterix-gerrit.ics.uci.edu/settings?usp=email
Gerrit-MessageType: newchange
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Change-Id: I0a1381c16ed22808d13e03aa4b7126e5d82fa070
Gerrit-Change-Number: 21584
Gerrit-PatchSet: 1
Gerrit-Owner: Ali Alsuliman <al...@gmail.com>