-
Notifications
You must be signed in to change notification settings - Fork 13
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
Cache pulls non-deterministically return a live object ref to some "other" object #13
Comments
It seems like the "live ref" is returned only prior to the object being actually persisted to redis. So there is a bit of a race between cache-put/cache-get, and can result in a request to write I think our scenario went something like the following:
Some reproduction:
|
zspitzer
added a commit
that referenced
this issue
Mar 3, 2023
davidAtInleague
added a commit
to davidAtInleague/extension-redis
that referenced
this issue
Apr 9, 2023
With goal being not sharing live object refs to the underlying "to-be-cached" objects across NearCacheEntry objects resolves lucee#13
davidAtInleague
added a commit
to davidAtInleague/extension-redis
that referenced
this issue
Nov 30, 2023
With goal being not sharing live object refs to the underlying "to-be-cached" objects across NearCacheEntry objects fixes test introduced in prior commit resolves lucee#13
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
David @ inLeague was investigating some strange behavior where redis cache gets were producing objects we'd pulled on previous requests, modified in Lucee, but then not written back to the cache, and he found the following. This occurs either with direct redis interaction or with Cachebox.
It seems pulling from cache will non-deterministically return a live object ref to some object elsewhere in the program:
Redis driver: 3.0.0.48
Lucee: 5.3.10.120
We did not notice this until we upgraded from 3.0.0.47, but the specific kind of interaction going on here doesn't happen a ton with us so that may be a red herring.
The text was updated successfully, but these errors were encountered: