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]
