This is an automated email from the ASF dual-hosted git repository.
jackietien pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/iotdb.git
The following commit(s) were added to refs/heads/master by this push:
new 19de5b10f38 Fix some sonar smell
19de5b10f38 is described below
commit 19de5b10f38bf6ad96069e14af6bba595b35b93c
Author: Jackie Tien <[email protected]>
AuthorDate: Wed Sep 24 17:21:52 2025 +0800
Fix some sonar smell
---
.../org/apache/iotdb/tool/backup/IoTDBDataBackTool.java | 4 ++--
.../main/java/org/apache/iotdb/jdbc/IoTDBConnection.java | 14 ++++++--------
.../org/apache/iotdb/jdbc/IoTDBPreparedStatement.java | 2 --
.../src/main/java/org/apache/iotdb/session/Session.java | 2 +-
.../apache/iotdb/confignode/conf/ConfigNodeConfig.java | 7 ++++++-
.../manager/load/balancer/PartitionBalancer.java | 4 ++--
.../region/GreedyCopySetRegionGroupAllocator.java | 4 ++--
.../load/balancer/region/GreedyRegionGroupAllocator.java | 4 ++--
.../confignode/persistence/schema/TemplateTable.java | 8 ++------
.../main/java/org/apache/iotdb/db/conf/IoTDBConfig.java | 2 +-
.../schemaregion/impl/SchemaRegionMemoryImpl.java | 3 +--
.../schemaregion/impl/SchemaRegionPBTreeImpl.java | 5 ++---
.../db/schemaengine/template/ClusterTemplateManager.java | 2 +-
.../compaction/tool/SingleSequenceFileTask.java | 11 +++++++----
.../compaction/tool/TimePartitionProcessTask.java | 9 ++++++---
.../disk/strategy/RandomOnDiskUsableSpaceStrategy.java | 4 ++--
.../java/org/apache/iotdb/db/tools/TsFileSketchTool.java | 16 ++++++++++------
.../iotdb/db/tools/settle/TsFileAndModSettleTool.java | 5 ++---
.../apache/iotdb/db/tools/utils/TsFileStatisticScan.java | 6 +++++-
.../udf/builtin/UDTFEqualSizeBucketRandomSample.java | 6 +++---
20 files changed, 63 insertions(+), 55 deletions(-)
diff --git
a/iotdb-client/cli/src/main/java/org/apache/iotdb/tool/backup/IoTDBDataBackTool.java
b/iotdb-client/cli/src/main/java/org/apache/iotdb/tool/backup/IoTDBDataBackTool.java
index 62f27acbf62..975dfdd7b24 100644
---
a/iotdb-client/cli/src/main/java/org/apache/iotdb/tool/backup/IoTDBDataBackTool.java
+++
b/iotdb-client/cli/src/main/java/org/apache/iotdb/tool/backup/IoTDBDataBackTool.java
@@ -897,7 +897,7 @@ public class IoTDBDataBackTool {
LOGGER.info("Start to read config file {}", url);
properties.load(new InputStreamReader(inputStream,
StandardCharsets.UTF_8));
} catch (Exception e) {
- e.printStackTrace();
+ LOGGER.error("Read config file {} error", url, e);
}
}
return properties;
@@ -1079,7 +1079,7 @@ public class IoTDBDataBackTool {
fileOutputStream.close();
} catch (IOException e) {
- e.printStackTrace();
+ LOGGER.error("properties file update error.", e);
}
}
diff --git
a/iotdb-client/jdbc/src/main/java/org/apache/iotdb/jdbc/IoTDBConnection.java
b/iotdb-client/jdbc/src/main/java/org/apache/iotdb/jdbc/IoTDBConnection.java
index 89c5823f658..8e4ecafac20 100644
--- a/iotdb-client/jdbc/src/main/java/org/apache/iotdb/jdbc/IoTDBConnection.java
+++ b/iotdb-client/jdbc/src/main/java/org/apache/iotdb/jdbc/IoTDBConnection.java
@@ -280,11 +280,10 @@ public class IoTDBConnection implements Connection {
}
}
- Statement stmt = this.createStatement();
- String sql = "USE " + arg0;
- boolean rs;
+ PreparedStatement stmt = this.prepareStatement("USE ?");
+ stmt.setString(1, arg0);
try {
- rs = stmt.execute(sql);
+ stmt.execute();
} catch (SQLException e) {
stmt.close();
logger.error("Use database error: {}", e.getMessage());
@@ -352,11 +351,10 @@ public class IoTDBConnection implements Connection {
}
}
- Statement stmt = this.createStatement();
- String sql = "USE " + arg0;
- boolean rs;
+ PreparedStatement stmt = this.prepareStatement("USE ?");
+ stmt.setString(1, arg0);
try {
- rs = stmt.execute(sql);
+ stmt.execute();
} catch (SQLException e) {
stmt.close();
logger.error("Use database error: {}", e.getMessage());
diff --git
a/iotdb-client/jdbc/src/main/java/org/apache/iotdb/jdbc/IoTDBPreparedStatement.java
b/iotdb-client/jdbc/src/main/java/org/apache/iotdb/jdbc/IoTDBPreparedStatement.java
index 389d2867c41..bb6a7641ab5 100644
---
a/iotdb-client/jdbc/src/main/java/org/apache/iotdb/jdbc/IoTDBPreparedStatement.java
+++
b/iotdb-client/jdbc/src/main/java/org/apache/iotdb/jdbc/IoTDBPreparedStatement.java
@@ -456,8 +456,6 @@ public class IoTDBPreparedStatement extends IoTDBStatement
implements PreparedSt
} else if ("false".equalsIgnoreCase((String) parameterObj)
|| "N".equalsIgnoreCase((String) parameterObj)) {
setBoolean(parameterIndex, false);
- } else if (((String) parameterObj).matches("-?\\d+\\.?\\d*")) {
- setBoolean(parameterIndex, !((String)
parameterObj).matches("-?[0]+[.]*[0]*"));
} else {
throw new SQLException(
"No conversion from " + parameterObj + " to Types.BOOLEAN
possible.");
diff --git
a/iotdb-client/session/src/main/java/org/apache/iotdb/session/Session.java
b/iotdb-client/session/src/main/java/org/apache/iotdb/session/Session.java
index 20016f096ce..8844f36c247 100644
--- a/iotdb-client/session/src/main/java/org/apache/iotdb/session/Session.java
+++ b/iotdb-client/session/src/main/java/org/apache/iotdb/session/Session.java
@@ -3227,7 +3227,7 @@ public class Session implements ISession {
request.addToSizeList(tablet.getRowSize());
}
- // sample some records and judge weather need to add too many null values to
convert to tablet.
+ // sample some records and judge whether need to add too many null values to
convert to tablet.
private boolean judgeConvertOfOneDevice(List<List<String>> measurementsList)
{
int size = measurementsList.size();
int sampleNum = (int) (size * SAMPLE_PROPORTION);
diff --git
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/conf/ConfigNodeConfig.java
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/conf/ConfigNodeConfig.java
index 57e619a9baa..24f1ec4bbf8 100644
---
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/conf/ConfigNodeConfig.java
+++
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/conf/ConfigNodeConfig.java
@@ -33,12 +33,17 @@ import
org.apache.iotdb.confignode.manager.partition.RegionGroupExtensionPolicy;
import org.apache.iotdb.consensus.ConsensusFactory;
import org.apache.iotdb.metrics.config.MetricConfigDescriptor;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
import java.io.File;
import java.lang.reflect.Field;
import java.util.Arrays;
public class ConfigNodeConfig {
+ private static final Logger LOGGER =
LoggerFactory.getLogger(ConfigNodeConfig.class);
+
/** ClusterName, the default value "defaultCluster" will be changed after
join cluster. */
private volatile String clusterName = "defaultCluster";
@@ -1185,7 +1190,7 @@ public class ConfigNodeConfig {
.append(configContent)
.append(";");
} catch (Exception e) {
- e.printStackTrace();
+ LOGGER.warn("Failed to get field {}", configField, e);
}
}
return configMessage.toString();
diff --git
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/balancer/PartitionBalancer.java
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/balancer/PartitionBalancer.java
index 7850cbadc49..f76b54fec30 100644
---
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/balancer/PartitionBalancer.java
+++
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/balancer/PartitionBalancer.java
@@ -40,12 +40,12 @@ import org.apache.tsfile.utils.Pair;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import java.security.SecureRandom;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import java.util.Random;
import java.util.TreeMap;
import java.util.concurrent.ConcurrentHashMap;
@@ -274,7 +274,7 @@ public class PartitionBalancer {
List<TTimePartitionSlot> timePartitionSlots,
BalanceTreeMap<TConsensusGroupId, Integer>
availableDataRegionGroupCounter,
SeriesPartitionTable seriesPartitionTable) {
- final Random random = new Random();
+ final SecureRandom random = new SecureRandom();
List<TConsensusGroupId> availableDataRegionGroups =
new ArrayList<>(availableDataRegionGroupCounter.keySet());
for (TTimePartitionSlot timePartitionSlot : timePartitionSlots) {
diff --git
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/balancer/region/GreedyCopySetRegionGroupAllocator.java
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/balancer/region/GreedyCopySetRegionGroupAllocator.java
index ae5f1c3eb44..d185fcfbe7a 100644
---
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/balancer/region/GreedyCopySetRegionGroupAllocator.java
+++
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/balancer/region/GreedyCopySetRegionGroupAllocator.java
@@ -24,6 +24,7 @@ import
org.apache.iotdb.common.rpc.thrift.TDataNodeConfiguration;
import org.apache.iotdb.common.rpc.thrift.TDataNodeLocation;
import org.apache.iotdb.common.rpc.thrift.TRegionReplicaSet;
+import java.security.SecureRandom;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
@@ -31,7 +32,6 @@ import java.util.Comparator;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import java.util.Random;
import java.util.Set;
import java.util.stream.Collectors;
@@ -40,7 +40,7 @@ import static java.util.Map.Entry.comparingByValue;
/** Allocate Region through Greedy and CopySet Algorithm. */
public class GreedyCopySetRegionGroupAllocator implements
IRegionGroupAllocator {
- private static final Random RANDOM = new Random();
+ private static final SecureRandom RANDOM = new SecureRandom();
private static final int GCR_MAX_OPTIMAL_PLAN_NUM = 10;
private int replicationFactor;
diff --git
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/balancer/region/GreedyRegionGroupAllocator.java
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/balancer/region/GreedyRegionGroupAllocator.java
index 31f33143ede..0b34300a12c 100644
---
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/balancer/region/GreedyRegionGroupAllocator.java
+++
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/balancer/region/GreedyRegionGroupAllocator.java
@@ -24,17 +24,17 @@ import
org.apache.iotdb.common.rpc.thrift.TDataNodeConfiguration;
import org.apache.iotdb.common.rpc.thrift.TDataNodeLocation;
import org.apache.iotdb.common.rpc.thrift.TRegionReplicaSet;
+import java.security.SecureRandom;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import java.util.Random;
import java.util.stream.Collectors;
/** Allocate Region Greedily */
public class GreedyRegionGroupAllocator implements IRegionGroupAllocator {
- public static final Random RANDOM = new Random();
+ public static final SecureRandom RANDOM = new SecureRandom();
public GreedyRegionGroupAllocator() {
// Empty constructor
diff --git
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/persistence/schema/TemplateTable.java
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/persistence/schema/TemplateTable.java
index 6bb06d99db8..734c858e8fe 100644
---
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/persistence/schema/TemplateTable.java
+++
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/persistence/schema/TemplateTable.java
@@ -185,12 +185,8 @@ public class TemplateTable {
}
}
- private void serializeTemplate(Template template, OutputStream outputStream)
{
- try {
- template.serialize(outputStream);
- } catch (IOException e) {
- e.printStackTrace();
- }
+ private void serializeTemplate(Template template, OutputStream outputStream)
throws IOException {
+ template.serialize(outputStream);
}
private void deserialize(InputStream inputStream) throws IOException {
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/conf/IoTDBConfig.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/conf/IoTDBConfig.java
index 36e1f6a011f..4f32529451d 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/conf/IoTDBConfig.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/conf/IoTDBConfig.java
@@ -3444,7 +3444,7 @@ public class IoTDBConfig {
.append(configContent)
.append(";");
} catch (Exception e) {
- e.printStackTrace();
+ logger.warn("Failed to get field {}", configField, e);
}
}
return configMessage.toString();
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/schemaregion/impl/SchemaRegionMemoryImpl.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/schemaregion/impl/SchemaRegionMemoryImpl.java
index 3f49dfec93d..fbb407d3338 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/schemaregion/impl/SchemaRegionMemoryImpl.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/schemaregion/impl/SchemaRegionMemoryImpl.java
@@ -400,8 +400,7 @@ public class SchemaRegionMemoryImpl implements
ISchemaRegion {
databaseFullPath);
return idx;
} catch (final Exception e) {
- e.printStackTrace();
- throw new IOException("Failed to parse " + databaseFullPath + "
mlog.bin for err:" + e);
+ throw new IOException("Failed to parse " + databaseFullPath + "
mlog.bin", e);
}
} else {
return 0;
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/schemaregion/impl/SchemaRegionPBTreeImpl.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/schemaregion/impl/SchemaRegionPBTreeImpl.java
index 6b8000ecc59..0e180b2029b 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/schemaregion/impl/SchemaRegionPBTreeImpl.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/schemaregion/impl/SchemaRegionPBTreeImpl.java
@@ -406,8 +406,7 @@ public class SchemaRegionPBTreeImpl implements
ISchemaRegion {
System.currentTimeMillis() - time,
storageGroupFullPath);
} catch (Exception e) {
- e.printStackTrace();
- throw new IOException("Failed to parse " + storageGroupFullPath + "
mlog.bin for err:" + e);
+ throw new IOException("Failed to parse " + storageGroupFullPath + "
mlog.bin", e);
}
}
}
@@ -424,7 +423,7 @@ public class SchemaRegionPBTreeImpl implements
ISchemaRegion {
try {
mLogReader.skip(offset);
} catch (IOException e) {
- e.printStackTrace();
+ logger.error("Failed to skip {} from {}", offset, schemaRegionDirPath,
e);
}
while (mLogReader.hasNext()) {
plan = mLogReader.next();
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/template/ClusterTemplateManager.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/template/ClusterTemplateManager.java
index 8294bc708f7..ac89c86b819 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/template/ClusterTemplateManager.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/template/ClusterTemplateManager.java
@@ -256,7 +256,7 @@ public class ClusterTemplateManager implements
ITemplateManager {
try {
listPath.add(new PartialPath(item));
} catch (IllegalPathException e) {
- e.printStackTrace();
+ LOGGER.error("illegal path {}", item);
}
});
}
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/tool/SingleSequenceFileTask.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/tool/SingleSequenceFileTask.java
index 550cca82272..dd57c1b1c8c 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/tool/SingleSequenceFileTask.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/tool/SingleSequenceFileTask.java
@@ -21,6 +21,8 @@ package
org.apache.iotdb.db.storageengine.dataregion.compaction.tool;
import org.apache.tsfile.file.metadata.ChunkMetadata;
import org.apache.tsfile.file.metadata.IDeviceID;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import java.io.File;
import java.io.IOException;
@@ -29,8 +31,9 @@ import java.util.List;
import java.util.concurrent.Callable;
public class SingleSequenceFileTask implements
Callable<SequenceFileTaskSummary> {
- private UnseqSpaceStatistics unseqSpaceStatistics;
- private String seqFile;
+ private static final Logger LOGGER =
LoggerFactory.getLogger(SingleSequenceFileTask.class);
+ private final UnseqSpaceStatistics unseqSpaceStatistics;
+ private final String seqFile;
public SingleSequenceFileTask(UnseqSpaceStatistics unseqSpaceStatistics,
String seqFile) {
this.unseqSpaceStatistics = unseqSpaceStatistics;
@@ -94,10 +97,10 @@ public class SingleSequenceFileTask implements
Callable<SequenceFileTaskSummary>
summary.totalChunkGroups = chunkGroupStatisticsList.size();
} catch (IOException e) {
if (e instanceof NoSuchFileException) {
- System.out.println(seqFile + " is not exist");
+ LOGGER.warn("{} doesn't exist.", seqFile);
return new SequenceFileTaskSummary();
}
- e.printStackTrace();
+ LOGGER.error("check {} failed.", seqFile, e);
return new SequenceFileTaskSummary();
}
return summary;
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/tool/TimePartitionProcessTask.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/tool/TimePartitionProcessTask.java
index cd71d1b7dac..f745add3aa5 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/tool/TimePartitionProcessTask.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/tool/TimePartitionProcessTask.java
@@ -21,6 +21,8 @@ package
org.apache.iotdb.db.storageengine.dataregion.compaction.tool;
import org.apache.tsfile.file.metadata.ChunkMetadata;
import org.apache.tsfile.utils.Pair;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import java.io.File;
import java.io.IOException;
@@ -30,6 +32,7 @@ import java.util.List;
import java.util.concurrent.Future;
public class TimePartitionProcessTask {
+ private static final Logger LOGGER =
LoggerFactory.getLogger(TimePartitionProcessTask.class);
private final String timePartition;
private final Pair<List<String>, List<String>> timePartitionFiles;
private long sequenceSpaceCost = 0;
@@ -107,10 +110,10 @@ public class TimePartitionProcessTask {
}
} catch (IOException e) {
if (e instanceof NoSuchFileException) {
- System.out.println(((NoSuchFileException) e).getFile() + " is not
exist");
+ LOGGER.warn("{} doesn't exist.", ((NoSuchFileException)
e).getFile());
continue;
}
- e.printStackTrace();
+ LOGGER.error("failed to deal with {}", unseqFile, e);
}
}
unsequenceSpaceCost += (System.currentTimeMillis() - startTime);
@@ -136,7 +139,7 @@ public class TimePartitionProcessTask {
} catch (InterruptedException e) {
throw e;
} catch (Exception e) {
- e.printStackTrace();
+ LOGGER.error("error occurred", e);
}
}
overlapStatistic.mergeUnSeqSpaceStatistics(unseqSpaceStatistics);
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/rescon/disk/strategy/RandomOnDiskUsableSpaceStrategy.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/rescon/disk/strategy/RandomOnDiskUsableSpaceStrategy.java
index e564011dc73..30c5000396a 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/rescon/disk/strategy/RandomOnDiskUsableSpaceStrategy.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/rescon/disk/strategy/RandomOnDiskUsableSpaceStrategy.java
@@ -21,13 +21,13 @@ package
org.apache.iotdb.db.storageengine.rescon.disk.strategy;
import org.apache.iotdb.commons.utils.JVMCommonUtils;
import org.apache.iotdb.db.exception.DiskSpaceInsufficientException;
+import java.security.SecureRandom;
import java.util.ArrayList;
import java.util.List;
-import java.util.Random;
public class RandomOnDiskUsableSpaceStrategy extends DirectoryStrategy {
- private Random random = new Random(System.currentTimeMillis());
+ private final SecureRandom random = new SecureRandom();
@Override
public int nextFolderIndex() throws DiskSpaceInsufficientException {
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/tools/TsFileSketchTool.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/tools/TsFileSketchTool.java
index 7c2ce7bb5eb..3d70faa5923 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/tools/TsFileSketchTool.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/tools/TsFileSketchTool.java
@@ -41,6 +41,8 @@ import org.apache.tsfile.read.common.Path;
import org.apache.tsfile.utils.BloomFilter;
import org.apache.tsfile.utils.Pair;
import org.apache.tsfile.write.schema.Schema;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import java.io.FileWriter;
import java.io.IOException;
@@ -56,6 +58,8 @@ import java.util.TreeMap;
public class TsFileSketchTool {
+ private static final Logger LOGGER =
LoggerFactory.getLogger(TsFileSketchTool.class);
+
private String filename;
private PrintWriter pw;
private TsFileSketchToolReader reader;
@@ -97,7 +101,7 @@ public class TsFileSketchTool {
String.format("Cannot load file %s because the file has crashed.",
filename));
}
} catch (IOException e) {
- e.printStackTrace();
+ LOGGER.warn("Fail to init TsFileSketchTool, {}", filename, e);
}
}
@@ -214,7 +218,7 @@ public class TsFileSketchTool {
+ "|\t[magic tail] "
+ reader.readTailMagic());
} catch (IOException e) {
- e.printStackTrace();
+ LOGGER.warn("Fail to parse TsFileMetadata, {}", filename, e);
}
}
@@ -274,7 +278,7 @@ public class TsFileSketchTool {
+ "|\t[version number] "
+ reader.readVersionNumber());
} catch (IOException e) {
- e.printStackTrace();
+ LOGGER.warn("Fail to printFileInfo, {}", filename, e);
}
}
@@ -384,7 +388,7 @@ public class TsFileSketchTool {
printlnBoth(pw, splitStr + " [Chunk Group] of " +
chunkGroupMetadata.getDevice() + " ends");
}
} catch (IOException e) {
- e.printStackTrace();
+ LOGGER.warn("Fail to parse chunk, {}", filename, e);
}
}
@@ -414,7 +418,7 @@ public class TsFileSketchTool {
}
printlnBoth(pw, splitStr);
} catch (IOException e) {
- e.printStackTrace();
+ LOGGER.warn("Fail to printTimeseriesIndex, {}", filename, e);
}
}
@@ -438,7 +442,7 @@ public class TsFileSketchTool {
+ chunkMetadata.getOffsetOfChunkHeader());
}
} catch (IOException e) {
- e.printStackTrace();
+ LOGGER.warn("Fail to printTimeseriesIndex, {}", filename, e);
}
}
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/tools/settle/TsFileAndModSettleTool.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/tools/settle/TsFileAndModSettleTool.java
index cd532daab03..9f01e35e989 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/tools/settle/TsFileAndModSettleTool.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/tools/settle/TsFileAndModSettleTool.java
@@ -183,8 +183,7 @@ public class TsFileAndModSettleTool {
successCount++;
} catch (Exception e) {
logger.info(
- "Meet error while settling the tsFile : {}",
resourceToBeSettled.getTsFilePath());
- e.printStackTrace();
+ "Meet error while settling the tsFile : {}",
resourceToBeSettled.getTsFilePath(), e);
}
}
if (resourcesToBeSettled.size() == successCount) {
@@ -352,7 +351,7 @@ public class TsFileAndModSettleTool {
try {
newTsFileResource.serialize();
} catch (IOException e) {
- e.printStackTrace();
+ logger.error("fail to serialize new tsfile resource.", e);
}
File tmpResourceFile =
fsFactory.getFile(
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/tools/utils/TsFileStatisticScan.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/tools/utils/TsFileStatisticScan.java
index 094f12dcc84..20199fac020 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/tools/utils/TsFileStatisticScan.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/tools/utils/TsFileStatisticScan.java
@@ -32,6 +32,8 @@ import org.apache.tsfile.read.reader.page.PageReader;
import org.apache.tsfile.utils.Binary;
import org.apache.tsfile.utils.Pair;
import org.apache.tsfile.utils.TsPrimitiveType;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import java.io.File;
import java.io.IOException;
@@ -47,6 +49,8 @@ import java.util.Set;
public class TsFileStatisticScan extends TsFileSequenceScan {
+ private static final Logger LOGGER =
LoggerFactory.getLogger(TsFileStatisticScan.class);
+
// (deviceId, measurementId) -> data type
private final Map<Pair<IDeviceID, String>, TSDataType> seriesDataTypeMap =
new HashMap<>();
private final Map<TSDataType, Long> dataTypeSizeMap = new
EnumMap<>(TSDataType.class);
@@ -261,6 +265,6 @@ public class TsFileStatisticScan extends TsFileSequenceScan
{
@Override
protected void onException(Throwable t) {
- t.printStackTrace();
+ LOGGER.warn("meet error.", t);
}
}
diff --git
a/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFEqualSizeBucketRandomSample.java
b/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFEqualSizeBucketRandomSample.java
index b9c733a2df0..f77b7ab8a72 100644
---
a/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFEqualSizeBucketRandomSample.java
+++
b/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFEqualSizeBucketRandomSample.java
@@ -30,15 +30,15 @@ import
org.apache.iotdb.udf.api.exception.UDFInputSeriesDataTypeNotValidExceptio
import org.apache.iotdb.udf.api.type.Type;
import java.io.IOException;
-import java.util.Random;
+import java.security.SecureRandom;
public class UDTFEqualSizeBucketRandomSample extends UDTFEqualSizeBucketSample
{
- private Random random;
+ private SecureRandom random;
@Override
public void beforeStart(UDFParameters parameters, UDTFConfigurations
configurations) {
- random = new Random();
+ random = new SecureRandom();
configurations
.setAccessStrategy(new SlidingSizeWindowAccessStrategy(bucketSize))
.setOutputDataType(UDFDataTypeTransformer.transformToUDFDataType(dataType));