abdullah alamoudi has posted comments on this change.

Change subject: Add Asterix Extension Manager
......................................................................


Patch Set 7:

(25 comments)

https://asterix-gerrit.ics.uci.edu/#/c/1017/7/asterixdb/asterix-active/src/main/java/org/apache/asterix/active/ActiveRuntime.java
File 
asterixdb/asterix-active/src/main/java/org/apache/asterix/active/ActiveRuntime.java:

Line 36: 
> Why not move start() and stop() cannot stay in IActiveRuntime
Class is gone :)


https://asterix-gerrit.ics.uci.edu/#/c/1017/7/asterixdb/asterix-active/src/main/java/org/apache/asterix/active/runtime/StopActiveRuntimeOperatorDescriptor.java
File 
asterixdb/asterix-active/src/main/java/org/apache/asterix/active/runtime/StopActiveRuntimeOperatorDescriptor.java:

Line 40:     public 
StopActiveRuntimeOperatorDescriptor(IOperatorDescriptorRegistry spec, 
ActiveRuntimeId runtimeId) {
> This class is never used. So I'm wondering if there's something we can do t
Class is gone. As I pointed out before that this mechanism of communicating 
with the active manager is bad.


https://asterix-gerrit.ics.uci.edu/#/c/1017/7/asterixdb/asterix-algebra/pom.xml
File asterixdb/asterix-algebra/pom.xml:

Line 163:     </dependency>
> It seems you don't need to add this dependency explicitly here as it is a d
Done


https://asterix-gerrit.ics.uci.edu/#/c/1017/7/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/base/ILangExtension.java
File 
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/base/ILangExtension.java:

Line 44:     ILangCompilationProvider getAqlLangCompilationProvider();
> It seems that the extension mechanism shouldn't hard-code the AQL/SQL++ dua
Done


Line 44:     ILangCompilationProvider getAqlLangCompilationProvider();
> Agree with Till.
Done


Line 60:      */
> The presence of this method here seems odd to me, as this interface is supp
Done


Line 62:             UnnestOperator unnestOp, ILogicalExpression unnestExpr, 
AbstractFunctionCallExpression functionCallExpr) throws AlgebricksException;
> MAJOR SonarQube violation:
Done


https://asterix-gerrit.ics.uci.edu/#/c/1017/7/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/extension/IAlgebraExtensionManager.java
File 
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/extension/IAlgebraExtensionManager.java:

Line 32:     boolean unnestToDataScan(Mutable<ILogicalOperator> opRef, 
IOptimizationContext context, UnnestOperator unnestOp,
> Again, the presence of this method seems odd to me. I think the right way t
I totally agree but think that we should refactor it in another change :)


https://asterix-gerrit.ics.uci.edu/#/c/1017/7/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/extension/IExtensionStatement.java
File 
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/extension/IExtensionStatement.java:

Line 26: public interface IExtensionStatement extends Statement {
> Document this public interface.
Done


Line 34:      * Called when the {@code IQueryTranslator} encounters an 
extension statement
> The annotation could be sth. like "An implementation class should implement
Done


Line 35:      * 
> MAJOR SonarQube violation:
Done


Line 42:     void handle(IStatementExecutor queryTranslator, 
AqlMetadataProvider metadataProvider, IHyracksClientConnection hcc)
> queryTranslator -> statementExecutor
Done


Line 43:             throws Exception;
> CRITICAL SonarQube violation:
Done


https://asterix-gerrit.ics.uci.edu/#/c/1017/7/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/base/RuleCollections.java
File 
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/base/RuleCollections.java:

Line 154:             IAlgebraExtensionManager algebraExtensionManager) {
> refactoring needed.
Done


Line 176:         normalization.add(new 
UnnestToDataScanRule(algebraExtensionManager));
> refactoring needed.  Not necessary in this change.  File an issue if it is 
Done


https://asterix-gerrit.ics.uci.edu/#/c/1017/7/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/IStatementExecutor.java
File 
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/IStatementExecutor.java:

Line 34: 
> Add a brief comment for the interface.
Done


Line 40:         ASYNC_DEFERRED
> Add brief comments for each enum value.
Done


Line 50:      * @param resultDelivery
> The comment seems out-dated -- resultDelivery is not a boolean value.
Done


Line 52:      * @return A List<QueryResult> containing a QueryResult instance 
corresponding to each submitted query.
> The documentation of @return seems not right?
Done


Line 56:             throws Exception;
> CRITICAL SonarQube violation:
Done


Line 62:             ICompiledDmlStatement clfrqs) throws AsterixException, 
RemoteException, AlgebricksException, JSONException, ACIDException;
> meaningful variable name -- what does clfrqs mean?
Done


Line 63: 
> The relationship of compileAndExecute and rewriteCompileQuery is not very c
I had the same question but then I needed this since I wanted to do the 
compilation without the execution.


https://asterix-gerrit.ics.uci.edu/#/c/1017/7/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/IStatementExecutorFactory.java
File 
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/IStatementExecutorFactory.java:

Line 28: public interface IStatementExecutorFactory { 
> Document this interface and each method.
Done


Line 33:     void setCCExtensionManager(ICCExtensionManager ccExtensionManager);
> Why do we need this set method here? Can't this parameter be passed to the 
Done


https://asterix-gerrit.ics.uci.edu/#/c/1017/7/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/LangExpressionToPlanTranslator.java
File 
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/LangExpressionToPlanTranslator.java:

Line 540:             IFunctionInfo finfoMeta = 
LangUtils.getFunctionInfo(AsterixBuiltinFunctions.META);
> The handling of meta part doesn't make sense to me.  Maybe I miss something
Yingyi, the source in this case is always the feed data source. We didn't 
figure out yet how to handle DML statements with non-feed modifications.


-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1017
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I280268495cc3aad00f898cba21f7299f7120ce5c
Gerrit-PatchSet: 7
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: abdullah alamoudi <bamou...@gmail.com>
Gerrit-Reviewer: Jenkins <jenk...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Blow <mb...@apache.org>
Gerrit-Reviewer: Steven Jacobs <sjaco...@ucr.edu>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Yingyi Bu <buyin...@gmail.com>
Gerrit-Reviewer: abdullah alamoudi <bamou...@gmail.com>
Gerrit-HasComments: Yes

Reply via email to