You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by ta...@apache.org on 2023/01/31 03:04:46 UTC

[iotdb] branch rel/1.0 updated: [To rel/1.0][IOTDB-5284] Fix some sonar bugs (#8924)

This is an automated email from the ASF dual-hosted git repository.

tanxinyu pushed a commit to branch rel/1.0
in repository https://gitbox.apache.org/repos/asf/iotdb.git


The following commit(s) were added to refs/heads/rel/1.0 by this push:
     new 5285d7bcdf [To rel/1.0][IOTDB-5284] Fix some sonar bugs (#8924)
5285d7bcdf is described below

commit 5285d7bcdf06740e272682304836f9d8387609f2
Author: Xiangpeng Hu <65...@users.noreply.github.com>
AuthorDate: Tue Jan 31 11:04:40 2023 +0800

    [To rel/1.0][IOTDB-5284] Fix some sonar bugs (#8924)
    
    * fix some sonar bugs
---
 .../org/apache/iotdb/flink/FlinkIoTDBSource.java   |  5 +-
 .../apache/iotdb/rabbitmq/RabbitMQConsumer.java    | 63 ++++++++++++----------
 .../main/java/org/apache/iotdb/SessionExample.java | 17 ++----
 .../builtin/UDTFEqualSizeBucketOutlierSample.java  | 24 ++++-----
 .../store/disk/schemafile/pagemgr/PageManager.java | 10 ++--
 .../iotdb/tsfile/read/TsFileRestorableReader.java  | 10 ++--
 .../write/writer/TsFileIOWriterEndFileTest.java    | 27 +++++-----
 7 files changed, 77 insertions(+), 79 deletions(-)

diff --git a/example/flink/src/main/java/org/apache/iotdb/flink/FlinkIoTDBSource.java b/example/flink/src/main/java/org/apache/iotdb/flink/FlinkIoTDBSource.java
index 9856b41c3b..175b96d33b 100644
--- a/example/flink/src/main/java/org/apache/iotdb/flink/FlinkIoTDBSource.java
+++ b/example/flink/src/main/java/org/apache/iotdb/flink/FlinkIoTDBSource.java
@@ -61,9 +61,8 @@ public class FlinkIoTDBSource {
   }
 
   private static void prepareData() throws IoTDBConnectionException, StatementExecutionException {
-    Session session = new Session(LOCAL_HOST, 6667, "root", "root");
-    session.open(false);
-    try {
+    try (Session session = new Session(LOCAL_HOST, 6667, "root", "root")) {
+      session.open(false);
       session.setStorageGroup("root.sg1");
       if (!session.checkTimeseriesExists(ROOT_SG1_D1_S1)) {
         session.createTimeseries(
diff --git a/example/rabbitmq/src/main/java/org/apache/iotdb/rabbitmq/RabbitMQConsumer.java b/example/rabbitmq/src/main/java/org/apache/iotdb/rabbitmq/RabbitMQConsumer.java
index 4dd84a4d17..e8ff2313b8 100644
--- a/example/rabbitmq/src/main/java/org/apache/iotdb/rabbitmq/RabbitMQConsumer.java
+++ b/example/rabbitmq/src/main/java/org/apache/iotdb/rabbitmq/RabbitMQConsumer.java
@@ -44,43 +44,48 @@ import java.util.List;
  */
 public class RabbitMQConsumer {
 
-  private static final Logger logger = LoggerFactory.getLogger(RabbitMQProducer.class);
+  private static final Logger logger = LoggerFactory.getLogger(RabbitMQConsumer.class);
 
   public RabbitMQConsumer() {}
 
   public static void main(String[] args) throws Exception {
-    Session session =
+    try (Session session =
         new Session(
             Constant.IOTDB_CONNECTION_HOST,
             Constant.IOTDB_CONNECTION_PORT,
             Constant.IOTDB_CONNECTION_USER,
-            Constant.IOTDB_CONNECTION_PWD);
-    session.open();
-    session.setStorageGroup(Constant.STORAGE_GROUP);
-    for (String[] timeseries : Constant.TIMESERIESLIST) {
-      createTimeseries(session, timeseries);
-    }
-    RabbitMQConsumer consumer = new RabbitMQConsumer();
-    Channel channel = RabbitMQChannelUtils.getChannelInstance(Constant.CONNECTION_NAME);
-    AMQP.Queue.DeclareOk declareOk =
-        channel.queueDeclare(Constant.RABBITMQ_CONSUMER_QUEUE, true, false, false, new HashMap<>());
-    channel.exchangeDeclare(Constant.TOPIC, BuiltinExchangeType.TOPIC);
-    channel.queueBind(declareOk.getQueue(), Constant.TOPIC, "IoTDB.#", new HashMap<>());
-    DefaultConsumer defaultConsumer =
-        new DefaultConsumer(channel) {
-          @Override
-          public void handleDelivery(
-              String consumerTag, Envelope envelope, AMQP.BasicProperties properties, byte[] body) {
-            logger.info(consumerTag + ", " + envelope.toString() + ", " + properties.toString());
-            try {
-              consumer.insert(session, new String(body));
-            } catch (Exception e) {
-              logger.error(e.getMessage());
+            Constant.IOTDB_CONNECTION_PWD)) {
+      session.open();
+      session.setStorageGroup(Constant.STORAGE_GROUP);
+      for (String[] timeseries : Constant.TIMESERIESLIST) {
+        createTimeseries(session, timeseries);
+      }
+      RabbitMQConsumer consumer = new RabbitMQConsumer();
+      Channel channel = RabbitMQChannelUtils.getChannelInstance(Constant.CONNECTION_NAME);
+      AMQP.Queue.DeclareOk declareOk =
+          channel.queueDeclare(
+              Constant.RABBITMQ_CONSUMER_QUEUE, true, false, false, new HashMap<>());
+      channel.exchangeDeclare(Constant.TOPIC, BuiltinExchangeType.TOPIC);
+      channel.queueBind(declareOk.getQueue(), Constant.TOPIC, "IoTDB.#", new HashMap<>());
+      DefaultConsumer defaultConsumer =
+          new DefaultConsumer(channel) {
+            @Override
+            public void handleDelivery(
+                String consumerTag,
+                Envelope envelope,
+                AMQP.BasicProperties properties,
+                byte[] body) {
+              logger.info(consumerTag + ", " + envelope.toString() + ", " + properties.toString());
+              try {
+                consumer.insert(session, new String(body));
+              } catch (Exception e) {
+                logger.error(e.getMessage());
+              }
             }
-          }
-        };
-    channel.basicConsume(
-        declareOk.getQueue(), true, Constant.RABBITMQ_CONSUMER_TAG, defaultConsumer);
+          };
+      channel.basicConsume(
+          declareOk.getQueue(), true, Constant.RABBITMQ_CONSUMER_TAG, defaultConsumer);
+    }
   }
 
   private static void createTimeseries(Session session, String[] timeseries)
@@ -124,6 +129,8 @@ public class RabbitMQConsumer {
         case BOOLEAN:
           values.add(Boolean.parseBoolean(valuesStr[i]));
           break;
+        default:
+          break;
       }
     }
 
diff --git a/example/session/src/main/java/org/apache/iotdb/SessionExample.java b/example/session/src/main/java/org/apache/iotdb/SessionExample.java
index cd82e7e769..fc50a3acd7 100644
--- a/example/session/src/main/java/org/apache/iotdb/SessionExample.java
+++ b/example/session/src/main/java/org/apache/iotdb/SessionExample.java
@@ -828,18 +828,9 @@ public class SessionExample {
     session.executeNonQueryStatement("insert into root.sg1.d1(timestamp,s1) values(200, 1)");
   }
 
-  private static void setTimeout() throws StatementExecutionException {
-    Session tempSession = new Session(LOCAL_HOST, 6667, "root", "root", 10000, 20000);
-    tempSession.setQueryTimeout(60000);
-  }
-
-  private static void createClusterSession() throws IoTDBConnectionException {
-    ArrayList<String> nodeList = new ArrayList<>();
-    nodeList.add("127.0.0.1:6669");
-    nodeList.add("127.0.0.1:6667");
-    nodeList.add("127.0.0.1:6668");
-    Session clusterSession = new Session(nodeList, "root", "root");
-    clusterSession.open();
-    clusterSession.close();
+  private static void setTimeout() throws StatementExecutionException, IoTDBConnectionException {
+    try (Session tempSession = new Session(LOCAL_HOST, 6667, "root", "root", 10000, 20000)) {
+      tempSession.setQueryTimeout(60000);
+    }
   }
 }
diff --git a/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFEqualSizeBucketOutlierSample.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFEqualSizeBucketOutlierSample.java
index 7a97766c5a..82294ba201 100644
--- a/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFEqualSizeBucketOutlierSample.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFEqualSizeBucketOutlierSample.java
@@ -182,9 +182,9 @@ public class UDTFEqualSizeBucketOutlierSample extends UDTFEqualSizeBucketSample
       PriorityQueue<Pair<Integer, Double>> pq =
           new PriorityQueue<>(number, Comparator.comparing(o -> o.right));
 
-      double A = row0y - row1y;
-      double B = row1x - row0x;
-      double C = row0x * row1y - row1x * row0y;
+      double A = (double) row0y - row1y;
+      double B = (double) row1x - row0x;
+      double C = (double) row0x * row1y - row1x * row0y;
       double denominator = Math.sqrt(A * A + B * B);
 
       for (int i = 1; i < windowSize - 1; i++) {
@@ -212,9 +212,9 @@ public class UDTFEqualSizeBucketOutlierSample extends UDTFEqualSizeBucketSample
       PriorityQueue<Pair<Integer, Double>> pq =
           new PriorityQueue<>(number, Comparator.comparing(o -> o.right));
 
-      double A = row0y - row1y;
-      double B = row1x - row0x;
-      double C = row0x * row1y - row1x * row0y;
+      double A = (double) row0y - row1y;
+      double B = (double) row1x - row0x;
+      double C = (double) row0x * row1y - row1x * row0y;
       double denominator = Math.sqrt(A * A + B * B);
 
       for (int i = 1; i < windowSize - 1; i++) {
@@ -242,9 +242,9 @@ public class UDTFEqualSizeBucketOutlierSample extends UDTFEqualSizeBucketSample
       PriorityQueue<Pair<Integer, Double>> pq =
           new PriorityQueue<>(number, Comparator.comparing(o -> o.right));
 
-      double A = row0y - row1y;
-      double B = row1x - row0x;
-      double C = row0x * row1y - row1x * row0y;
+      double A = (double) row0y - row1y;
+      double B = (double) row1x - row0x;
+      double C = (double) row0x * row1y - row1x * row0y;
       double denominator = Math.sqrt(A * A + B * B);
 
       for (int i = 1; i < windowSize - 1; i++) {
@@ -273,7 +273,7 @@ public class UDTFEqualSizeBucketOutlierSample extends UDTFEqualSizeBucketSample
           new PriorityQueue<>(number, Comparator.comparing(o -> o.right));
 
       double A = row0y - row1y;
-      double B = row1x - row0x;
+      double B = (double) row1x - row0x;
       double C = row0x * row1y - row1x * row0y;
       double denominator = Math.sqrt(A * A + B * B);
 
@@ -475,7 +475,7 @@ public class UDTFEqualSizeBucketOutlierSample extends UDTFEqualSizeBucketSample
         y1 = Math.abs(currentValue - lastValue);
         y2 = Math.abs(nextValue - currentValue);
 
-        value = x1 + y1 + x2 + y2;
+        value = (double) x1 + y1 + x2 + y2;
 
         addToMinHeap(pq, i, value);
       }
@@ -512,7 +512,7 @@ public class UDTFEqualSizeBucketOutlierSample extends UDTFEqualSizeBucketSample
         y1 = Math.abs(currentValue - lastValue);
         y2 = Math.abs(nextValue - currentValue);
 
-        value = x1 + y1 + x2 + y2;
+        value = (double) x1 + y1 + x2 + y2;
 
         addToMinHeap(pq, i, value);
       }
diff --git a/server/src/main/java/org/apache/iotdb/db/metadata/mtree/store/disk/schemafile/pagemgr/PageManager.java b/server/src/main/java/org/apache/iotdb/db/metadata/mtree/store/disk/schemafile/pagemgr/PageManager.java
index 87891ff6cf..305cf07392 100644
--- a/server/src/main/java/org/apache/iotdb/db/metadata/mtree/store/disk/schemafile/pagemgr/PageManager.java
+++ b/server/src/main/java/org/apache/iotdb/db/metadata/mtree/store/disk/schemafile/pagemgr/PageManager.java
@@ -131,11 +131,11 @@ public abstract class PageManager implements IPageManager {
 
     // complete log file
     if (!res.isEmpty()) {
-      FileOutputStream outputStream = new FileOutputStream(logPath, true);
-      outputStream.write(new byte[] {SchemaFileConfig.SF_COMMIT_MARK});
-      long length = outputStream.getChannel().size();
-      outputStream.close();
-      return length;
+      try (FileOutputStream outputStream = new FileOutputStream(logPath, true)) {
+        outputStream.write(new byte[] {SchemaFileConfig.SF_COMMIT_MARK});
+        long length = outputStream.getChannel().size();
+        return length;
+      }
     }
     return 0L;
   }
diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/TsFileRestorableReader.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/TsFileRestorableReader.java
index e652d588f0..b7f018ad40 100644
--- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/TsFileRestorableReader.java
+++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/TsFileRestorableReader.java
@@ -61,11 +61,11 @@ public class TsFileRestorableReader extends TsFileSequenceReader {
     if (!isComplete()) {
       // Try to close it
       logger.info("File {} has no correct tail magic, try to repair...", file);
-      RestorableTsFileIOWriter rWriter =
-          new RestorableTsFileIOWriter(FSFactoryProducer.getFSFactory().getFile(file));
-      TsFileWriter writer = new TsFileWriter(rWriter);
-      // This writes the right magic string
-      writer.close();
+      try (RestorableTsFileIOWriter rWriter =
+              new RestorableTsFileIOWriter(FSFactoryProducer.getFSFactory().getFile(file));
+          TsFileWriter writer = new TsFileWriter(rWriter)) {
+        // This writes the right magic string
+      }
     }
   }
 }
diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/write/writer/TsFileIOWriterEndFileTest.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/write/writer/TsFileIOWriterEndFileTest.java
index 1e8fd25081..95eb6290b4 100644
--- a/tsfile/src/main/java/org/apache/iotdb/tsfile/write/writer/TsFileIOWriterEndFileTest.java
+++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/write/writer/TsFileIOWriterEndFileTest.java
@@ -29,21 +29,22 @@ import java.io.File;
 
 public class TsFileIOWriterEndFileTest {
   public static void main(String[] args) throws Exception {
-    TsFileIOWriter writer = new TsFileIOWriter(new File("test.tsfile"));
-    for (int deviceIndex = 0; deviceIndex < 1000; deviceIndex++) {
-      writer.startChunkGroup("root.sg.d" + deviceIndex);
-      for (int seriesIndex = 0; seriesIndex < 1000; seriesIndex++) {
-        ChunkWriterImpl chunkWriter =
-            new ChunkWriterImpl(
-                new MeasurementSchema(
-                    "s" + seriesIndex, TSDataType.INT32, TSEncoding.RLE, CompressionType.GZIP));
-        for (long time = 0; time < 10; ++time) {
-          chunkWriter.write(time, 0);
+    try (TsFileIOWriter writer = new TsFileIOWriter(new File("test.tsfile"))) {
+      for (int deviceIndex = 0; deviceIndex < 1000; deviceIndex++) {
+        writer.startChunkGroup("root.sg.d" + deviceIndex);
+        for (int seriesIndex = 0; seriesIndex < 1000; seriesIndex++) {
+          ChunkWriterImpl chunkWriter =
+              new ChunkWriterImpl(
+                  new MeasurementSchema(
+                      "s" + seriesIndex, TSDataType.INT32, TSEncoding.RLE, CompressionType.GZIP));
+          for (long time = 0; time < 10; ++time) {
+            chunkWriter.write(time, 0);
+          }
+          chunkWriter.writeToFileWriter(writer);
         }
-        chunkWriter.writeToFileWriter(writer);
+        writer.endChunkGroup();
       }
-      writer.endChunkGroup();
+      writer.endFile();
     }
-    writer.endFile();
   }
 }