Fredy Wijaya has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/11893 )

Change subject: IMPALA-7823: Clean up Java warnings, fix minor issues
......................................................................


Patch Set 5:

(28 comments)

My general comments:
- We should aim to fix the warnings instead of suppressing them whenever 
possible.
- Possible enable -Werror to fail on warnings in the future.
- There are many possible warnings (and logic bugs) by running IntelliJ code 
analyzer that are not covered by this CR and I don't think it should be covered 
by this CR either. It's a good idea to break this CR into multiple pieces to 
make it easier to review.
- Inconsistent usage of log4j and slf4j. We should decide whether we want to 
use log4j or slf4j in FE, but not both.

http://gerrit.cloudera.org:8080/#/c/11893/5/fe/src/main/java/org/apache/impala/analysis/Analyzer.java
File fe/src/main/java/org/apache/impala/analysis/Analyzer.java:

http://gerrit.cloudera.org:8080/#/c/11893/5/fe/src/main/java/org/apache/impala/analysis/Analyzer.java@1935
PS5, Line 1935: <SlotId, SlotId>
Java 8 type inference is a lot smarter, it can infer the type. Thus, this can 
be simplified to new Pair<>(id1, id2)


http://gerrit.cloudera.org:8080/#/c/11893/5/fe/src/main/java/org/apache/impala/analysis/KuduPartitionExpr.java
File fe/src/main/java/org/apache/impala/analysis/KuduPartitionExpr.java:

http://gerrit.cloudera.org:8080/#/c/11893/5/fe/src/main/java/org/apache/impala/analysis/KuduPartitionExpr.java@37
PS5, Line 37:
nit: remove extra new line. Our convention (although not universal) is to not 
have a new line after a class declaration.


http://gerrit.cloudera.org:8080/#/c/11893/5/fe/src/main/java/org/apache/impala/analysis/MultiAggregateInfo.java
File fe/src/main/java/org/apache/impala/analysis/MultiAggregateInfo.java:

http://gerrit.cloudera.org:8080/#/c/11893/5/fe/src/main/java/org/apache/impala/analysis/MultiAggregateInfo.java@112
PS5, Line 112:
nit: remove extra new line.


http://gerrit.cloudera.org:8080/#/c/11893/5/fe/src/main/java/org/apache/impala/catalog/CatalogException.java
File fe/src/main/java/org/apache/impala/catalog/CatalogException.java:

http://gerrit.cloudera.org:8080/#/c/11893/5/fe/src/main/java/org/apache/impala/catalog/CatalogException.java@27
PS5, Line 27:
nit: remove extra line


http://gerrit.cloudera.org:8080/#/c/11893/5/fe/src/main/java/org/apache/impala/catalog/HdfsPartition.java
File fe/src/main/java/org/apache/impala/catalog/HdfsPartition.java:

http://gerrit.cloudera.org:8080/#/c/11893/5/fe/src/main/java/org/apache/impala/catalog/HdfsPartition.java@663
PS5, Line 663: Boolean
Use Reference<>(false) instead.


http://gerrit.cloudera.org:8080/#/c/11893/5/fe/src/main/java/org/apache/impala/planner/JoinNode.java
File fe/src/main/java/org/apache/impala/planner/JoinNode.java:

http://gerrit.cloudera.org:8080/#/c/11893/5/fe/src/main/java/org/apache/impala/planner/JoinNode.java@551
PS5, Line 551: @SuppressWarnings("incomplete-switch")
Should we use default: break instead? This way the intention is clear and there 
is no need to suppress the warning.


http://gerrit.cloudera.org:8080/#/c/11893/5/fe/src/main/java/org/apache/impala/planner/SingleNodePlanner.java
File fe/src/main/java/org/apache/impala/planner/SingleNodePlanner.java:

http://gerrit.cloudera.org:8080/#/c/11893/5/fe/src/main/java/org/apache/impala/planner/SingleNodePlanner.java@411
PS5, Line 411: new Pair<TableRef, Long>
use new Pair<> form instead


http://gerrit.cloudera.org:8080/#/c/11893/5/fe/src/main/java/org/apache/impala/planner/SingleNodePlanner.java@420
PS5, Line 420: new Pair<TableRef, Long>
use new Pair<> form instead


http://gerrit.cloudera.org:8080/#/c/11893/5/fe/src/main/java/org/apache/impala/rewrite/BetweenToCompoundRule.java
File fe/src/main/java/org/apache/impala/rewrite/BetweenToCompoundRule.java:

http://gerrit.cloudera.org:8080/#/c/11893/5/fe/src/main/java/org/apache/impala/rewrite/BetweenToCompoundRule.java@37
PS5, Line 37: public static ExprRewriteRule INSTANCE = new 
BetweenToCompoundRule();
this should be final


http://gerrit.cloudera.org:8080/#/c/11893/5/fe/src/main/java/org/apache/impala/rewrite/BetweenToCompoundRule.java@38
PS5, Line 38:
also add private constructor to prevent instantiation.


http://gerrit.cloudera.org:8080/#/c/11893/5/fe/src/main/java/org/apache/impala/rewrite/BetweenToCompoundRule.java@50
PS5, Line 50: } else {
            :       // Rewrite into conjunction.
            :       Predicate lower = new 
BinaryPredicate(BinaryPredicate.Operator.GE,
            :           bp.getChild(0), bp.getChild(1));
            :       Predicate upper = new 
BinaryPredicate(BinaryPredicate.Operator.LE,
            :           bp.getChild(0), bp.getChild(2));
            :       return new 
CompoundPredicate(CompoundPredicate.Operator.AND, lower, upper);
            :     }
I don't know what's the convention in Impala, but I know in a different 
programming language the preferred style is to not have else it's redundant.


http://gerrit.cloudera.org:8080/#/c/11893/5/fe/src/main/java/org/apache/impala/rewrite/EqualityDisjunctsToInRule.java
File fe/src/main/java/org/apache/impala/rewrite/EqualityDisjunctsToInRule.java:

http://gerrit.cloudera.org:8080/#/c/11893/5/fe/src/main/java/org/apache/impala/rewrite/EqualityDisjunctsToInRule.java@39
PS5, Line 39:
nit: remove extra new line


http://gerrit.cloudera.org:8080/#/c/11893/5/fe/src/main/java/org/apache/impala/rewrite/EqualityDisjunctsToInRule.java@40
PS5, Line 40: public static ExprRewriteRule INSTANCE = new 
EqualityDisjunctsToInRule();
this should be final


http://gerrit.cloudera.org:8080/#/c/11893/5/fe/src/main/java/org/apache/impala/rewrite/EqualityDisjunctsToInRule.java@42
PS5, Line 42:
nit: remove space


http://gerrit.cloudera.org:8080/#/c/11893/5/fe/src/main/java/org/apache/impala/rewrite/NormalizeBinaryPredicatesRule.java
File 
fe/src/main/java/org/apache/impala/rewrite/NormalizeBinaryPredicatesRule.java:

http://gerrit.cloudera.org:8080/#/c/11893/5/fe/src/main/java/org/apache/impala/rewrite/NormalizeBinaryPredicatesRule.java@37
PS5, Line 37: public static ExprRewriteRule INSTANCE = new 
NormalizeBinaryPredicatesRule();
this should be final


http://gerrit.cloudera.org:8080/#/c/11893/5/fe/src/main/java/org/apache/impala/rewrite/NormalizeBinaryPredicatesRule.java@39
PS5, Line 39:
nit: remove space


http://gerrit.cloudera.org:8080/#/c/11893/5/fe/src/main/java/org/apache/impala/rewrite/NormalizeExprsRule.java
File fe/src/main/java/org/apache/impala/rewrite/NormalizeExprsRule.java:

http://gerrit.cloudera.org:8080/#/c/11893/5/fe/src/main/java/org/apache/impala/rewrite/NormalizeExprsRule.java@33
PS5, Line 33: public static ExprRewriteRule INSTANCE = new NormalizeExprsRule();
this should be final


http://gerrit.cloudera.org:8080/#/c/11893/5/fe/src/main/java/org/apache/impala/rewrite/NormalizeExprsRule.java@35
PS5, Line 35:
nit: remove extra space


http://gerrit.cloudera.org:8080/#/c/11893/5/fe/src/main/java/org/apache/impala/rewrite/RemoveRedundantStringCast.java
File fe/src/main/java/org/apache/impala/rewrite/RemoveRedundantStringCast.java:

http://gerrit.cloudera.org:8080/#/c/11893/5/fe/src/main/java/org/apache/impala/rewrite/RemoveRedundantStringCast.java@60
PS5, Line 60:
remove extra space


http://gerrit.cloudera.org:8080/#/c/11893/5/fe/src/main/java/org/apache/impala/rewrite/SimplifyConditionalsRule.java
File fe/src/main/java/org/apache/impala/rewrite/SimplifyConditionalsRule.java:

http://gerrit.cloudera.org:8080/#/c/11893/5/fe/src/main/java/org/apache/impala/rewrite/SimplifyConditionalsRule.java@56
PS5, Line 56: public static ExprRewriteRule INSTANCE = new 
SimplifyConditionalsRule();
this should be final


http://gerrit.cloudera.org:8080/#/c/11893/5/fe/src/main/java/org/apache/impala/rewrite/SimplifyConditionalsRule.java@61
PS5, Line 61:
nit: remove extra space


http://gerrit.cloudera.org:8080/#/c/11893/5/fe/src/main/java/org/apache/impala/rewrite/SimplifyDistinctFromRule.java
File fe/src/main/java/org/apache/impala/rewrite/SimplifyDistinctFromRule.java:

http://gerrit.cloudera.org:8080/#/c/11893/5/fe/src/main/java/org/apache/impala/rewrite/SimplifyDistinctFromRule.java@35
PS5, Line 35: public static ExprRewriteRule INSTANCE = new 
SimplifyDistinctFromRule();
this should be final


http://gerrit.cloudera.org:8080/#/c/11893/5/fe/src/main/java/org/apache/impala/rewrite/SimplifyDistinctFromRule.java@37
PS5, Line 37:
remove extra space


http://gerrit.cloudera.org:8080/#/c/11893/5/fe/src/main/java/org/apache/impala/service/CatalogOpExecutor.java
File fe/src/main/java/org/apache/impala/service/CatalogOpExecutor.java:

http://gerrit.cloudera.org:8080/#/c/11893/5/fe/src/main/java/org/apache/impala/service/CatalogOpExecutor.java@3714
PS5, Line 3714:       throw new CatalogException("Database: " + dbName + " does 
not exist.");
nice catch


http://gerrit.cloudera.org:8080/#/c/11893/5/fe/src/main/java/org/apache/impala/service/JniFrontend.java
File fe/src/main/java/org/apache/impala/service/JniFrontend.java:

http://gerrit.cloudera.org:8080/#/c/11893/5/fe/src/main/java/org/apache/impala/service/JniFrontend.java@727
PS5, Line 727: Enumeration
I think we can replace it with Enumeration<?> instead of using @SuppressWarning


http://gerrit.cloudera.org:8080/#/c/11893/5/fe/src/main/java/org/apache/impala/service/JniFrontend.java@805
PS5, Line 805: fs instanceof SecureAzureBlobFileSystem
I believe this condition is useless since we do a check in fs instanceof 
AzureBlobFileSystem and SecureAzureBlobFileSystem extends from 
AzureBlobFileSystem.


http://gerrit.cloudera.org:8080/#/c/11893/5/fe/src/test/java/org/apache/impala/analysis/AnalyzeStmtsTest.java
File fe/src/test/java/org/apache/impala/analysis/AnalyzeStmtsTest.java:

http://gerrit.cloudera.org:8080/#/c/11893/5/fe/src/test/java/org/apache/impala/analysis/AnalyzeStmtsTest.java@406
PS5, Line 406: @SuppressWarnings("unchecked")
Shouldn't this be @SuppressWarnings("varargs") instead?


http://gerrit.cloudera.org:8080/#/c/11893/5/fe/src/test/java/org/apache/impala/analysis/AuthorizationTest.java
File fe/src/test/java/org/apache/impala/analysis/AuthorizationTest.java:

http://gerrit.cloudera.org:8080/#/c/11893/5/fe/src/test/java/org/apache/impala/analysis/AuthorizationTest.java@131
PS5, Line 131: Collection
fix this to Collection<TestContext> instead of suppressing it.



--
To view, visit http://gerrit.cloudera.org:8080/11893
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I4b174d6448371c55e98487c6d4212c74c6b0c79e
Gerrit-Change-Number: 11893
Gerrit-PatchSet: 5
Gerrit-Owner: Paul Rogers <par0...@yahoo.com>
Gerrit-Reviewer: Bharath Vissapragada <bhara...@cloudera.com>
Gerrit-Reviewer: Fredy Wijaya <fwij...@cloudera.com>
Gerrit-Reviewer: Impala Public Jenkins <impala-public-jenk...@cloudera.com>
Gerrit-Reviewer: Paul Rogers <par0...@yahoo.com>
Gerrit-Comment-Date: Tue, 20 Nov 2018 20:28:37 +0000
Gerrit-HasComments: Yes

Reply via email to