Skip to content

Fix subscription commit recovery after RPC timeouts - #19023

Merged
jt2594838 merged 6 commits into
masterfrom
fix/subscription-sync-commit-retry
Oct 27, 2026
Merged

jt2594838 merged 6 commits into
masterfrom
fix/subscription-sync-commit-retry

Preserve subscription ACK progress across concurrent commits and serv…

b86ea09
Select commit
Loading
Failed to load commit list.
SonarQubeCloud / SonarCloud Code Analysis failed Oct 27, 2026 in 6m 14s

Quality Gate failed

Failed conditions
C Security Rating on New Code (required ≥ A)
E Reliability Rating on New Code (required ≥ A)

See analysis details on SonarQube Cloud

Catch issues before they fail your Quality Gate with our IDE extension SonarQube for IDE

Annotations

Check warning on line 65 in iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/buffer/ChunkCache.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Remove this logger and use the one already declared in this class.

See more on https://sonarcloud.io/project/issues?id=apache_iotdb&issues=AaF7OkkWOAcyQDqDFkAm&open=AaF7OkkWOAcyQDqDFkAm&pullRequest=19023

Check warning on line 273 in iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/wal/utils/WALFileUtils.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Remove the "new long[]" prefix; the declaration already specifies the array type.

See more on https://sonarcloud.io/project/issues?id=apache_iotdb&issues=AaF7Oj1BOAcyQDqDFkAM&open=AaF7Oj1BOAcyQDqDFkAM&pullRequest=19023

Check warning on line 26 in iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/wal/io/WALFormatProvider.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Abbreviation in name 'WALFormatProvider' must contain no more than '2' consecutive capital letters.

See more on https://sonarcloud.io/project/issues?id=apache_iotdb&issues=AaF7OjmBOAcyQDqDFj_s&open=AaF7OjmBOAcyQDqDFj_s&pullRequest=19023

Check warning on line 36 in iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/wal/io/WALFormatProvider.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Expected @throws tag for 'IOException'.

See more on https://sonarcloud.io/project/issues?id=apache_iotdb&issues=AaF7OjmBOAcyQDqDFj_t&open=AaF7OjmBOAcyQDqDFj_t&pullRequest=19023

Check warning on line 550 in iotdb-core/datanode/src/main/java/org/apache/iotdb/db/subscription/broker/ConsensusSubscriptionBroker.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Replace this "Collections.sort()" with "List.sort()".

See more on https://sonarcloud.io/project/issues?id=apache_iotdb&issues=AaF7Xj0SOWxqaIcOWr1h&open=AaF7Xj0SOWxqaIcOWr1h&pullRequest=19023

Check warning on line 216 in iotdb-core/datanode/src/main/java/org/apache/iotdb/db/subscription/broker/consensus/ConsensusSubscriptionSetupHandler.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Reduce the total number of break and continue statements in this loop to use at most one.

See more on https://sonarcloud.io/project/issues?id=apache_iotdb&issues=AaF7XjpbOWxqaIcOWr1e&open=AaF7XjpbOWxqaIcOWr1e&pullRequest=19023

Check warning on line 138 in iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/wal/WALManager.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Line is longer than 100 characters (found 147).

See more on https://sonarcloud.io/project/issues?id=apache_iotdb&issues=AaF7Ojy1OAcyQDqDFkAH&open=AaF7Ojy1OAcyQDqDFkAH&pullRequest=19023

Check failure on line 2469 in iotdb-core/datanode/src/main/java/org/apache/iotdb/db/subscription/broker/consensus/ConsensusPrefetchingQueue.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Refactor this method to reduce its Cognitive Complexity from 23 to the 15 allowed.

See more on https://sonarcloud.io/project/issues?id=apache_iotdb&issues=AaF7OmfNOAcyQDqDFkBu&open=AaF7OmfNOAcyQDqDFkBu&pullRequest=19023

Check warning on line 320 in iotdb-client/jdbc/src/main/java/org/apache/iotdb/jdbc/IoTDBResultMetadata.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Merge the previous cases into this one using comma-separated label.

See more on https://sonarcloud.io/project/issues?id=apache_iotdb&issues=AaF7OoeEOAcyQDqDFkCp&open=AaF7OoeEOAcyQDqDFkCp&pullRequest=19023

Check warning on line 153 in iotdb-core/datanode/src/main/java/org/apache/tsfile/write/BufferedFileChannelOutput.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Expected @throws tag for 'IOException'.

See more on https://sonarcloud.io/project/issues?id=apache_iotdb&issues=AaF7OnA2OAcyQDqDFkCF&open=AaF7OnA2OAcyQDqDFkCF&pullRequest=19023

Check failure on line 2681 in iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/ProcedureManager.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Define a constant instead of duplicating this literal "Some other task is operating table with same name." 3 times.

See more on https://sonarcloud.io/project/issues?id=apache_iotdb&issues=AaF7OnopOAcyQDqDFkCU&open=AaF7OnopOAcyQDqDFkCU&pullRequest=19023

Check warning on line 4346 in iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/DataRegion.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Replace this "Collections.sort()" with "List.sort()".

See more on https://sonarcloud.io/project/issues?id=apache_iotdb&issues=AaF7OkRkOAcyQDqDFkAY&open=AaF7OkRkOAcyQDqDFkAY&pullRequest=19023

Check warning on line 2408 in iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/ProcedureManager.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Replace this instanceof check and cast with 'instanceof AddViewColumnProcedure addviewcolumnprocedure'

See more on https://sonarcloud.io/project/issues?id=apache_iotdb&issues=AaF7OnopOAcyQDqDFkCa&open=AaF7OnopOAcyQDqDFkCa&pullRequest=19023

Check warning on line 149 in iotdb-core/datanode/src/main/java/org/apache/iotdb/db/conf/IoTDBConfig.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Make this private field "final", it is never reassigned.

See more on https://sonarcloud.io/project/issues?id=apache_iotdb&issues=AaF7OmuxOAcyQDqDFkB2&open=AaF7OmuxOAcyQDqDFkB2&pullRequest=19023

Check warning on line 303 in iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/LocalExecutionPlanContext.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Extract this nested ternary operation into an independent statement.

See more on https://sonarcloud.io/project/issues?id=apache_iotdb&issues=AaF7OlHLOAcyQDqDFkA5&open=AaF7OlHLOAcyQDqDFkA5&pullRequest=19023

Check warning on line 666 in iotdb-client/jdbc/src/main/java/org/apache/iotdb/jdbc/relational/IoTDBRelationalDatabaseMetadata.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Refactor the code in order to not assign to this loop counter from within the loop body.

See more on https://sonarcloud.io/project/issues?id=apache_iotdb&issues=AaF7OotFOAcyQDqDFkC6&open=AaF7OotFOAcyQDqDFkC6&pullRequest=19023

Check warning on line 35 in iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/wal/io/WALFormats.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

'}' at column 25 should be alone on a line.

See more on https://sonarcloud.io/project/issues?id=apache_iotdb&issues=AaF7Ojv2OAcyQDqDFkAG&open=AaF7Ojv2OAcyQDqDFkAG&pullRequest=19023

Check warning on line 830 in iotdb-client/jdbc/src/main/java/org/apache/iotdb/jdbc/IoTDBStatement.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Single-line Javadoc comment should be multi-line.

See more on https://sonarcloud.io/project/issues?id=apache_iotdb&issues=AaF7OojPOAcyQDqDFkC2&open=AaF7OojPOAcyQDqDFkC2&pullRequest=19023

Check warning on line 193 in iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/persistence/schema/TreeDeviceViewFieldDetector.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Expected @throws tag for 'SemanticException'.

See more on https://sonarcloud.io/project/issues?id=apache_iotdb&issues=AaF7On1yOAcyQDqDFkCd&open=AaF7On1yOAcyQDqDFkCd&pullRequest=19023

Check warning on line 1578 in iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/schema/ClusterSchemaManager.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Expected @throws tag for 'MetadataException'.

See more on https://sonarcloud.io/project/issues?id=apache_iotdb&issues=AaF7OnhROAcyQDqDFkCP&open=AaF7OnhROAcyQDqDFkCP&pullRequest=19023

Check failure on line 81 in iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/wal/io/WALInputStream.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Refactor this method to reduce its Cognitive Complexity from 16 to the 15 allowed.

See more on https://sonarcloud.io/project/issues?id=apache_iotdb&issues=AaF7OjtNOAcyQDqDFj_6&open=AaF7OjtNOAcyQDqDFj_6&pullRequest=19023

Check warning on line 86 in iotdb-client/jdbc/src/main/java/org/apache/iotdb/jdbc/IoTDBJDBCResultSet.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Make this private field "final", it is never reassigned.

See more on https://sonarcloud.io/project/issues?id=apache_iotdb&issues=AaF7Oov0OAcyQDqDFkDG&open=AaF7Oov0OAcyQDqDFkDG&pullRequest=19023

Check failure on line 541 in iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/security/TreeAccessCheckVisitor.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Refactor this method to reduce its Cognitive Complexity from 22 to the 15 allowed.

See more on https://sonarcloud.io/project/issues?id=apache_iotdb&issues=AaF7Ok5lOAcyQDqDFkAv&open=AaF7Ok5lOAcyQDqDFkAv&pullRequest=19023

Check warning on line 150 in iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/wal/recover/WALNodeRecoverTask.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Line is longer than 100 characters (found 113).

See more on https://sonarcloud.io/project/issues?id=apache_iotdb&issues=AaF7OjfFOAcyQDqDFj_o&open=AaF7OjfFOAcyQDqDFj_o&pullRequest=19023

Check warning on line 1733 in iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/schema/ClusterSchemaManager.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Complete the task associated to this TODO comment.

See more on https://sonarcloud.io/project/issues?id=apache_iotdb&issues=AaF7OnhROAcyQDqDFkCL&open=AaF7OnhROAcyQDqDFkCL&pullRequest=19023