-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/33142/#review79941
-----------------------------------------------------------


I will continue the rest of the review after this patch is rebased and 
front-end code is moved to samza-sql-calcite.

One high-level comment: adding more complete Java doc, comments/annotations in 
the code would help in this early stage.


samza-sql/src/main/java/org/apache/samza/sql/data/IntermediateMessageTuple.java
<https://reviews.apache.org/r/33142/#comment129620>

    nit: Java doc.



samza-sql/src/main/java/org/apache/samza/sql/expressions/Expression.java
<https://reviews.apache.org/r/33142/#comment129622>

    Not used?



samza-sql/src/main/java/org/apache/samza/sql/expressions/Expression.java
<https://reviews.apache.org/r/33142/#comment129621>

    nit: Java doc missing.



samza-sql/src/main/java/org/apache/samza/sql/expressions/RexToJavaCompiler.java
<https://reviews.apache.org/r/33142/#comment129625>

    What's the relationship between RelNode and RexNode here? Some description 
would be helpful.



samza-sql/src/main/java/org/apache/samza/sql/expressions/RexToJavaCompiler.java
<https://reviews.apache.org/r/33142/#comment129624>

    Java doc



samza-sql/src/main/java/org/apache/samza/sql/expressions/RexToJavaCompiler.java
<https://reviews.apache.org/r/33142/#comment129628>

    It would be nicer if more comments/annotation is added to explain the code 
here.



samza-sql/src/main/java/org/apache/samza/sql/expressions/RexToJavaCompiler.java
<https://reviews.apache.org/r/33142/#comment129627>

    nit: In Samza code convention, we don't use suffix '_' to variable names.



samza-sql/src/main/java/org/apache/samza/sql/expressions/RexToJavaCompiler.java
<https://reviews.apache.org/r/33142/#comment129632>

    Just a question, is it supposed to throw exception here even in a real 
implementation? Or this is just a place-holder that would need to be 
implemented later?



samza-sql/src/main/java/org/apache/samza/sql/expressions/RexToJavaCompiler.java
<https://reviews.apache.org/r/33142/#comment129638>

    nit: no suffix '_' in variable names.



samza-sql/src/main/java/org/apache/samza/sql/expressions/RexToJavaCompiler.java
<https://reviews.apache.org/r/33142/#comment129650>

    It would be easier to read if the code section to create the second 
BlockStatement can be folded into another method.



samza-sql/src/main/java/org/apache/samza/sql/expressions/RexToJavaCompiler.java
<https://reviews.apache.org/r/33142/#comment129653>

    Is "Buzz" the intended real class name or is this just for experiment? 
Wouldn't it be better to be "SqlExpression"?



samza-sql/src/main/java/org/apache/samza/sql/expressions/RexToJavaCompiler.java
<https://reviews.apache.org/r/33142/#comment129654>

    Shouldn't this be expr.implemented?



samza-sql/src/main/java/org/apache/samza/sql/expressions/RexToJavaUtils.java
<https://reviews.apache.org/r/33142/#comment129663>

    Same here. It would be nicer to add Java doc here to explain what this does.



samza-sql/src/main/java/org/apache/samza/sql/metadata/RelDataTypeToAvroSchemaConverter.java
<https://reviews.apache.org/r/33142/#comment129666>

    One question here: it seems that this converter should be an abstract class 
that can be extended to convert RelDataType to Avro or JSON based on 
implementation classes?



samza-sql/src/main/java/org/apache/samza/sql/metadata/Stream.java
<https://reviews.apache.org/r/33142/#comment129669>

    What's the meaning of this parent?



samza-sql/src/main/java/org/apache/samza/sql/metadata/Stream.java
<https://reviews.apache.org/r/33142/#comment129670>

    I am not sure whether I fully understand this interface method: from 
Calcite code base, it seems that this should return an iterator for the stream? 
This seems to be a polling method to get the rows from the stream. However, 
Samza tasks are not polling the streams to get the messages. Instead, Samza 
SystemConsumers delivers (i.e. pushes) the messages from the physical streams 
to Samza tasks, and hence, the physical operators. How is this stream() API 
used in Calcite? Can we leave it un-implemented?



samza-sql/src/main/java/org/apache/samza/sql/operators/factory/SimpleOperatorSpec.java
<https://reviews.apache.org/r/33142/#comment129686>

    For operators that keep states that should survive across restarts, UUID 
may not work. For example, getId() is used in WindowOperator to identify the 
state store name, which should be the same across re-starts.



samza-sql/src/main/java/org/apache/samza/sql/operators/factory/TypeAwareOperatorSpec.java
<https://reviews.apache.org/r/33142/#comment129688>

    If we keep this in samza-sql-core module, can we remove the reference to 
Calcite specific class name and replace it w/ Schema class here?



samza-sql/src/main/java/org/apache/samza/sql/operators/insert/InsertToStreamOp.java
<https://reviews.apache.org/r/33142/#comment129689>

    I think that we may be able to combine these two operators. Let me think 
about it a bit more.



samza-sql/src/main/java/org/apache/samza/sql/operators/scan/ProjectableFilterableStreamScanSpec.java
<https://reviews.apache.org/r/33142/#comment129692>

    These calcite specific class should be moved out-of samza-sql-core module.


- Yi Pan (Data Infrastructure)


On April 13, 2015, 9:04 p.m., Yi Pan (Data Infrastructure) wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/33142/
> -----------------------------------------------------------
> 
> (Updated April 13, 2015, 9:04 p.m.)
> 
> 
> Review request for samza and Milinda Pathirage.
> 
> 
> Bugs: SAMZA-561
>     https://issues.apache.org/jira/browse/SAMZA-561
> 
> 
> Repository: samza
> 
> 
> Description
> -------
> 
> [SAMZA-561] Review in progress
> 
> Post Milinda's patch for SAMZA-561 to ease the comment and discussion.
> 
> 
> Diffs
> -----
> 
>   build.gradle 97de3a28f6379e3862eec845da87587b1d4f742e 
>   gradle/dependency-versions.gradle ee6dfc411b7ab90b187df79f109884127953862e 
>   samza-sql/src/main/java/org/apache/samza/sql/Utils.java PRE-CREATION 
>   
> samza-sql/src/main/java/org/apache/samza/sql/api/operators/spec/OperatorSpec.java
>  PRE-CREATION 
>   
> samza-sql/src/main/java/org/apache/samza/sql/data/IntermediateMessageTuple.java
>  PRE-CREATION 
>   
> samza-sql/src/main/java/org/apache/samza/sql/data/serializers/SqlAvroSerdeFactory.java
>  PRE-CREATION 
>   samza-sql/src/main/java/org/apache/samza/sql/expressions/Expression.java 
> PRE-CREATION 
>   
> samza-sql/src/main/java/org/apache/samza/sql/expressions/RexToJavaCompiler.java
>  PRE-CREATION 
>   
> samza-sql/src/main/java/org/apache/samza/sql/expressions/RexToJavaUtils.java 
> PRE-CREATION 
>   
> samza-sql/src/main/java/org/apache/samza/sql/metadata/AvroSchemaConverter.java
>  PRE-CREATION 
>   
> samza-sql/src/main/java/org/apache/samza/sql/metadata/RelDataTypeToAvroSchemaConverter.java
>  PRE-CREATION 
>   samza-sql/src/main/java/org/apache/samza/sql/metadata/Stream.java 
> PRE-CREATION 
>   
> samza-sql/src/main/java/org/apache/samza/sql/operators/factory/SimpleOperatorFactoryImpl.java
>  PRE-CREATION 
>   
> samza-sql/src/main/java/org/apache/samza/sql/operators/factory/SimpleOperatorSpec.java
>  PRE-CREATION 
>   
> samza-sql/src/main/java/org/apache/samza/sql/operators/factory/TypeAwareOperatorSpec.java
>  PRE-CREATION 
>   
> samza-sql/src/main/java/org/apache/samza/sql/operators/insert/InsertToStreamOp.java
>  PRE-CREATION 
>   
> samza-sql/src/main/java/org/apache/samza/sql/operators/insert/InsertToStreamSpec.java
>  PRE-CREATION 
>   
> samza-sql/src/main/java/org/apache/samza/sql/operators/project/ProjectOp.java 
> PRE-CREATION 
>   
> samza-sql/src/main/java/org/apache/samza/sql/operators/project/ProjectSpec.java
>  PRE-CREATION 
>   
> samza-sql/src/main/java/org/apache/samza/sql/operators/scan/ProjectableFilterableStreamScanOp.java
>  PRE-CREATION 
>   
> samza-sql/src/main/java/org/apache/samza/sql/operators/scan/ProjectableFilterableStreamScanSpec.java
>  PRE-CREATION 
>   
> samza-sql/src/main/java/org/apache/samza/sql/operators/scan/StreamScanSpec.java
>  PRE-CREATION 
>   samza-sql/src/main/java/org/apache/samza/sql/planner/ExecutionPlanner.java 
> PRE-CREATION 
>   samza-sql/src/main/java/org/apache/samza/sql/planner/QueryPlanner.java 
> PRE-CREATION 
>   
> samza-sql/src/main/java/org/apache/samza/sql/planner/rules/FilterableStreamScanRule.java
>  PRE-CREATION 
>   
> samza-sql/src/main/java/org/apache/samza/sql/planner/rules/ProjectableStreamScanRule.java
>  PRE-CREATION 
>   
> samza-sql/src/main/java/org/apache/samza/sql/planner/rules/RemoveIdentityProjectRule.java
>  PRE-CREATION 
>   
> samza-sql/src/main/java/org/apache/samza/sql/rel/ProjectableFilterableStreamScan.java
>  PRE-CREATION 
>   samza-sql/src/main/java/org/apache/samza/sql/rel/StreamScan.java 
> PRE-CREATION 
>   samza-sql/src/main/java/org/apache/samza/task/sql/StreamSqlTask.java 
> PRE-CREATION 
>   
> samza-sql/src/test/java/org/apache/samza/sql/data/serializers/SqlAvroSerdeTest.java
>  PRE-CREATION 
>   samza-sql/src/test/java/org/apache/samza/sql/planner/QueryPlannerTest.java 
> PRE-CREATION 
>   
> samza-sql/src/test/java/org/apache/samza/sql/planner/SamzaStreamTableFactory.java
>  PRE-CREATION 
>   
> samza-sql/src/test/java/org/apache/samza/sql/planner/TestExecutionPlanner.java
>  PRE-CREATION 
>   samza-sql/src/test/java/org/apache/samza/sql/planner/TestQueryPlanner.java 
> PRE-CREATION 
>   
> samza-sql/src/test/java/org/apache/samza/sql/planner/TestRexToJavaCompiler.java
>  PRE-CREATION 
>   samza-sql/src/test/java/org/apache/samza/sql/test/Constants.java 
> PRE-CREATION 
>   samza-sql/src/test/java/org/apache/samza/sql/test/Utils.java PRE-CREATION 
>   
> samza-sql/src/test/java/org/apache/samza/sql/test/metadata/TestAvroSchemaConverter.java
>  PRE-CREATION 
>   samza-sql/src/test/java/org/apache/samza/task/sql/RandomOperatorTask.java 
> PRE-CREATION 
>   samza-sql/src/test/java/org/apache/samza/task/sql/StreamSqlTask.java 
> PRE-CREATION 
>   samza-sql/src/test/resources/orders.avsc PRE-CREATION 
>   samza-sql/src/test/resources/orders.json PRE-CREATION 
>   samza-test/src/main/config/sql-filter.properties PRE-CREATION 
>   
> samza-test/src/main/java/org/apache/samza/test/integration/sql/OrdersStreamFactory.java
>  PRE-CREATION 
>   samza-test/src/main/java/org/apache/samza/test/integration/sql/SqlTask.java 
> PRE-CREATION 
>   samza-test/src/main/python/integration_tests.py 
> df64e239a2e467c8e4429dbeb7039f1aa9965ecc 
>   samza-test/src/main/python/requirements.txt 
> 2ae95908248516b5b26e671f24fa680f7b801675 
>   samza-test/src/main/python/samza_job_yarn_deployer.py 
> 38635ca5899c43fb61d6b4042e8543f0508fd41b 
>   samza-test/src/main/python/tests/sql_tests.py PRE-CREATION 
>   samza-test/src/main/resources/orders.avsc PRE-CREATION 
>   samza-test/src/main/resources/orders.json PRE-CREATION 
> 
> Diff: https://reviews.apache.org/r/33142/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Yi Pan (Data Infrastructure)
> 
>

Reply via email to