Fixes found bug on Messaging Gateway#3905
Conversation
Pull Request Review - PR #3905: Fixes found bug on Messaging GatewayOverviewThis is an extensive bug fix PR addressing critical issues across multiple messaging gateway implementations (RabbitMQ, Postgres, SQL Server, Kafka, Redis, AWS SQS V3/V4, RocketMQ, GCP Pub/Sub, and Azure). The PR fixes observability/tracing issues, CloudEvents header handling, and various gateway-specific bugs. With 1225 additions and 381 deletions across 44 files, this is a substantial change. ✅ Strengths
|
There was a problem hiding this comment.
Code Health Improved
(4 files improve in Code Health)
Gates Failed
Enforce critical code health rules
(1 file with Bumpy Road Ahead)
Enforce advisory code health rules
(5 files with Complex Method, Code Duplication, Primitive Obsession, Complex Conditional, Overall Code Complexity)
Gates Passed
2 Quality Gates Passed
See analysis details in CodeScene
Reason for failure
| Enforce critical code health rules | Violations | Code Health Impact | |
|---|---|---|---|
| RocketMqMessageProducer.cs | 1 critical rule | 9.47 → 8.19 | Suppress |
| Enforce advisory code health rules | Violations | Code Health Impact | |
|---|---|---|---|
| RocketMqMessageProducer.cs | 3 advisory rules | 9.47 → 8.19 | Suppress |
| GcpPubSubMessageGateway.cs | 2 advisory rules | 9.10 → 8.28 | Suppress |
| AzureServiceBusMessagePublisher.cs | 1 advisory rule | 10.00 → 9.69 | Suppress |
| Parser.cs | 1 advisory rule | 9.39 → 9.10 | Suppress |
| PostgresMessageConsumer.cs | 1 advisory rule | 8.55 → 8.28 | Suppress |
View Improvements
| File | Code Health Impact | Categories Improved |
|---|---|---|
| SqsInlineMessageCreator.cs | 8.93 → 9.39 | Complex Method, Bumpy Road Ahead |
| SqsMessageCreator.cs | 8.55 → 8.82 | Code Duplication, Complex Method |
| SqsInlineMessageCreator.cs | 8.93 → 9.24 | Complex Method, Bumpy Road Ahead |
| SqsMessageCreator.cs | 8.55 → 8.82 | Code Duplication, Complex Method |
Quality Gate Profile: Clean Code Collective
Want more control? Customize Code Health rules or catch issues early with our IDE extension and CLI tool.
Pull Request Review: Messaging Gateway Bug FixesThank you for this comprehensive bug fix PR! This addresses critical issues across multiple messaging gateways. Here's my detailed review: Overall Assessment✅ Strong Points:
Code Quality & Best Practices✅ Positive Observations
|
|
High Priority:
OK, we know these fixes come from the test rewrite which will address this
Might be useful to fix under the "boy scout rule"
OK Medium Priority:
Don't worry unless they are obvious, it would be better to do this post your tests working
As above
Yep please, do this one
Again, let's wait until tests are done Low Priority:
Ignore
As above, let's wait for the refactoring of the tests
Again, a good point, we could build a general utility, but let's wait for the test rewrite |
* Fixes found bug on Messaging Gateway * fixes build
* add tickerq and test project * add TickerQ library * add test for schedule message * Implement the Schedule Message Functions * add request shceduler messages WIP * add documentation * refactor test fixtures * pass the cacnelation token * refactor the creation logic of the timeTicker * fix typo * remove launch settings * use the Id instead of guid * add the strong namer for the TickerQ.Utilities isn't signed with strong name * remove properites folder * update the package to not Sign the assembly * remove space from file serviceActivator api * Remove the AckOnRead flag in AzureServiceBusConfiguration (#3899) See #3895 * Fixes found bug on Messaging Gateway (#3905) * Fixes found bug on Messaging Gateway * fixes build * Make RedisSubscription constructor as public (#3906) * add MIT License to files --------- Co-authored-by: Doğan Çeçen <sepeth@hey.com> Co-authored-by: Rafael Lillo <rafael.andrade@justeattakeaway.com> Co-authored-by: Ian Cooper <ian_hammond_cooper@yahoo.co.uk>
* Fixes found bug on Messaging Gateway * fixes build
* add tickerq and test project * add TickerQ library * add test for schedule message * Implement the Schedule Message Functions * add request shceduler messages WIP * add documentation * refactor test fixtures * pass the cacnelation token * refactor the creation logic of the timeTicker * fix typo * remove launch settings * use the Id instead of guid * add the strong namer for the TickerQ.Utilities isn't signed with strong name * remove properites folder * update the package to not Sign the assembly * remove space from file serviceActivator api * Remove the AckOnRead flag in AzureServiceBusConfiguration (BrighterCommand#3899) See BrighterCommand#3895 * Fixes found bug on Messaging Gateway (BrighterCommand#3905) * Fixes found bug on Messaging Gateway * fixes build * Make RedisSubscription constructor as public (BrighterCommand#3906) * add MIT License to files --------- Co-authored-by: Doğan Çeçen <sepeth@hey.com> Co-authored-by: Rafael Lillo <rafael.andrade@justeattakeaway.com> Co-authored-by: Ian Cooper <ian_hammond_cooper@yahoo.co.uk>
In PR (#3896), I've found some bugs around Messaging Gateway, since it can take a long time to be resolved. I've decided to create a new PR with the fixes, unblock any new release.
This is a continuation of my work on improving tests. In this PR, I'm creating a base suite test case for Messaging Gateway
Founded Bugs:
RmqSubscription<T>don't have support for Max Queue LengthRmqSubscription<T>don't have support for Max Queue LengthDisposibleAsyncwas never completedSendAsyncdid not propagate the SpanReceivingAsyncwith BinaryMessagePayload wasn't workingMsSqlQueueBuilderSource&Subjectproperty as Absolute URITimeStampserialisation/deserializationTraceParent/TraceState/Baggagewas not flowTraceParent/TraceState/Baggagewas not flowTraceParent/TraceState/Baggagewas not flowTraceParent/TraceState/Baggagewas not flowPartitionKeyTraceParent/TraceState/Baggagewas not flow