github-actions[bot] commented on code in PR #61518:
URL: https://github.com/apache/doris/pull/61518#discussion_r3445755674
##########
fe/be-java-extensions/lakesoul-scanner/src/main/java/org/apache/doris/lakesoul/arrow/LakeSoulArrowJniScanner.java:
##########
@@ -145,6 +145,12 @@ protected void initTableInfo(Map<String, String> params) {
private Integer fillMetaAddressVector(int batchSize, ColumnType
columnType, long metaAddress, Integer offset,
ValueVector valueVector) {
+ OffHeap.putLong(null, metaAddress + (offset++) * 8, 0);
Review Comment:
This method builds the metadata address returned by
`LakeSoulJniScanner.getNextBatchMeta()`, so it must use the same BE-facing
layout that `JniDataBridge::fill_column()` consumes. The new leading zero is
read by BE as `null_map_ptr` because BE calls `address.next_meta_as_ptr()`
before any type-specific field, so normal LakeSoul columns now fail with
`Unsupported type ... in java side` before BE reaches the real validity buffer.
This is distinct from the shared `VectorColumn.updateMeta()` path: LakeSoul
hand-writes `metaAddress` and `VectorTable.getMetaAddress()` returns it
unchanged for `createReadableTable()`. Please keep LakeSoul's returned metadata
in the null-map-first BE layout, or translate from the Java-readable layout
before returning it to BE.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]