codope commented on PR #11580:
URL: https://github.com/apache/hudi/pull/11580#issuecomment-2364976508

   > [#11580 
(comment)](https://github.com/apache/hudi/pull/11580#discussion_r1767232434)
   > 
   > for this: I don't get you. but, we do take locks.
   > 
   > ```
   >   public Option<String> scheduleTableService(String instantTime, 
Option<Map<String, String>> extraMetadata,
   >                                              TableServiceType 
tableServiceType) {
   >     // A lock is required to guard against race conditions between an 
ongoing writer and scheduling a table service.
   >     final Option<HoodieInstant> inflightInstant = Option.of(new 
HoodieInstant(HoodieInstant.State.REQUESTED,
   >         tableServiceType.getAction(), instantTime));
   >     try {
   >       this.txnManager.beginTransaction(inflightInstant, Option.empty());
   >       LOG.info("Scheduling table service {}", tableServiceType);
   >       return scheduleTableServiceInternal(instantTime, extraMetadata, 
tableServiceType);
   >     } finally {
   >       this.txnManager.endTransaction(inflightInstant);
   >     }
   >   }
   > ```
   > 
   > within the BaseHoodieTableServiceClient
   
   @nsivabalan what I meant to ask is do we need to validate using 
`TimestampUtils.validateForLatestTimestamp(metaClient, inflightInstant);` 
within the transaction  instead of calling it inside individual 
comapction/clustering plan executor?


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