This is an automated email from the ASF dual-hosted git repository.
xingtanzjr 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 3bdb5d2cf52 fix code smells in settle package (#10293)
3bdb5d2cf52 is described below
commit 3bdb5d2cf524118052b6b93675cb69d6ece140ac
Author: shuwenwei <[email protected]>
AuthorDate: Mon Jun 26 10:07:55 2023 +0800
fix code smells in settle package (#10293)
---
.../java/org/apache/iotdb/db/engine/settle/SettleLog.java | 6 +++++-
.../apache/iotdb/db/engine/settle/SettleRequestHandler.java | 11 +++++++----
.../java/org/apache/iotdb/db/engine/settle/SettleTask.java | 6 ++++--
3 files changed, 16 insertions(+), 7 deletions(-)
diff --git
a/server/src/main/java/org/apache/iotdb/db/engine/settle/SettleLog.java
b/server/src/main/java/org/apache/iotdb/db/engine/settle/SettleLog.java
index 8eb102a4aeb..7dcc7bf1b6e 100644
--- a/server/src/main/java/org/apache/iotdb/db/engine/settle/SettleLog.java
+++ b/server/src/main/java/org/apache/iotdb/db/engine/settle/SettleLog.java
@@ -51,7 +51,11 @@ public class SettleLog {
if (!settleLogPath.getParentFile().exists()) {
settleLogPath.getParentFile().mkdirs();
}
- settleLogPath.createNewFile();
+ boolean success = settleLogPath.createNewFile();
+ if (!success && settleLogPath.isDirectory()) {
+ logger.error("meet error when creating settle log, file path:{}",
settleLogPath);
+ return false;
+ }
settleLogWriter = new BufferedWriter(new FileWriter(getSettleLogPath(),
true));
return true;
} catch (IOException e) {
diff --git
a/server/src/main/java/org/apache/iotdb/db/engine/settle/SettleRequestHandler.java
b/server/src/main/java/org/apache/iotdb/db/engine/settle/SettleRequestHandler.java
index a4cec2403e2..9092b3f994a 100644
---
a/server/src/main/java/org/apache/iotdb/db/engine/settle/SettleRequestHandler.java
+++
b/server/src/main/java/org/apache/iotdb/db/engine/settle/SettleRequestHandler.java
@@ -50,9 +50,12 @@ import java.util.HashSet;
import java.util.List;
import java.util.Set;
+@SuppressWarnings("squid:S6548")
public class SettleRequestHandler {
private static final Logger logger =
LoggerFactory.getLogger(SettleRequestHandler.class);
+ private SettleRequestHandler() {}
+
private boolean testMode = false;
public boolean isTestMode() {
@@ -101,8 +104,9 @@ public class SettleRequestHandler {
this.config = IoTDBDescriptor.getInstance().getConfig();
}
+ @SuppressWarnings("squid:S3776")
private TSStatus validate() {
- if (paths == null || paths.size() == 0) {
+ if (paths == null || paths.isEmpty()) {
return RpcUtils.getStatus(
TSStatusCode.ILLEGAL_PARAMETER, "The files to settle is not
offered.");
}
@@ -235,9 +239,7 @@ public class SettleRequestHandler {
"The TsFile is not valid: " + tsFile.getAbsolutePath());
}
continuousCount++;
- continue;
- }
- if (continuousCount != 0) {
+ } else if (continuousCount != 0) {
break;
}
}
@@ -282,6 +284,7 @@ public class SettleRequestHandler {
"meet error when adding task-{} to compaction waiting queue: {}",
task.getSerialId(),
e.getMessage());
+ Thread.currentThread().interrupt();
return RpcUtils.getStatus(
TSStatusCode.COMPACTION_ERROR, "meet error when submit settle
task.");
}
diff --git
a/server/src/main/java/org/apache/iotdb/db/engine/settle/SettleTask.java
b/server/src/main/java/org/apache/iotdb/db/engine/settle/SettleTask.java
index 50e431c4dea..40dd20b9ad3 100644
--- a/server/src/main/java/org/apache/iotdb/db/engine/settle/SettleTask.java
+++ b/server/src/main/java/org/apache/iotdb/db/engine/settle/SettleTask.java
@@ -83,9 +83,11 @@ public class SettleTask extends WrappedRunnable {
| IOException
| org.apache.iotdb.tsfile.exception.write.WriteProcessException e) {
resourceToBeSettled.readUnlock();
- logger.error("Exception to parse the tsfile in settling", e);
throw new WriteProcessException(
- "Meet error when settling file: " +
resourceToBeSettled.getTsFile().getAbsolutePath(), e);
+ String.format(
+ "Exception to parse the tsfile: %s in settling",
+ resourceToBeSettled.getTsFile().getAbsolutePath()),
+ e);
}
resourceToBeSettled.getSettleTsFileCallBack().call(resourceToBeSettled,
settledResources);