-
Notifications
You must be signed in to change notification settings - Fork 468
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
json: ser/de bytes as base64 strings not an array of bytes #2471
base: main
Are you sure you want to change the base?
Conversation
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #2471 +/- ##
=======================================
- Coverage 77.9% 77.6% -0.3%
=======================================
Files 123 123
Lines 22888 22962 +74
=======================================
Hits 17839 17839
- Misses 5049 5123 +74 ☔ View full report in Codecov by Sentry. |
I'm not familiar with the codebase so I took a guess as to where to apply the fix. I tried to add an integration test but I could not get a failure case to fail a test so I'm not sure if that's even in the right place either. Some pointers would be appreciated. |
"key": "data", | ||
"value": { | ||
"bytesValue": "gICA" | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
To make it complete, can we also add this entry in the json samples for logs and metrics?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sure yes!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Added. But if these are the outputs, shouldn't tests be failing?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also I wasn't sure how to add an example in a logs body
field. Can you suggest the right way to do that?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Added. But if these are the outputs, shouldn't tests be failing?
Yes these would indeed fail. Please run ./scripts/integration_tests.sh locally to validate that.
ps. - disable the failing tests from #2495 before that, so that you only get failures from your changes.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@lalitb I can't seem to get tests to agree on the order of items in attributes arrays. I'm not sure if they're getting sorted in one place but not another or something. Otherwise all tests seem to be passing. I'll point out that I had to implement bytes support for the rust sdk itself, maybe that should be it's own PR but if so it will block this PR. |
Hi, just checking if there's anything else I can do to move this along. Thanks! |
I believe this is how the proto <-> json spec defines that binary data should be handled: https://protobuf.dev/programming-guides/json/
I confirmed by exporting data from Python: