Skip to content

Conversation

@idokka
Copy link

@idokka idokka commented Dec 14, 2025

Entire trace record will be rejected if payload contains any non-Latin1 character, which leads to missed trace records despite of successful processing of the messages themselve.

Proposed Changes

Tracing is used to monitor message exchange, and it is really unclear why the system works but specific messages are not presented in the trace files.

The entire project works fine with UTF-8 encoded payload, including official Docker images preconfigured to use UTF-8 as a system wide locale, so it is obvious to use UTF-8 encoding by default in the tracing plugin,

Additional options (like drop down list with encodings to use by tracing plugin) were not implemented as it is not tracing plugin feature, but a missing of support in the tracing plugin of the specified encoding, despite it is used by server itself.

No related issues were found.

No unit tests were implemented for this change.

Types of Changes

What types of changes does your code introduce to this project?
Put an x in the boxes that apply

  • Bug fix (non-breaking change which fixes issue #NNNN)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause an observable behavior change in existing systems)
  • Documentation improvements (corrections, new content, etc)
  • Cosmetic change (whitespace, formatting, etc)
  • Build system and/or CI

Checklist

Put an x in the boxes that apply.
You can also fill these out after creating the PR.
This is simply a reminder of what we are going to look for before merging your code.

  • Mandatory: I (or my employer/client) have have signed the CA (see https://github.com/rabbitmq/cla)
  • I have read the CONTRIBUTING.md document
  • I have added tests that prove my fix is effective or that my feature works
  • All tests pass locally with my changes
  • If relevant, I have added necessary documentation to https://github.com/rabbitmq/rabbitmq-website
  • If relevant, I have added this change to the first version(s) in release-notes that I expect to introduce it

Entire trace record will be rejected if payload contains any
non-Latin1 character, which leads to missed trace records despite of
successful processing of the messages themselves.
@michaelklishin
Copy link
Collaborator

michaelklishin commented Dec 15, 2025

@idokka thank you for taking the time.

This seems to be your first contribution to RabbitMQ. Please sign our contributor CLA before we proceed.

@idokka
Copy link
Author

idokka commented Dec 15, 2025

Will check test fails and fix. Thanks for triggering the test job.

As `prim_file:open/2` does not support encoding
the text record will be encoded by `io_lib:bformat/2` in place.
@michaelklishin
Copy link
Collaborator

By merging main into this topic branch (instead of rebasing), you've made it impossible for this PR to be easily backported.

@michaelklishin michaelklishin added this to the 4.3.0 milestone Dec 15, 2025
@idokka
Copy link
Author

idokka commented Dec 15, 2025

Sorry, will redo and make better and deeper local testing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants