Skip to content

Subscription: support table-model column-filter for topics - #17936

Merged
jt2594838 merged 22 commits into
masterfrom
feature/subscription-column-filter
Jul 13, 2026
Merged

jt2594838 merged 22 commits into
masterfrom
feature/subscription-column-filter

Enforce metadata lease fencing for table snapshots

de80c3a
Select commit
Loading
Failed to load commit list.
SonarQubeCloud / SonarCloud Code Analysis failed Jul 10, 2026 in 2m 36s

Quality Gate failed

Failed conditions
B 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 failure on line 2003 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 17 to the 15 allowed.

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

Check warning on line 153 in iotdb-client/subscription/src/main/java/org/apache/iotdb/rpc/subscription/payload/poll/SubscriptionPollResponse.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Remove the unnecessary boolean literal.

See more on https://sonarcloud.io/project/issues?id=apache_iotdb&issues=AZ688g9jzat-rTvK-hyh&open=AZ688g9jzat-rTvK-hyh&pullRequest=17936

Check warning on line 66 in iotdb-core/datanode/src/main/java/org/apache/iotdb/db/subscription/columnfilter/ColumnFilterParser.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Remove duplicates in this character class.

See more on https://sonarcloud.io/project/issues?id=apache_iotdb&issues=AZ688g7Dzat-rTvK-hyZ&open=AZ688g7Dzat-rTvK-hyZ&pullRequest=17936

Check failure on line 571 in iotdb-core/datanode/src/main/java/org/apache/iotdb/db/subscription/broker/consensus/ConsensusLogToTabletConverter.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=AZ688g21zat-rTvK-hyO&open=AZ688g21zat-rTvK-hyO&pullRequest=17936

Check warning on line 91 in iotdb-core/datanode/src/main/java/org/apache/iotdb/db/subscription/columnfilter/ColumnFilterBinder.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=AZ688g6qzat-rTvK-hyQ&open=AZ688g6qzat-rTvK-hyQ&pullRequest=17936

Check warning on line 66 in iotdb-core/datanode/src/main/java/org/apache/iotdb/db/subscription/columnfilter/ColumnFilterEvaluator.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Use a primitive boolean expression here.

See more on https://sonarcloud.io/project/issues?id=apache_iotdb&issues=AZ688g6yzat-rTvK-hyS&open=AZ688g6yzat-rTvK-hyS&pullRequest=17936

Check failure on line 41 in iotdb-core/datanode/src/main/java/org/apache/iotdb/db/subscription/columnfilter/TabletColumnPruner.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

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

See more on https://sonarcloud.io/project/issues?id=apache_iotdb&issues=AZ688g66zat-rTvK-hyU&open=AZ688g66zat-rTvK-hyU&pullRequest=17936

Check warning on line 295 in iotdb-core/datanode/src/main/java/org/apache/iotdb/db/subscription/event/batch/SubscriptionPipeTabletEventBatch.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Line is longer than 100 characters (found 180).

See more on https://sonarcloud.io/project/issues?id=apache_iotdb&issues=AZ81WWMx3mykXobH9-XH&open=AZ81WWMx3mykXobH9-XH&pullRequest=17936

Check warning on line 41 in iotdb-core/datanode/src/main/java/org/apache/iotdb/db/subscription/columnfilter/TabletColumnPruner.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

A "Brain Method" was detected. Refactor it to reduce at least one of the following metrics: LOC from 82 to 64, Complexity from 25 to 14, Nesting Level from 3 to 2, Number of Variables from 23 to 6.

See more on https://sonarcloud.io/project/issues?id=apache_iotdb&issues=AZ688g66zat-rTvK-hyV&open=AZ688g66zat-rTvK-hyV&pullRequest=17936

Check warning on line 105 in iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/sink/payload/evolvable/batch/PipeTabletEventTsFileBatch.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=AZ688gvxzat-rTvK-hyL&open=AZ688gvxzat-rTvK-hyL&pullRequest=17936

Check warning on line 167 in iotdb-core/datanode/src/main/java/org/apache/iotdb/db/subscription/event/batch/SubscriptionPipeTabletEventBatch.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Return an empty collection instead of null.

See more on https://sonarcloud.io/project/issues?id=apache_iotdb&issues=AZ7-TtPhYdh0ur_Z_Ov7&open=AZ7-TtPhYdh0ur_Z_Ov7&pullRequest=17936

Check warning on line 1990 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

Line is longer than 100 characters (found 106).

See more on https://sonarcloud.io/project/issues?id=apache_iotdb&issues=AZ7-TtSUYdh0ur_Z_Ov_&open=AZ7-TtSUYdh0ur_Z_Ov_&pullRequest=17936

Check warning on line 831 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

A "Brain Method" was detected. Refactor it to reduce at least one of the following metrics: LOC from 67 to 64, Complexity from 17 to 14, Nesting Level from 3 to 2, Number of Variables from 17 to 6.

See more on https://sonarcloud.io/project/issues?id=apache_iotdb&issues=AZ688g2dzat-rTvK-hyM&open=AZ688g2dzat-rTvK-hyM&pullRequest=17936

Check warning on line 146 in iotdb-core/datanode/src/main/java/org/apache/iotdb/db/subscription/columnfilter/ColumnFilterParser.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=AZ74Xf6_WYpOdl3gWQoB&open=AZ74Xf6_WYpOdl3gWQoB&pullRequest=17936

Check warning on line 1197 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

A "Brain Method" was detected. Refactor it to reduce at least one of the following metrics: LOC from 90 to 64, Complexity from 20 to 14, Nesting Level from 4 to 2, Number of Variables from 10 to 6.

See more on https://sonarcloud.io/project/issues?id=apache_iotdb&issues=AZ688g2dzat-rTvK-hyN&open=AZ688g2dzat-rTvK-hyN&pullRequest=17936

Check warning on line 86 in iotdb-core/datanode/src/main/java/org/apache/iotdb/db/subscription/columnfilter/TreeViewTabletProjector.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=AZ7-TtRFYdh0ur_Z_Ov9&open=AZ7-TtRFYdh0ur_Z_Ov9&pullRequest=17936

Check warning on line 1242 in iotdb-client/subscription/src/main/java/org/apache/iotdb/session/subscription/consumer/base/AbstractSubscriptionConsumer.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

'block' child has incorrect indentation level 12, expected level should be 10.

See more on https://sonarcloud.io/project/issues?id=apache_iotdb&issues=AZ688g8lzat-rTvK-hyd&open=AZ688g8lzat-rTvK-hyd&pullRequest=17936

Check warning on line 66 in iotdb-core/datanode/src/main/java/org/apache/iotdb/db/subscription/columnfilter/ColumnFilterParser.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Use concise character class syntax '\\w' instead of '[A-Za-z_0-9]'.

See more on https://sonarcloud.io/project/issues?id=apache_iotdb&issues=AZ688g7Dzat-rTvK-hyb&open=AZ688g7Dzat-rTvK-hyb&pullRequest=17936

Check warning on line 1164 in iotdb-client/subscription/src/main/java/org/apache/iotdb/session/subscription/consumer/base/AbstractSubscriptionConsumer.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

A "Brain Method" was detected. Refactor it to reduce at least one of the following metrics: LOC from 95 to 64, Complexity from 15 to 14, Nesting Level from 4 to 2, Number of Variables from 22 to 6.

See more on https://sonarcloud.io/project/issues?id=apache_iotdb&issues=AZ688g8lzat-rTvK-hyc&open=AZ688g8lzat-rTvK-hyc&pullRequest=17936

Check warning on line 77 in iotdb-core/datanode/src/main/java/org/apache/iotdb/db/subscription/event/batch/SubscriptionPipeTabletEventBatch.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Use a thread-safe type; adding "volatile" is not enough to make this field thread-safe.

See more on https://sonarcloud.io/project/issues?id=apache_iotdb&issues=AZ7-TtPhYdh0ur_Z_Ov6&open=AZ7-TtPhYdh0ur_Z_Ov6&pullRequest=17936

Check warning on line 143 in iotdb-core/datanode/src/main/java/org/apache/iotdb/db/subscription/columnfilter/ColumnFilterParser.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=AZ74Xf6_WYpOdl3gWQoD&open=AZ74Xf6_WYpOdl3gWQoD&pullRequest=17936

Check warning on line 64 in iotdb-core/datanode/src/main/java/org/apache/iotdb/db/subscription/columnfilter/ColumnFilterParser.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Use concise character class syntax '\\w' instead of '[A-Za-z_0-9]'.

See more on https://sonarcloud.io/project/issues?id=apache_iotdb&issues=AZ688g7Dzat-rTvK-hyY&open=AZ688g7Dzat-rTvK-hyY&pullRequest=17936

Check warning on line 151 in iotdb-core/datanode/src/main/java/org/apache/iotdb/db/subscription/columnfilter/ColumnFilterParser.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=AZ688g7Dzat-rTvK-hyW&open=AZ688g7Dzat-rTvK-hyW&pullRequest=17936

Check warning on line 404 in iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/persistence/subscription/SubscriptionInfo.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=AZ74Xf_GWYpOdl3gWQoF&open=AZ74Xf_GWYpOdl3gWQoF&pullRequest=17936

Check warning on line 62 in iotdb-core/datanode/src/main/java/org/apache/iotdb/db/subscription/columnfilter/ColumnFilterParser.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Use concise character class syntax '\\w' instead of '[A-Za-z_0-9]'.

See more on https://sonarcloud.io/project/issues?id=apache_iotdb&issues=AZ688g7Dzat-rTvK-hyX&open=AZ688g7Dzat-rTvK-hyX&pullRequest=17936