Last active
February 15, 2021 21:18
-
-
Save tmm1/8393897 to your computer and use it in GitHub Desktop.
from the ruby-core list: http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-core/59728
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Ruby 2.1.0 in Production: known bugs and patches | |
Last week, we upgraded the github.com rails app to ruby 2.1.0 in production. | |
While testing the new build for rollout, we ran into a number of bugs. Most of | |
these have been fixed on trunk already, but I've documented them below to help | |
anyone else who might be testing ruby 2.1 in production. | |
@naruse I think we should backport these patches to the ruby_2_1 branch and | |
release 2.1.1 sooner rather than later, as some of the bugs are quite critical. | |
I'm happy to offer any assistance I can to expedite this process. | |
- Struct#send(:setter=, rhs) does not return rhs | |
#9353 (r44501) | |
breaks the faraday gem | |
- Array#uniq behavior change | |
#9340 (r44512) | |
affects the sass gem | |
- Timeout behavior change | |
#9354 (r44517, r44518, r44519) | |
#9380 (r44523) | |
breaks the faraday gem | |
- [BUG] assertion failure in socket.c | |
#9352 (r44490, r44496) | |
breaks the excon gem | |
- segfault in method() usage | |
#9334, #9313, #9310, #9326, #9337 | |
#9315 (r44455, r44458, r44510, r44527, r44552, r44553) | |
segv inside activesupport4 and other gems | |
- Hash lookup with #hash and #eql broken | |
#9381 (r44525, r44534, r44537) | |
- bigdecimal division issue | |
#9316 | |
affects some payment processing gems | |
workaround patch by @phasis: | |
https://github.com/github/ruby/commit/1e778b3b20 | |
- SizedQueue not working | |
#9302, #9343, #9396 | |
patches by @normalperson: | |
https://bugs.ruby-lang.org/attachments/download/4113 | |
https://bugs.ruby-lang.org/attachments/download/4140 | |
In addition to the bugfix patches above, we're running the following | |
performance patches in production. These have proven quite stable in our | |
environment, so I encourage you to try them if you're running a large ruby app. | |
- funny-falcon's st.c density patch | |
https://github.com/github/ruby/commit/1e025cbd2f | |
- funny-falcon's st.c pool allocator | |
https://github.com/github/ruby/commit/3d37e2b5a3 | |
- funny-falcon's method cache patch | |
https://github.com/funny-falcon/ruby/compare/trunk...class_local_cache | |
proposed for trunk in #9262 | |
- optimized Hash#[] and Hash#[]= with string literals | |
https://github.com/github/ruby/commit/86946e72d7 | |
merged to trunk in #9382 (r44551) | |
Aside from the bugs above, our upgrade to 2.1 was very smooth. I'm happy to | |
report that github.com is now running faster (and with less GC overhead) than | |
ever before. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Open issues on the 2.1 project at bugs.ruby-lang.org
https://bugs.ruby-lang.org/projects/ruby-21/issues?set_filter=1&tracker_id=4