Feature #8271
Better diagnostics for ProductNotFound with multiple paths
0%
Description
We had a configuration like this:
path1: [ filt, prod1, prod2 ] path2: [ prod3 ]
Where the producer modules prod2
and prod3
depend on the output of prod1
.
When filt
rejects an event, prod1
and prod2
don't run, but prod3
still does, and then fails with a ProductNotFound
exception because prod1
didn't produce its product.
I guess this file can't be a configuration error, because it's possible prod3
doesn't use prod1
's output, but it could be detected at runtime with a message like:
"prod3 called getByLabel() for 'prod1', but 'prod1' is after filter 'filt'. Call may fail when 'filt' rejects an event".
Perhaps there are situations where prod3
can be relied upon to do effectively the same filtering internally, in which case the error when the ProductNotFound
exception is thrown could still be improved:
"ProductNotFound: 'prod1' did not run in this Event because 'filt' rejected it".
It otherwise isn't immediately apparent what the problem is, especially when filt
rarely rejects events.
History
#1 Updated by Christopher Green almost 6 years ago
- Tracker changed from Bug to Feature
- Category set to Navigation
- Status changed from New to Accepted
- Estimated time set to 8.00 h
- SSI Package art added
- SSI Package deleted (
)
We believe we can improve the error message in a way similar to that which you describe. I think we can easily apprise the user that the producer identified as providing the requested product is not present upstream of the requesting module in the same path.
#2 Updated by Kyle Knoepfel almost 6 years ago
- Target version set to 521
#3 Updated by Kyle Knoepfel over 4 years ago
- Status changed from Accepted to Assigned
- Assignee set to Kyle Knoepfel
#4 Updated by Kyle Knoepfel over 4 years ago
- Assignee changed from Kyle Knoepfel to Paul Russo
#5 Updated by Kyle Knoepfel over 3 years ago
- Target version deleted (
521)
#6 Updated by Kyle Knoepfel about 1 year ago
- Assignee deleted (
Paul Russo)