pltbkd commented on issue #1016:
URL: https://github.com/apache/flink-agents/issues/1016#issuecomment-5664738090

   Java won't enable the digest — it's already id-only via 
`DurableCallable.getId()`. For API tidiness I'd lean toward dropping the digest 
field from the state and unifying on a single `durable_id`; on the Python side, 
when no `durable_id` is given we'd implicitly derive one from the current 
function-id + args-digest, which keeps Python's ergonomics while aligning both 
sides. But this still leaves the lambda hazard, so I'm also fine with just 
requiring an explicit `durable_id`.
   
   `durable_gather` is a good Pythonic proposal, +1 — and if we adopt it I'd 
prefer `ctx.durable_gather(...)`. Java can't take the same shape: 
`durableExecuteAsync` returns the value directly (implicitly submitting and 
yielding), leaving no lazy handle to compose, so Java still needs 
`List<DurableCallable>`. Considering that we agreed on respecting the language 
habits, I think that difference is acceptable.
   
   But there is one concern: this shape holds only because 
`durable_execute_async` is lazy — submitted on await, so the runtime can 
reserve the whole batch's pending slots before anything starts. If we ever move 
to eager submission, that reserve-before-execute mechanism (the consistency 
design from the earlier batch PR) breaks. Do you see a problem here? @da-daken 
@joeyutong @wenjin272 


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