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