Comments (6)
Do you have repro steps to trigger?
We will need to add a new test since I finally have all tests passing in the async_flash branch
from keydb.
No I don't, but currently reviewing the code to see if I can pin point the issue. I know that removeCachedValue() properly removes the cache key, but for some reason removeAllCachedValues() is not. Will post here if I find anything useful.
from keydb.
That line above, “failed to evict keys, falling back to flushing keys” is likely the problem or closely related to it.
Make sure we are setting m_numexpires to 0 when we clear out the cache. Its only supposed to track cached expires.
from keydb.
Interesting, in server.cpp serverCron, I tried to call removeAllCachedValues() once cache count is > 5000 (in my setup, evictions happen at around 100K), it is clearing up the cached just fine. I have also tried calling removeAllCachedValues() in evict.cpp every time a key is evicted, and the cache is cleared fine as well.
Based on the above, I believe the actual bug could be somewhere else and the crash was just the trigger point that highlighted the symptoms. Perhaps there is a race between expire.cpp and evict.cpp, I will look into this a bit more...
from keydb.
That emergency deleting all cached values is pretty rare (we don't run in situations that would hit that). So my money is on the bug being related to ir.
from keydb.
I had a closer look at the logs, and it appears that when the master started the fast sync with the replica, it went past the 1.0 mem limit level (fast sync never completed, and I reverted the replica to use RDB). I did not restart the master and mem level was stuck around 1.15-1.18 range until the crash. So, likely something to do with the fast sync corrupting the structure of the cache when under memory pressure. I have reverted the master back to RBD for now to see if I can reproduce the crash.
from keydb.
Related Issues (20)
- [Help] Migration from cluster redis to keydb cluster HOT 2
- [HELP] active-replica READONLY You can't write against a read only replica HOT 1
- is this project still actively maintained? HOT 7
- [HELP] Does keydb s3 backup require already existing file in S3 bucket?
- [CRASH] [ARM] <jemalloc>: Unsupported system page size HOT 6
- MultiMaster Mode and Dns Resolve
- [BUG] Incorrect memory usage in multi-master mode
- Software freezing when Pub/Sub Worker fails many times.
- [NEW] Specify which keys should go directly to flash
- [CRASH] when trying to install redisgraph HOT 1
- Client name not visible in logs?
- [CRASH] The replicas are crashing after the master is restarted with replicas and multi-master enabled
- [NEW] MALLOC env variabile ignored
- client side caching
- Sentinel mode deployment in kubernetes
- PUBSUB NUMSUB inconsistency in cluster mode
- multi-master option missing in sample config file
- [CRASH] keydb make test failed HOT 2
- [CRASH] Starting KeyDB on ARM hardware causing serverAssert failure HOT 2
- Selective login for replicas
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from keydb.