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

Ruby 2.7 incompatibility #206

Closed
haidvo opened this issue Oct 8, 2020 · 10 comments
Closed

Ruby 2.7 incompatibility #206

haidvo opened this issue Oct 8, 2020 · 10 comments

Comments

@haidvo
Copy link

haidvo commented Oct 8, 2020

Hi,

We're running fluentd in K8s, we've recently built fluentd 1.11.2 image with Ruby 2.7 parent image.
When running this image with the exact same configuration we've had prior the upgrade fluentd process was restarted and eventually the container was restarted.
The only immediate fix was to disable Kinesis plugin.
The issue was resolved by building the image with Ruby 2.6 parent image, but, 2.7 is the latest stable release of Ruby.
If needed, we'll share the logs or the config.

K8s fluentd image was built with Ruby 2.7 parent image as well:
https://github.com/kubernetes/kubernetes/blob/master/cluster/addons/fluentd-elasticsearch/fluentd-es-image/Dockerfile#L27

@cosmo0920
Copy link
Contributor

google-protobuf supported Ruby 2.7 on 3.13.0:
https://github.com/awslabs/aws-fluent-plugin-kinesis/blob/master/fluent-plugin-kinesis.gemspec#L58
I have no idea why this plugin does not permit google-protobuf 3.13.0.

@simukappu
Copy link
Contributor

Thank you for your feedback. We've made this plugin v3.2.2 more strict gem pinning to deal with google-protobuf requiring Ruby 2.5+. See #199 for more details. I understand the issue but we have to remove Ruby 2.4 support to permit google-protobuf 3.13.0. We would appreciate any feedback.
Thanks!

@haidvo
Copy link
Author

haidvo commented Oct 21, 2020

Hi,

Thanks for replying!
Are there plans to drop Ruby 2.4 support?

@mindw
Copy link

mindw commented Oct 21, 2020

It would seem Ruby 2.4 is no longer supported:
https://www.ruby-lang.org/en/news/2020/04/05/support-of-ruby-2-4-has-ended/

@cosmo0920
Copy link
Contributor

cosmo0920 commented Oct 21, 2020

Our new td-agent package which is td-agent version 4 uses Ruby 2.7 not Ruby 2.4.
And td-agent 3 which uses Ruby 2.4 is now maintenance mode.

@cosmo0920
Copy link
Contributor

See #199 for more details. I understand the issue but we have to remove Ruby 2.4 support to permit google-protobuf 3.13.0. We would appreciate any feedback.

Ah, please wait to drop Ruby 2.4 support.
One of the our Fluentd support service customer wants to use #208 on td-agent 3 series (which runs on Ruby 2.4).

@simukappu
Copy link
Contributor

I found that google-protobuf v3.12.1+ supports Ruby 2.3+. Only v3.12.0 requires Ruby 2.5+.
https://rubygems.org/gems/google-protobuf/versions/3.12.0-universal-darwin
https://rubygems.org/gems/google-protobuf/versions/3.12.1-universal-darwin

The latest v4.0.0.rc2 also supports Ruby 2.3+
https://rubygems.org/gems/google-protobuf/versions/4.0.0.rc.2-universal-darwin

Therefore, we will remove google-protobuf gem pinning for the next fluent-plugin-kinesis version release.

simukappu added a commit to simukappu/aws-fluent-plugin-kinesis that referenced this issue Nov 2, 2020
@simukappu
Copy link
Contributor

We've just published as v3.3.0.
https://rubygems.org/gems/fluent-plugin-kinesis/versions/3.3.0

@haidah01
The new v3.3.0 passes the test with Ruby 2.7. Can you try this plugin with fluentd 1.11.2 image with Ruby 2.7 again?

@haidvo
Copy link
Author

haidvo commented Nov 3, 2020

I can confirm that it works with Ruby 2.7 and fluentd 1.11.4.
Thanks! 👍

@simukappu
Copy link
Contributor

Great👍 Closing this issue.
Thank you!

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

No branches or pull requests

4 participants