This is an automated email from the ASF dual-hosted git repository.
justinchen pushed a commit to branch auth_check_except
in repository https://gitbox.apache.org/repos/asf/iotdb.git
The following commit(s) were added to refs/heads/auth_check_except by this push:
new ca50b78b007 edge
ca50b78b007 is described below
commit ca50b78b007611e5c30954a87517e2bb6317fc9c
Author: Caideyipi <[email protected]>
AuthorDate: Tue Nov 25 17:42:25 2025 +0800
edge
---
.../sink/protocol/IoTDBConfigRegionAirGapSink.java | 6 +++--
.../pipe/sink/protocol/IoTDBConfigRegionSink.java | 6 +++--
.../airgap/IoTDBSchemaRegionAirGapSink.java | 6 +++--
.../handler/PipeConsensusDeleteEventHandler.java | 2 +-
.../thrift/sync/IoTDBDataRegionSyncSink.java | 3 ++-
.../thrift/sync/IoTDBSchemaRegionSink.java | 6 +++--
.../pipe/receiver/PipeReceiverStatusHandler.java | 27 ++++++++++++++++++----
7 files changed, 42 insertions(+), 14 deletions(-)
diff --git
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/pipe/sink/protocol/IoTDBConfigRegionAirGapSink.java
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/pipe/sink/protocol/IoTDBConfigRegionAirGapSink.java
index 83c03ca9cd0..882c33cb657 100644
---
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/pipe/sink/protocol/IoTDBConfigRegionAirGapSink.java
+++
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/pipe/sink/protocol/IoTDBConfigRegionAirGapSink.java
@@ -191,7 +191,8 @@ public class IoTDBConfigRegionAirGapSink extends
IoTDBAirGapSink {
new
TSStatus(TSStatusCode.PIPE_RECEIVER_USER_CONFLICT_EXCEPTION.getStatusCode())
.setMessage(errorMessage),
errorMessage,
- pipeConfigRegionWritePlanEvent.toString());
+ pipeConfigRegionWritePlanEvent.toString(),
+ true);
}
}
@@ -252,7 +253,8 @@ public class IoTDBConfigRegionAirGapSink extends
IoTDBAirGapSink {
new
TSStatus(TSStatusCode.PIPE_RECEIVER_USER_CONFLICT_EXCEPTION.getStatusCode())
.setMessage(errorMessage),
errorMessage,
- pipeConfigRegionSnapshotEvent.toString());
+ pipeConfigRegionSnapshotEvent.toString(),
+ true);
} else {
LOGGER.info("Successfully transferred config region snapshot {}.",
snapshot);
}
diff --git
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/pipe/sink/protocol/IoTDBConfigRegionSink.java
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/pipe/sink/protocol/IoTDBConfigRegionSink.java
index 5866839af17..5ce03f02598 100644
---
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/pipe/sink/protocol/IoTDBConfigRegionSink.java
+++
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/pipe/sink/protocol/IoTDBConfigRegionSink.java
@@ -188,7 +188,8 @@ public class IoTDBConfigRegionSink extends IoTDBSslSyncSink
{
String.format(
"Transfer config region write plan %s error, result status %s.",
pipeConfigRegionWritePlanEvent.getConfigPhysicalPlan().getType(), status),
- pipeConfigRegionWritePlanEvent.getConfigPhysicalPlan().toString());
+ pipeConfigRegionWritePlanEvent.getConfigPhysicalPlan().toString(),
+ true);
}
if (LOGGER.isDebugEnabled()) {
@@ -279,7 +280,8 @@ public class IoTDBConfigRegionSink extends IoTDBSslSyncSink
{
String.format(
"Seal config region snapshot file %s error, result status %s.",
snapshotFile, resp.getStatus()),
- snapshotFile.toString());
+ snapshotFile.toString(),
+ true);
}
LOGGER.info("Successfully transferred config region snapshot {}.",
snapshotFile);
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/sink/protocol/airgap/IoTDBSchemaRegionAirGapSink.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/sink/protocol/airgap/IoTDBSchemaRegionAirGapSink.java
index 3634b2396a4..e4d39b49523 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/sink/protocol/airgap/IoTDBSchemaRegionAirGapSink.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/sink/protocol/airgap/IoTDBSchemaRegionAirGapSink.java
@@ -122,7 +122,8 @@ public class IoTDBSchemaRegionAirGapSink extends
IoTDBDataNodeAirGapSink {
new
TSStatus(TSStatusCode.PIPE_RECEIVER_USER_CONFLICT_EXCEPTION.getStatusCode())
.setMessage(errorMessage),
errorMessage,
- pipeSchemaRegionWritePlanEvent.toString());
+ pipeSchemaRegionWritePlanEvent.toString(),
+ true);
}
}
@@ -187,7 +188,8 @@ public class IoTDBSchemaRegionAirGapSink extends
IoTDBDataNodeAirGapSink {
new
TSStatus(TSStatusCode.PIPE_RECEIVER_USER_CONFLICT_EXCEPTION.getStatusCode())
.setMessage(errorMessage),
errorMessage,
- pipeSchemaRegionSnapshotEvent.toString());
+ pipeSchemaRegionSnapshotEvent.toString(),
+ true);
} else {
LOGGER.info(
"Successfully transferred schema region snapshot {}, {} and {}.",
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/sink/protocol/pipeconsensus/handler/PipeConsensusDeleteEventHandler.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/sink/protocol/pipeconsensus/handler/PipeConsensusDeleteEventHandler.java
index 6f4e93ba445..2f39ffab39d 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/sink/protocol/pipeconsensus/handler/PipeConsensusDeleteEventHandler.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/sink/protocol/pipeconsensus/handler/PipeConsensusDeleteEventHandler.java
@@ -79,7 +79,7 @@ public class PipeConsensusDeleteEventHandler
// Only handle the failed statuses to avoid string format performance
overhead
if (status.getCode() != TSStatusCode.SUCCESS_STATUS.getStatusCode()
&& status.getCode() !=
TSStatusCode.REDIRECTION_RECOMMEND.getStatusCode()) {
- connector.statusHandler().handle(status, status.getMessage(),
event.toString());
+ connector.statusHandler().handle(status, status.getMessage(),
event.toString(), true);
}
event.decreaseReferenceCount(PipeConsensusDeleteEventHandler.class.getName(),
true);
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/sink/protocol/thrift/sync/IoTDBDataRegionSyncSink.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/sink/protocol/thrift/sync/IoTDBDataRegionSyncSink.java
index 27ad636db38..016f787afaa 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/sink/protocol/thrift/sync/IoTDBDataRegionSyncSink.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/sink/protocol/thrift/sync/IoTDBDataRegionSyncSink.java
@@ -253,7 +253,8 @@ public class IoTDBDataRegionSyncSink extends
IoTDBDataNodeSyncSink {
String.format(
"Transfer deletion %s error, result status %s.",
pipeDeleteDataNodeEvent.getDeleteDataNode().getType(), status),
- pipeDeleteDataNodeEvent.getDeletionResource().toString());
+ pipeDeleteDataNodeEvent.getDeletionResource().toString(),
+ true);
}
if (LOGGER.isDebugEnabled()) {
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/sink/protocol/thrift/sync/IoTDBSchemaRegionSink.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/sink/protocol/thrift/sync/IoTDBSchemaRegionSink.java
index e1e1e7868d7..e001367a4c0 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/sink/protocol/thrift/sync/IoTDBSchemaRegionSink.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/sink/protocol/thrift/sync/IoTDBSchemaRegionSink.java
@@ -127,7 +127,8 @@ public class IoTDBSchemaRegionSink extends
IoTDBDataNodeSyncSink {
String.format(
"Transfer data node write plan %s error, result status %s.",
pipeSchemaRegionWritePlanEvent.getPlanNode().getType(), status),
- pipeSchemaRegionWritePlanEvent.getPlanNode().toString());
+ pipeSchemaRegionWritePlanEvent.getPlanNode().toString(),
+ true);
}
if (LOGGER.isDebugEnabled()) {
@@ -222,7 +223,8 @@ public class IoTDBSchemaRegionSink extends
IoTDBDataNodeSyncSink {
String.format(
"Seal file %s, %s and %s error, result status %s.",
mTreeSnapshotFile, tagLogSnapshotFile, attributeSnapshotFile,
resp.getStatus()),
- snapshotEvent.toString());
+ snapshotEvent.toString(),
+ true);
}
LOGGER.info(
diff --git
a/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/pipe/receiver/PipeReceiverStatusHandler.java
b/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/pipe/receiver/PipeReceiverStatusHandler.java
index 9fe87b22fd7..8909218677e 100644
---
a/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/pipe/receiver/PipeReceiverStatusHandler.java
+++
b/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/pipe/receiver/PipeReceiverStatusHandler.java
@@ -86,6 +86,11 @@ public class PipeReceiverStatusHandler {
this.skipIfNoPrivileges = skipIfNoPrivileges;
}
+ public void handle(
+ final TSStatus status, final String exceptionMessage, final String
recordMessage) {
+ handle(status, exceptionMessage, recordMessage, false);
+ }
+
/**
* Handle {@link TSStatus} returned by receiver. Do nothing if ignore the
{@link Event}, and throw
* exception if retry the {@link Event}. Upper class must ensure that the
method is invoked only
@@ -99,7 +104,10 @@ public class PipeReceiverStatusHandler {
* put any time-related info here
*/
public void handle(
- final TSStatus status, final String exceptionMessage, final String
recordMessage) {
+ final TSStatus status,
+ final String exceptionMessage,
+ final String recordMessage,
+ final boolean log4NoPrivileges) {
if (RetryUtils.needRetryForWrite(status.getCode())) {
LOGGER.info("IoTConsensusV2: will retry with increasing interval.
status: {}", status);
@@ -184,17 +192,28 @@ public class PipeReceiverStatusHandler {
case 803: // NO_PERMISSION
if (skipIfNoPrivileges) {
+ if (log4NoPrivileges) {
+ LOGGER.warn(
+ "{}: Skip if no privileges. will be ignored. event: {}.
status: {}",
+ getNoPermission(true),
+ shouldRecordIgnoredDataWhenOtherExceptionsOccur ?
recordMessage : "not recorded",
+ status);
+ }
return;
}
handleOtherExceptions(status, exceptionMessage, recordMessage, true);
break;
- case 305:
- handleOtherExceptions(status, exceptionMessage, recordMessage, false);
- break;
default:
// Some auth error may be wrapped in other codes
if (exceptionMessage.contains(NO_PERMISSION_STR)) {
if (skipIfNoPrivileges) {
+ if (log4NoPrivileges) {
+ LOGGER.warn(
+ "{}: Skip if no privileges. will be ignored. event: {}.
status: {}",
+ getNoPermission(true),
+ shouldRecordIgnoredDataWhenOtherExceptionsOccur ?
recordMessage : "not recorded",
+ status);
+ }
return;
}
handleOtherExceptions(status, exceptionMessage, recordMessage, true);