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

Avoid expensive tracking objects for prepared statements #37200

Closed
wants to merge 1 commit into from

Commits on Sep 15, 2019

  1. Avoid expensive tracking objects for prepared statements

    Per rails#36949 we introduce a race condition fix for rails#36763
    
    This refines the fix to avoid using Concurrent::ThreadLocalVar
    
    The implementation in the concurrent lib is rather expensive, culminating in
    a finalizer per object that spins off a thread to do cleanup work.
    
    None of this expense is needed as we can simply implement
    the desired behavior using Ruby primitives. Additionally this moves to a Fiber bound implementation vs a thread bound implementation, something that is not desired for this particular usage.
    SamSaffron committed Sep 15, 2019
    Configuration menu
    Copy the full SHA
    53599f0 View commit details
    Browse the repository at this point in the history