fix(grpc): allow multiple wildcard subscriptions when topic validation disabled#1083
fix(grpc): allow multiple wildcard subscriptions when topic validation disabled#1083Rishabh-git10 wants to merge 3 commits into
Conversation
…n disabled Signed-off-by: Rishabh Dewangan <107680241+Rishabh-git10@users.noreply.github.com>
seherv
left a comment
There was a problem hiding this comment.
Thanks a lot for contributing to Dapr! Here are my comments
|
|
||
| sub = registered_topic.subscription | ||
| rules = registered_topic.rules | ||
|
|
There was a problem hiding this comment.
Here you should build an additional route map based on topic to know which handler actually takes it in case you get a wildcard. Something like
if disable_topic_validation and rule is None:
sub.routes.default = topic
self._route_map[(pubsub_name, topic)] = cbSigned-off-by: Rishabh Dewangan <107680241+Rishabh-git10@users.noreply.github.com>
|
Thanks for the review and guidance @seherv. |
|
@Rishabh-git10 can you fix the conflicts pls? |
Signed-off-by: Rishabh Dewangan <107680241+Rishabh-git10@users.noreply.github.com>
0e64253 to
caabd8c
Compare
|
Hey, @CasperGN I have resolved the conflicts. Let's see if the checks are happy with it. |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #1083 +/- ##
==========================================
- Coverage 86.63% 82.17% -4.46%
==========================================
Files 84 116 +32
Lines 4473 9577 +5104
==========================================
+ Hits 3875 7870 +3995
- Misses 598 1707 +1109 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Description
Fixes a
ValueErrorstartup crash and subscription drop when registering multiple wildcard paths on the same pub/sub component withdisable_topic_validation=True.Previously, enabling this flag collapsed internal tracking keys down to the pub/sub identifier alone, causing map collisions and rendering the sidecar blind to subsequent subscriptions. This change standardizes discrete internal dictionary keys across all registration paths. It introduces a regex-based pattern matching fallback evaluation inside
OnTopicEventand_handle_bulk_topic_eventto route events when direct string lookups fail.Issue reference
Closes #436
Checklist
Please make sure you've completed the relevant tasks for this PR, out of the following list: