Skip to content

Conversation

@JackieTien97
Copy link
Contributor

This pull request introduces support for object data types and improves BLOB/object handling in the integration test framework, along with some minor configuration and utility enhancements. The most significant changes are the addition of a comprehensive integration test for object queries, the implementation of object limit configuration, and the enhancement of BLOB retrieval in clustered result sets.

Object Data Type Support and Testing:

  • Added a new integration test class IoTDBObjectQueryIT.java to verify object and BLOB column handling, including JDBC and session API behaviors, error cases, and correct value retrieval.

Configuration Enhancements:

  • Added a setRestrictObjectLimit(boolean) method to the CommonConfig interface and its implementations (MppCommonConfig, MppSharedCommonConfig, RemoteCommonConfig), allowing tests to configure object limits in cluster environments. [1] [2] [3] [4]

Test Framework Improvements:

  • Implemented the getBlob(int) and getBlob(String) methods in ClusterTestResultSet to aggregate and compare BLOB results across multiple result sets, replacing the previous unsupported operation. [1] [2]

Utility and Minor Fixes:

  • Added a utility method getDataNodeObjectDir() in DataNodeWrapper to retrieve the object directory path for a data node.
  • Updated example usage in TableModelSessionPoolExample.java to insert a null value for the plant_id column.

JackieTien97 and others added 30 commits October 30, 2025 16:30
* Fix object table split to multi region

* Fix object table split to multi region

* fix npe
* cpp client datatype OBJECT

* removed unused notes
…rustStore and trustStorePwd. (#16676)

(cherry picked from commit acaf594)
… from the configuration file (#16681)

(cherry picked from commit 274fc9e)
…lated memory to schema engine (#16682)

(cherry picked from commit 685141a)
JackieTien97 and others added 22 commits December 18, 2025 11:25
* partial

* fix

* part

* createOrUpdate

* partial

* fix

* partial

* part

* may_main_final

* bug-fix

* fix

* Update StatementAnalyzer.java

* fix

* removal

* object

* fix-add-test

* bug-fix

* spotless

* change-back

* fix

* change-name

* fix

* fix

* partial_apply

* fix

* fix

* fix

* fix

* fix

* fix

* remove-check

* check_write

* defense

* unwebbed

* clean

* c

* remove-useless-check

* may-comp

* qp
* add base32 Object Path

* add plainObjectPath and configuration

* change default configuration

* fix UT errors

* reduce bytes copy

* implement unchangeable config

* Add IT

* add config

* replace region id for object binary

* fix ut

* spotless

* spotless

* fix rebase

* fix rebase

* Fix review

---------

Co-authored-by: shuwenwei <s13979062948@gmail.com>
Copy link
Contributor

@CRZbulabula CRZbulabula left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@sonarqubecloud
Copy link

Quality Gate Failed Quality Gate failed

Failed conditions
5.8% Duplication on New Code (required ≤ 5%)
C 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

@codecov
Copy link

codecov bot commented Dec 18, 2025

Codecov Report

❌ Patch coverage is 44.72441% with 702 lines in your changes missing coverage. Please review.
✅ Project coverage is 39.06%. Comparing base (b6c13d7) to head (38d17b6).
⚠️ Report is 2 commits behind head on master.

Files with missing lines Patch % Lines
...ngine/plan/planner/plan/node/write/ObjectNode.java 0.00% 136 Missing ⚠️
...ava/org/apache/iotdb/db/utils/ObjectTypeUtils.java 61.74% 57 Missing ⚠️
.../iotdb/db/storageengine/dataregion/DataRegion.java 20.68% 46 Missing ⚠️
...er/plan/node/write/RelationalInsertTabletNode.java 43.66% 40 Missing ⚠️
...nner/plan/node/write/RelationalInsertRowsNode.java 0.00% 28 Missing ⚠️
...n/java/org/apache/iotdb/db/utils/ObjectWriter.java 0.00% 26 Missing ⚠️
...ne/plan/relational/metadata/TableMetadataImpl.java 10.71% 25 Missing ⚠️
...execution/relational/ColumnTransformerBuilder.java 8.69% 21 Missing ⚠️
.../queryengine/plan/relational/sql/util/AstUtil.java 0.00% 20 Missing ⚠️
.../db/storageengine/dataregion/wal/node/WALNode.java 32.14% 19 Missing ⚠️
... and 58 more
Additional details and impacted files
@@             Coverage Diff              @@
##             master   #16925      +/-   ##
============================================
+ Coverage     39.04%   39.06%   +0.02%     
  Complexity      207      207              
============================================
  Files          5023     5034      +11     
  Lines        333410   334594    +1184     
  Branches      42433    42619     +186     
============================================
+ Hits         130175   130723     +548     
- Misses       203235   203871     +636     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@JackieTien97 JackieTien97 merged commit b28786b into master Dec 18, 2025
36 of 37 checks passed
@JackieTien97 JackieTien97 deleted the force_ci/object_type branch December 18, 2025 06:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.