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]>