Michael Blow has uploaded a new change for review.

  https://asterix-gerrit.ics.uci.edu/1108

Change subject: Misc Cleanup, SonarQube Fixes
......................................................................

Misc Cleanup, SonarQube Fixes

Change-Id: If87126cdd435067a50087e339522a36021fbc2c0
---
M 
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceSelectAccessMethodRule.java
M 
asterixdb/asterix-fuzzyjoin/src/main/java/org/apache/asterix/fuzzyjoin/FuzzyJoinMemory.java
M 
asterixdb/asterix-fuzzyjoin/src/main/java/org/apache/asterix/fuzzyjoin/recordgroup/RecordGroupLengthCount.java
M 
asterixdb/asterix-lang-common/src/main/java/org/apache/asterix/lang/common/struct/OperatorType.java
M 
asterixdb/asterix-lang-common/src/main/java/org/apache/asterix/lang/common/struct/UnaryExprType.java
M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/base/ADouble.java
M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/base/AFloat.java
M 
asterixdb/asterix-om/src/main/java/org/apache/asterix/om/types/AbstractComplexType.java
M 
asterixdb/asterix-om/src/main/java/org/apache/asterix/om/types/BuiltinType.java
M 
asterixdb/asterix-replication/src/main/java/org/apache/asterix/replication/management/ReplicaStateChecker.java
M 
hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/client/HyracksConnection.java
M 
hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/work/TriggerNCWork.java
12 files changed, 71 insertions(+), 71 deletions(-)


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

diff --git 
a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceSelectAccessMethodRule.java
 
b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceSelectAccessMethodRule.java
index 2464c06..dbab2dd 100644
--- 
a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceSelectAccessMethodRule.java
+++ 
b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceSelectAccessMethodRule.java
@@ -24,6 +24,7 @@
 import java.util.Map;
 import java.util.Optional;
 import java.util.TreeMap;
+import java.util.stream.Stream;
 
 import org.apache.asterix.metadata.declared.AqlMetadataProvider;
 import org.apache.asterix.metadata.entities.Index;
@@ -139,8 +140,11 @@
             Map<IAccessMethod, AccessMethodAnalysisContext> analyzedAMs, 
IOptimizationContext context)
                     throws AlgebricksException {
         Pair<IAccessMethod, Index> chosenIndex = null;
-        Optional<Pair<IAccessMethod, Index>> primaryIndex = 
chosenIndexes.stream()
-                .filter(pair -> pair.second.isPrimaryIndex()).findFirst();
+        Optional<Pair<IAccessMethod, Index>> primaryIndex;
+        try (Stream<Pair<IAccessMethod, Index>> stream = 
chosenIndexes.stream()) {
+            primaryIndex = stream
+                    .filter(pair -> pair.second.isPrimaryIndex()).findFirst();
+        }
         if (chosenIndexes.size() == 1) {
             chosenIndex = chosenIndexes.get(0);
         } else if (primaryIndex.isPresent()) {
diff --git 
a/asterixdb/asterix-fuzzyjoin/src/main/java/org/apache/asterix/fuzzyjoin/FuzzyJoinMemory.java
 
b/asterixdb/asterix-fuzzyjoin/src/main/java/org/apache/asterix/fuzzyjoin/FuzzyJoinMemory.java
index 0e6164b..dd7228a 100644
--- 
a/asterixdb/asterix-fuzzyjoin/src/main/java/org/apache/asterix/fuzzyjoin/FuzzyJoinMemory.java
+++ 
b/asterixdb/asterix-fuzzyjoin/src/main/java/org/apache/asterix/fuzzyjoin/FuzzyJoinMemory.java
@@ -21,7 +21,6 @@
 
 import java.io.BufferedInputStream;
 import java.io.FileInputStream;
-import java.io.FileNotFoundException;
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Collection;
@@ -80,37 +79,31 @@
     }
 
     public static void readRecords(String fileName, List<int[]> records, 
List<Integer> rids) {
-        LittleEndianIntInputStream in;
-        try {
-            in = new LittleEndianIntInputStream(new BufferedInputStream(new 
FileInputStream(fileName)));
-        } catch (FileNotFoundException e) {
-            throw new RuntimeException(e);
-        }
+        try (LittleEndianIntInputStream in = new 
LittleEndianIntInputStream(new BufferedInputStream(new 
FileInputStream(fileName)))){
 
-        while (true) {
-            int rid = 0;
-            try {
-                rid = in.readInt();
-            } catch (IOException e) {
-                // FILE_EXPECTED reach of EOF
-                break;
-            }
+            while (true) {
+                int rid = 0;
+                try {
+                    rid = in.readInt();
+                } catch (IOException e) {
+                    // FILE_EXPECTED reach of EOF
+                    break;
+                }
 
-            rids.add(rid);
-            int[] record;
+                rids.add(rid);
+                int[] record;
 
-            try {
                 int size = in.readInt();
                 record = new int[size];
                 for (int j = 0; j < size; j++) {
                     int token = in.readInt();
                     record[j] = token;
                 }
-            } catch (IOException e) {
-                throw new RuntimeException(e);
-            }
 
-            records.add(record);
+                records.add(record);
+            }
+        } catch (IOException e) {
+            throw new RuntimeException(e);
         }
     }
 
diff --git 
a/asterixdb/asterix-fuzzyjoin/src/main/java/org/apache/asterix/fuzzyjoin/recordgroup/RecordGroupLengthCount.java
 
b/asterixdb/asterix-fuzzyjoin/src/main/java/org/apache/asterix/fuzzyjoin/recordgroup/RecordGroupLengthCount.java
index 5cd7994..0095d14 100644
--- 
a/asterixdb/asterix-fuzzyjoin/src/main/java/org/apache/asterix/fuzzyjoin/recordgroup/RecordGroupLengthCount.java
+++ 
b/asterixdb/asterix-fuzzyjoin/src/main/java/org/apache/asterix/fuzzyjoin/recordgroup/RecordGroupLengthCount.java
@@ -38,8 +38,7 @@
         int sum = 0;
         int range = 0;
 
-        try {
-            DataInputStream in = new DataInputStream(new 
FileInputStream(lengthstatsPath.toString()));
+        try (DataInputStream in = new DataInputStream(new 
FileInputStream(lengthstatsPath))) {
             min = in.readInt();
             max = in.readInt();
             range = max - min + 1;
diff --git 
a/asterixdb/asterix-lang-common/src/main/java/org/apache/asterix/lang/common/struct/OperatorType.java
 
b/asterixdb/asterix-lang-common/src/main/java/org/apache/asterix/lang/common/struct/OperatorType.java
index 6e2e3e2..8f81daa 100644
--- 
a/asterixdb/asterix-lang-common/src/main/java/org/apache/asterix/lang/common/struct/OperatorType.java
+++ 
b/asterixdb/asterix-lang-common/src/main/java/org/apache/asterix/lang/common/struct/OperatorType.java
@@ -20,6 +20,7 @@
 
 import java.util.Arrays;
 import java.util.Optional;
+import java.util.stream.Stream;
 
 public enum OperatorType {
     OR("or"),
@@ -56,6 +57,8 @@
     }
 
     public static Optional<OperatorType> fromSymbol(String symbol) {
-        return Arrays.stream(OperatorType.values()).filter(o -> 
o.symbol.equals(symbol)).findFirst();
+        try (Stream<OperatorType> stream = 
Arrays.stream(OperatorType.values())) {
+            return stream.filter(o -> o.symbol.equals(symbol)).findFirst();
+        }
     }
 }
diff --git 
a/asterixdb/asterix-lang-common/src/main/java/org/apache/asterix/lang/common/struct/UnaryExprType.java
 
b/asterixdb/asterix-lang-common/src/main/java/org/apache/asterix/lang/common/struct/UnaryExprType.java
index 554a659..941e181 100644
--- 
a/asterixdb/asterix-lang-common/src/main/java/org/apache/asterix/lang/common/struct/UnaryExprType.java
+++ 
b/asterixdb/asterix-lang-common/src/main/java/org/apache/asterix/lang/common/struct/UnaryExprType.java
@@ -20,6 +20,7 @@
 
 import java.util.Arrays;
 import java.util.Optional;
+import java.util.stream.Stream;
 
 public enum UnaryExprType {
     POSITIVE("+"),
@@ -39,6 +40,8 @@
     }
 
     public static Optional<UnaryExprType> fromSymbol(String symbol) {
-        return Arrays.stream(UnaryExprType.values()).filter(o -> 
o.symbol.equals(symbol)).findFirst();
+        try (Stream<UnaryExprType> stream = 
Arrays.stream(UnaryExprType.values())) {
+            return stream.filter(o -> o.symbol.equals(symbol)).findFirst();
+        }
     }
 }
diff --git 
a/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/base/ADouble.java 
b/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/base/ADouble.java
index 3817160..4746773 100644
--- a/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/base/ADouble.java
+++ b/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/base/ADouble.java
@@ -53,7 +53,7 @@
     public boolean equals(Object obj) {
         if (!(obj instanceof ADouble))
             return false;
-        return value == (((ADouble) obj).getDoubleValue());
+        return Double.doubleToLongBits(value) == 
Double.doubleToLongBits(((ADouble) obj).getDoubleValue());
     }
 
     @Override
diff --git 
a/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/base/AFloat.java 
b/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/base/AFloat.java
index d73ab48..50d1825 100644
--- a/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/base/AFloat.java
+++ b/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/base/AFloat.java
@@ -48,7 +48,7 @@
         if (!(o instanceof AFloat)) {
             return false;
         } else {
-            return value == (((AFloat) o).getFloatValue());
+            return Float.floatToIntBits(value) == 
Float.floatToIntBits(((AFloat) o).getFloatValue());
         }
     }
 
diff --git 
a/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/types/AbstractComplexType.java
 
b/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/types/AbstractComplexType.java
index 9eddd7f..3102378 100644
--- 
a/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/types/AbstractComplexType.java
+++ 
b/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/types/AbstractComplexType.java
@@ -42,7 +42,12 @@
 
     @Override
     public boolean equals(Object object) {
-        return this.deepEqual((IAObject) object);
+        return object instanceof IAObject && deepEqual((IAObject) object);
+    }
+
+    @Override
+    public int hashCode() {
+        return hash();
     }
 
     public abstract boolean containsType(IAType type);
diff --git 
a/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/types/BuiltinType.java
 
b/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/types/BuiltinType.java
index f556de5..809578b 100644
--- 
a/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/types/BuiltinType.java
+++ 
b/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/types/BuiltinType.java
@@ -863,7 +863,7 @@
 
     @Override
     public boolean equals(Object object) {
-        return this.deepEqual((IAObject) object);
+        return object instanceof IAObject && deepEqual((IAObject) object);
     }
 
     @Override
diff --git 
a/asterixdb/asterix-replication/src/main/java/org/apache/asterix/replication/management/ReplicaStateChecker.java
 
b/asterixdb/asterix-replication/src/main/java/org/apache/asterix/replication/management/ReplicaStateChecker.java
index 0c94c61..de287e0 100644
--- 
a/asterixdb/asterix-replication/src/main/java/org/apache/asterix/replication/management/ReplicaStateChecker.java
+++ 
b/asterixdb/asterix-replication/src/main/java/org/apache/asterix/replication/management/ReplicaStateChecker.java
@@ -54,11 +54,9 @@
 
         long startTime = System.currentTimeMillis();
         InetSocketAddress replicaAddress = 
replica.getAddress(asterixReplicationProperties);
-        SocketChannel connection = null;
 
         while (true) {
-            try {
-                connection = SocketChannel.open();
+            try (SocketChannel connection = SocketChannel.open()) {
                 connection.configureBlocking(true);
                 connection.connect(new 
InetSocketAddress(replicaAddress.getHostString(), replicaAddress.getPort()));
                 ByteBuffer buffer = ReplicationProtocol.getGoodbyeBuffer();
@@ -72,12 +70,6 @@
                 if (((System.currentTimeMillis() - startTime) / 1000) >= 
replicationTimeOut) {
                     replicationManager.updateReplicaState(replica.getId(), 
ReplicaState.DEAD, suspendReplication);
                     return null;
-                } else {
-                    continue;
-                }
-            } finally {
-                if (connection.isOpen()) {
-                    connection.close();
                 }
             }
         }
diff --git 
a/hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/client/HyracksConnection.java
 
b/hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/client/HyracksConnection.java
index b57442d..3f1ced6 100644
--- 
a/hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/client/HyracksConnection.java
+++ 
b/hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/client/HyracksConnection.java
@@ -28,11 +28,10 @@
 import java.util.UUID;
 
 import org.apache.http.HttpResponse;
-import org.apache.http.client.HttpClient;
 import org.apache.http.client.methods.HttpPut;
 import org.apache.http.entity.FileEntity;
+import org.apache.http.impl.client.CloseableHttpClient;
 import org.apache.http.impl.client.DefaultHttpClient;
-
 import 
org.apache.hyracks.api.client.impl.JobSpecificationActivityClusterGraphGeneratorFactory;
 import org.apache.hyracks.api.comm.NetworkAddress;
 import org.apache.hyracks.api.deployment.DeploymentId;
@@ -130,27 +129,29 @@
     public DeploymentId deployBinary(List<String> jars) throws Exception {
         /** generate a deployment id */
         DeploymentId deploymentId = new 
DeploymentId(UUID.randomUUID().toString());
-        List<URL> binaryURLs = new ArrayList<URL>();
-        if (jars != null && jars.size() > 0) {
-            HttpClient hc = new DefaultHttpClient();
-            /** upload jars through a http client one-by-one to the CC server 
*/
-            for (String jar : jars) {
-                int slashIndex = jar.lastIndexOf('/');
-                String fileName = jar.substring(slashIndex + 1);
-                String url = "http://"; + ccHost + ":" + ccInfo.getWebPort() + 
"/applications/"
-                        + deploymentId.toString() + "&" + fileName;
-                HttpPut put = new HttpPut(url);
-                put.setEntity(new FileEntity(new File(jar), 
"application/octet-stream"));
-                HttpResponse response = hc.execute(put);
-                if (response != null) {
+        List<URL> binaryURLs = new ArrayList<>();
+        if (jars != null && !jars.isEmpty()) {
+            CloseableHttpClient hc = new DefaultHttpClient();
+            try {
+                /** upload jars through a http client one-by-one to the CC 
server */
+                for (String jar : jars) {
+                    int slashIndex = jar.lastIndexOf('/');
+                    String fileName = jar.substring(slashIndex + 1);
+                    String url = "http://"; + ccHost + ":" + 
ccInfo.getWebPort() + "/applications/"
+                            + deploymentId.toString() + "&" + fileName;
+                    HttpPut put = new HttpPut(url);
+                    put.setEntity(new FileEntity(new File(jar), 
"application/octet-stream"));
+                    HttpResponse response = hc.execute(put);
                     response.getEntity().consumeContent();
+                    if (response.getStatusLine().getStatusCode() != 200) {
+                        hci.unDeployBinary(deploymentId);
+                        throw new 
HyracksException(response.getStatusLine().toString());
+                    }
+                    /** add the uploaded URL address into the URLs of jars to 
be deployed at NCs */
+                    binaryURLs.add(new URL(url));
                 }
-                if (response.getStatusLine().getStatusCode() != 200) {
-                    hci.unDeployBinary(deploymentId);
-                    throw new 
HyracksException(response.getStatusLine().toString());
-                }
-                /** add the uploaded URL address into the URLs of jars to be 
deployed at NCs */
-                binaryURLs.add(new URL(url));
+            } finally {
+                hc.close();
             }
         }
         /** deploy the URLs to the CC and NCs */
diff --git 
a/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/work/TriggerNCWork.java
 
b/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/work/TriggerNCWork.java
index 7d2ff25..9a52a06 100644
--- 
a/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/work/TriggerNCWork.java
+++ 
b/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/work/TriggerNCWork.java
@@ -18,16 +18,16 @@
  */
 package org.apache.hyracks.control.cc.work;
 
-import org.apache.hyracks.control.cc.ClusterControllerService;
-import org.apache.hyracks.control.common.work.AbstractWork;
-import org.ini4j.Ini;
-
 import java.io.IOException;
 import java.io.ObjectOutputStream;
 import java.io.StringWriter;
 import java.net.Socket;
 import java.util.logging.Level;
 import java.util.logging.Logger;
+
+import org.apache.hyracks.control.cc.ClusterControllerService;
+import org.apache.hyracks.control.common.work.AbstractWork;
+import org.ini4j.Ini;
 
 /**
  * A work which is run at CC startup for each NC specified in the 
configuration file.
@@ -57,13 +57,13 @@
     public final void run() {
         ccs.getExecutor().execute(new Runnable() {
             @Override
+            @SuppressWarnings("squid:S2142") // suppress interrupted exception 
warning
             public void run() {
                 while (true) {
-                    try {
-                        if (LOGGER.isLoggable(Level.INFO)) {
-                            LOGGER.info("Connecting NC service '" + ncId + "' 
at " + ncHost + ":" + ncPort);
-                        }
-                        Socket s = new Socket(ncHost, ncPort);
+                    if (LOGGER.isLoggable(Level.INFO)) {
+                        LOGGER.info("Connecting NC service '" + ncId + "' at " 
+ ncHost + ":" + ncPort);
+                    }
+                    try (Socket s = new Socket(ncHost, ncPort)) {
                         ObjectOutputStream oos = new 
ObjectOutputStream(s.getOutputStream());
                         oos.writeUTF(NC_MAGIC_COOKIE);
                         oos.writeUTF(serializeIni(ccs.getCCConfig().getIni()));

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: If87126cdd435067a50087e339522a36021fbc2c0
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Michael Blow <[email protected]>

Reply via email to