-
Notifications
You must be signed in to change notification settings - Fork 312
change JMS producers to use $ as replacement for - #2145
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
1fc764d
to
052352c
Compare
@richardstartin This breaking change has caused downtime in our platform: We're using Amazon AWS SQS, which does not support message attributes containing a dollar sign. The following exception is thrown: After a lot of digging, we were able to find this breaking change in the APM Java Agent, and found the ENV variable revert back to the old behavior. Please don't remove the DD_TRACE_JMS_LEGACY_DASH_REPLACEMENT, since we're now relying on the legacy behavior. Why is replacing hyphen with dollar needed? SQS is fine with hyphens, so no need for replacing anything ?!? |
@blagerweij thank you for reporting this issue and I apologise for the inconvenience caused; the impact on SQS was unanticipated. We have updated our release notes for 0.76.0 to warn SQS users not to use the release, and will do a release later in the day to include the changes in #2547 which reverts this change. |
@blagerweij to answer the question about hyphens. JMS does not support hyphens:
|
This is backward incompatible.
The consumer was updated in version 0.59.0 to start accepting
$
as a placeholder. The producer wasn't updates at that time to avoid breaking mixed deployments. This could probably be done now, with a migration note for mixed tracer version environments stating that producers >= 0.76.0 require consumers >= 0.59.0.