Closed icheishvili closed 4 months ago
To be clear on this one, v1.6.0 is horribly broken and doesn't handle concurrency/parallelism at all. It should be pulled until a fix like this one can be merged in. We ran into issues in production and I shudder to think of all the people that don't have change data capture turned on--they are probably dealing with permanent data corruption.
Wow! It's been 2 months since release and 1.2m downloads on Rubygems :o
I havent dug into this issue, but I have a bunch of paper_trail
related specs that fail on v1.6.0 and this PR fixes them.
I am deciding to take https://github.com/steveklabnik/request_store/pull/99 over this, as I would rather the confidence of a revert than trying to make Fibers work.
Thank you for trying to help, though, and sorry that I have been incommunicado.
when using concurrent fibers/threads+fibers, the
Fiber
object is a global klass; this automatically causes data races and all kinds of bugs to show up in any app that uses 1.6.0since the intention is for the gem to work with fibers, the best way to fulfill that intention is to patch the Fiber class such that each instance has local storage