danny0405 commented on code in PR #8745:
URL: https://github.com/apache/hudi/pull/8745#discussion_r1218862785


##########
hudi-sync/hudi-hive-sync/src/main/java/org/apache/hudi/hive/HiveSyncTool.java:
##########
@@ -298,6 +298,22 @@ protected void syncHoodieTable(String tableName, boolean 
useRealtimeInputFormat,
     LOG.info("Sync complete for " + tableName);
   }
 
+  private boolean needToSyncAllPartitions(Option<String> lastCommitTimeSynced) 
{
+    if (!lastCommitTimeSynced.isPresent()) {
+      return true;
+    }
+    if (config.getBoolean(META_SYNC_USE_STATE_TRANSIENT_TIME)) {
+      // If we use state transient time to sync partitions and the last commit 
time synced is before latest archive time
+      // We need to fall back to list all partitions instead of load the whole 
archive timeline
+      Option<String> latestArchiveTime = syncClient.getLastArchiveTime();

Review Comment:
   > the archiver will archive it immediately. And if we just looking the 
active timelime to find the 'hollow' instants we will miss the instant just 
have been archived
   
   There is no good manner to resolve the problem at this stage for Hudi, 
because we have no efficient scanning and filtering on the archived timeline, 
what we can address in the PR is the multi-writer scenarios, e.g., an instant 
which is inflight first whith following complete instants and then finishes, 
without the fix, it could be skipped.



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