ZihanLi58 commented on code in PR #3549:
URL: https://github.com/apache/gobblin/pull/3549#discussion_r971361796
##########
gobblin-runtime/src/main/java/org/apache/gobblin/runtime/api/SpecStore.java:
##########
@@ -78,6 +78,16 @@ public interface SpecStore {
*/
Spec updateSpec(Spec spec) throws IOException, SpecNotFoundException;
+ /***
+ * Update {@link Spec} in the {@link SpecStore} when current version is
smaller than {@link version}.
+ * @param spec {@link Spec} to be updated.
+ * @param version largest version that current spec should be
+ * @throws IOException Exception in updating the {@link Spec}.
+ * @return Updated {@link Spec}.
+ * @throws SpecNotFoundException If {@link Spec} being updated is not
present in store.
+ */
+ default Spec updateSpec(Spec spec, long version) throws IOException,
SpecNotFoundException {return updateSpec(spec);};
Review Comment:
If we are able to accept request from multi host, it's possible that two
user try to modify same flow at the same time, especially for patch update,
this version is introduced to avoid this situation, only the first update will
go through, the second one will fail with the concurrent update exception.
--
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]