github-actions[bot] commented on code in PR #66018:
URL: https://github.com/apache/doris/pull/66018#discussion_r3703220981
##########
fe/be-java-extensions/paimon-scanner/src/main/java/org/apache/doris/paimon/PaimonJniScanner.java:
##########
@@ -867,6 +874,39 @@ private static void validateSerializedReadBatchSize(String
value) {
}
}
+ private boolean initTableFromCache() {
+ PaimonTableCache.TableCacheEntry cachedEntry =
PaimonTableCache.acquire(tableCacheKey);
+ if (cachedEntry == null) {
+ return false;
+ }
+ tableCacheEntry = cachedEntry;
+ table = cachedEntry.table();
+ paimonAllFieldNames = cachedEntry.fieldNames();
+ params.remove(SERIALIZED_TABLE);
Review Comment:
[P2] Drop the serialized system-source payload after resolving the cached
table. System-table scans also send a full FileStoreTable in
paimon.doris.serialized-system-source (PaimonScanPlanProvider.java:924-937). A
cold init deserializes it to rebuild the table that is published in this cache;
on a warm hit that rebuilt table is already available and this payload is never
read. This branch removes only serialized_table, so every warm system-table
scanner retains another full Base64 table string in params for the split
lifetime (and the cold path retains it after deserialization). Remove the
system-source entry on hit and after successful deserialization, and extend the
warm-hit retention test. This is distinct from discussion_r3663697749: the
current code fixes the primary serialized_table payload from that thread, not
this separate system-table source payload.
##########
be/src/format/jni/jni_reader.cpp:
##########
@@ -416,6 +398,35 @@ void JniReader::_collect_profile_before_close() {
LOG(WARNING) << "failed to get jni env when collect profile: " <<
st;
return;
}
+ COUNTER_UPDATE(_open_scanner_time, _jni_scanner_open_watcher);
Review Comment:
[P2] Forward the pre-close profile hook from JdbcScanner. This move assumes
every JniReader owner calls collect_profile_before_close() before close.
FileScanner does, but the still-live legacy JdbcScanner has no hook override
and its close() calls only _jni_reader->close(). Ordinary JDBC scans therefore
stop publishing OpenScannerTime, FillBlockTime, the Java append/create/scan
timers, and MaxTimeSplitWeight that JniReader::close() published before this
change. Please forward the child hook (or collect it immediately before close)
and add a JDBC profile regression test. This is distinct from
discussion_r3701518872: that thread requested the move but did not cover this
owner, which never invokes the new hook.
--
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]