>From Vijay Sarathy <[email protected]>:

Vijay Sarathy has uploaded this change for review. ( 
https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/19446 )


Change subject: [ASTERIXDB-3480][COMP] Automate samples creation in CBO
......................................................................

[ASTERIXDB-3480][COMP] Automate samples creation in CBO

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

Details:
If a query is executed with CBO turned ON, but some of the base collections do 
not
have samples created on them, a warning is issued.

Ext-ref: MB-63093

Change-Id: I741fb4dcd0b24cf5b26ca0429765ddce139f022e
---
M 
hyracks-fullstack/hyracks/hyracks-api/src/main/resources/errormsg/en.properties
M 
hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/exceptions/ErrorCode.java
M 
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/cbo/EnumerateJoinsRule.java
3 files changed, 29 insertions(+), 2 deletions(-)



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

diff --git 
a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/cbo/EnumerateJoinsRule.java
 
b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/cbo/EnumerateJoinsRule.java
index 3588fd4..ba5705e 100644
--- 
a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/cbo/EnumerateJoinsRule.java
+++ 
b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/cbo/EnumerateJoinsRule.java
@@ -69,6 +69,7 @@
 import 
org.apache.hyracks.algebricks.core.algebra.util.OperatorManipulationUtil;
 import org.apache.hyracks.algebricks.core.rewriter.base.IAlgebraicRewriteRule;
 import 
org.apache.hyracks.algebricks.core.rewriter.base.PhysicalOptimizationConfig;
+import org.apache.hyracks.api.exceptions.ErrorCode;
 import org.apache.hyracks.api.exceptions.IWarningCollector;
 import org.apache.hyracks.api.exceptions.Warning;
 import org.apache.logging.log4j.LogManager;
@@ -261,6 +262,11 @@

         if (cboMode) {
             if (!doAllDataSourcesHaveSamples(leafInputs, context)) {
+                IWarningCollector warningCollector = 
joinEnum.optCtx.getWarningCollector();
+                if (warningCollector.shouldWarn()) {
+                    Warning warning = Warning.of(op.getSourceLocation(), 
ErrorCode.SAMPLES_NOT_CREATED);
+                    warningCollector.warn(warning);
+                }
                 return cleanUp();
             }
         }
diff --git 
a/hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/exceptions/ErrorCode.java
 
b/hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/exceptions/ErrorCode.java
index 7cb107d..f79c9bd 100644
--- 
a/hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/exceptions/ErrorCode.java
+++ 
b/hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/exceptions/ErrorCode.java
@@ -173,7 +173,8 @@
     INAPPLICABLE_HINT(10006),
     CROSS_PRODUCT_JOIN(10007),
     GROUP_ALL_DECOR(10008),
-    EXPRESSION_CANNOT_BE_CONSTANT(10009);
+    EXPRESSION_CANNOT_BE_CONSTANT(10009),
+    SAMPLES_NOT_CREATED(10010);
 
     private static final String RESOURCE_PATH = "errormsg/en.properties";
     public static final String HYRACKS = "HYR";
diff --git 
a/hyracks-fullstack/hyracks/hyracks-api/src/main/resources/errormsg/en.properties
 
b/hyracks-fullstack/hyracks/hyracks-api/src/main/resources/errormsg/en.properties
index e1fbe30..404c8de 100644
--- 
a/hyracks-fullstack/hyracks/hyracks-api/src/main/resources/errormsg/en.properties
+++ 
b/hyracks-fullstack/hyracks/hyracks-api/src/main/resources/errormsg/en.properties
@@ -162,4 +162,5 @@
 10006 = Could not apply %1$s hint: %2$s
 10007 = Encountered a cross product join
 10008 = Inappropriate use of group by all with decor variables
-10009 = '%1$s' expression cannot be a constant
\ No newline at end of file
+10009 = '%1$s' expression cannot be a constant
+10010 = Samples have not been created on all collections referenced in the 
query
\ No newline at end of file

--
To view, visit https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/19446
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: I741fb4dcd0b24cf5b26ca0429765ddce139f022e
Gerrit-Change-Number: 19446
Gerrit-PatchSet: 1
Gerrit-Owner: Vijay Sarathy <[email protected]>
Gerrit-MessageType: newchange

Reply via email to