Re: [discuss] NIP for signaling if a component supports run once

2025-03-15 Thread David Handermann
Joe, Thanks for initiating the discussion on this API improvement. The core concept sounds very useful. Regarding naming, I agree that DisallowRunOnce or RunOnceDisabled is the most explicit. The other alternative that comes to mind is an enumeration with the option for multiple values. For exam

Re: [discuss] NIP for signaling if a component supports run once

2025-03-14 Thread David Handermann
Joe, Thanks for the reply. Yes, all things considered, the explicit negative DisallowRunOnce seems like the best option. Regards, David Handermann On Fri, Mar 14, 2025 at 2:50 PM Joe Witt wrote: > > David, > > Going that @RunModes path - would we assume they support both run modes > (once and s

Re: [discuss] NIP for signaling if a component supports run once

2025-03-14 Thread Mark Payne
Joe, I’m a +1 on this. I think it makes a lot of sense. I don’t have a strong opinion on @DisallowRunOnce vs. @AllowRunOnce(false) type of approach. I think I’d lean toward being very explicit by using @DisallowRunOnce, though. The only other thing that I think might be worth considering is hav

Re: [discuss] NIP for signaling if a component supports run once

2025-03-14 Thread Michael Moser
I like this proposal as I can see it helping to reduce confusion in the Run Once feature (which itself is amazing, by the way). I do like Mark's idea of including a String argument, such as DisallowRunOnce("because reasons"). It does not even have to be used elsewhere, because at the least it can

Re: [discuss] NIP for signaling if a component supports run once

2025-03-14 Thread Joe Witt
David, Going that @RunModes path - would we assume they support both run modes (once and scheduled) if the annotation is not present at all? I also dont think 'Once' by itself would ever be valid, right But yeah i'm not in love with the naming and generally I dont love the negative form. But i

Re: [discuss] NIP for signaling if a component supports run once

2025-03-14 Thread Mark Payne
Matt, PublishKafka could still run once. But I think ConsumeKafka would not. The first time the processor is triggered, it requests data from the client, which issues a request to the Kafka server. This is asynchronous and hidden behind the poll() type of API, but it means that the first time th

Re: [discuss] NIP for signaling if a component supports run once

2025-03-14 Thread Matt Burgess
+1 from me, this would prevent the user from misunderstanding the results of running such processors once and having unmet expectations. One thing I would mention is to ensure there are NO use cases in which such processors won't be useful. The Merge processors are obvious as they need to run more