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 having a 
required `String explanation` field on the annotation explaining why the 
developer is disallowing the feature. This could potentially be surfaced in the 
UI to make it clear why it can’t be run once. But more importantly it ensures 
that we’re enforcing that the thought process be documented so that another 
developer later doesn’t think “This should be able to be run once” and remove 
the annotation, overlooking certain conditions.

Thanks
-Mark


> On Mar 14, 2025, at 1:34 PM, Joe Witt <joew...@apache.org> wrote:
> 
> Team,
> 
> Please see [1]
> 
> In short - we need a way to prevent selection of 'run once' by users for
> components that don't actually support it or work that way.  MergeContent
> is a great example but listing components and Kafka and likely many others
> won't do anything useful with 'run once' invocations.
> 
> I'll kick off a vote thread once discussion seems stable.
> 
> Thanks
> Joe
> 
> [1] https://issues.apache.org/jira/browse/NIP-5

Reply via email to