This is an automated email from the ASF dual-hosted git repository. jackietien pushed a commit to branch SonarFix in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit 26b14203c487e0b1cf8b3266b488fc0ac1c2a9ae Author: JackieTien97 <[email protected]> AuthorDate: Wed Sep 24 15:23:33 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));
