github-actions[bot] commented on code in PR #69998:
URL: https://github.com/apache/doris/pull/69998#discussion_r4447315714


##########
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/ExecuteCommand.java:
##########
@@ -145,6 +145,7 @@ public void run(ConnectContext ctx, StmtExecutor executor) 
throws Exception {
         // Reuse the cached short-circuit plan only when table metadata is 
unchanged and the statement

Review Comment:
   [P1] Fall back when prepared placeholders are not all key predicates
   
   This branch can reuse any plan that was marked short-circuit by a qualifying 
key filter, but `PointQueryExecutor.directExecuteShortCircuitQuery` only fills 
`colNameToConjunct` from `idToComparisonSlot` and then throws when that map's 
size differs from `placeholderCount`. For `SELECT ?, v FROM t WHERE pk = ?`, 
the first EXECUTE publishes the cached plan and the next reusable EXECUTE fails 
before sending a result (and would otherwise retain the old projected 
parameter). Require every placeholder to be a rebindable key comparison or fall 
back to a normal replan; add a regression for a non-key placeholder.



##########
be/src/service/point_query_executor.cpp:
##########
@@ -26,6 +26,7 @@
 #include <google/protobuf/extension_set.h>

Review Comment:
   [P1] Invalidate row-cache payloads when the tablet schema changes
   
   The new reusable cache is rebuilt for this `_tablet_schema` snapshot, but 
the raw `RowCache` lookup remains keyed only by `(tablet_id, primary_key)`. A 
cached JSONB blob from the previous row-store/schema generation is decoded with 
the new SerDes; on a partial row store the cache-hit branch then returns before 
the `missing_col_uids()` column-store/default fallback. With 
`disable_storage_row_cache=false`, a schema change can therefore return 
defaults/stale values (or misread a changed complex blob). Include the 
schema/row-store generation in `RowCacheKey` or invalidate these entries on 
schema replacement, and still fill missing columns after a cache hit.



-- 
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]

Reply via email to