goutamadwant commented on code in PR #19946:
URL: https://github.com/apache/hudi/pull/19946#discussion_r4012455128


##########
hudi-timeline-service/src/main/java/org/apache/hudi/timeline/service/RequestHandler.java:
##########
@@ -750,9 +750,15 @@ private boolean isLocalViewBehind(Context ctx) {
       }
 
       String localTimelineHash = localTimeline.getTimelineHash();
-      // refresh if timeline hash mismatches
       if (!localTimelineHash.equals(timelineHashFromClient)) {
-        return true;
+        if 
(HoodieTimeline.INVALID_INSTANT_TS.equals(lastKnownInstantFromClient)
+            || !localTimeline.containsInstant(lastKnownInstantFromClient)) {
+          return true;
+        }
+        // A newer last instant alone is insufficient: all actions and states 
through the
+        // client boundary must match before the server can be treated as an 
exact extension.
+        return 
!localTimeline.findInstantsBeforeOrEquals(lastKnownInstantFromClient)

Review Comment:
   Confirmed: exact extensions now stay on the server view instead of 
triggering local fallback. Added documentation and regressions for 
bounded/unbounded reads, pending compaction, and divergent-timeline fallback.
   
   One distinction: bounded results are not always equivalent to the client’s 
view, since newer pending compaction can exclude a file group despite the same 
timestamp limit. The follow-up leaves the runtime algorithm unchanged. All 150 
broader tests passed.



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

Reply via email to