Skip to content
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

Otel upgrade #1818

Closed
wants to merge 3 commits into from
Closed

Otel upgrade #1818

wants to merge 3 commits into from

Conversation

dak-x
Copy link
Contributor

@dak-x dak-x commented Jul 7, 2022

Pull request

Description

Adds a configurable compression on otel connectors. Integration tests are a copy of existing otel tests with only a modification to connectors config.

Note that tonic only supports gzip as of now.
This code will require changes once tonic has a new release as these function signatures have changed. Refer here for the latest (not released)

Related

Checklist

  • The RFC, if required, has been submitted and approved
  • Any user-facing impact of the changes is reflected in docs.tremor.rs
  • The code is tested
  • Use of unsafe code is reasoned about in a comment
  • Update CHANGELOG.md appropriately, recording any changes, bug fixes, or other observable changes in behavior
  • The performance impact of the change is measured (see below)

dak-x added 2 commits July 7, 2022 17:02
Signed-off-by: Daksh Chauhan <dak-x@outlook.com>
Signed-off-by: Daksh Chauhan <dak-x@outlook.com>
@dak-x
Copy link
Contributor Author

dak-x commented Jul 7, 2022

I acknowledge the formatting and clippy warnings. Will fix in the next iteration.

Signed-off-by: Daksh Chauhan <dak-x@outlook.com>
@dak-x
Copy link
Contributor Author

dak-x commented Jul 8, 2022

Discussion with Matthias:
We witness the tests for googapis failing. googapis consumes tonic = ^0.6.1, now this was fine previously. But in this change we enabled the compression feature on tonic in the tremor-otelapis crate. This feature introduced a problem which is fixed in tonic = 0.7. cargo does not build the same version of the same crate multiple times, and features apply to the whole dependency tree. As per semver rules, tonic = 0.6.2 with compression is the only version of tonic that is built.

Migrating tremor-otelapis to consume tonic = 0.7 was discussed, as then cargo would build both version of tonic. But this still comes with the problem that tremor-runtime depends on tonic = 0.6.1 and otel-clients are instantiated in the tremor-runtime, and I am unsure how two incompatible versions of tonic will behave.

If this issue is not priority then we must wait till googapis migrates to tonic - 0.7.

@mfelsche
Copy link
Member

The unfortunate truth is that https://github.com/mechiru/googapis did have any work done for months now. It could be at a time, where we just create our own fork and maintain that, this could bring us to tonic 0.7 much quicker.

@Licenser
Copy link
Member

😭

@darach
Copy link
Member

darach commented Sep 22, 2022

Superceded by #1980 and awaiting feedback from @dak-x

@dak-x
Copy link
Contributor Author

dak-x commented Nov 6, 2022

Cancelling this. Refer to the above comment.

@dak-x dak-x closed this Nov 6, 2022
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.

Add support for gzip compression to otel via tonic
4 participants