Details
-
Improvement
-
Status: Resolved
-
Normal
-
Resolution: Duplicate
-
None
-
None
-
None
-
All
-
None
Description
Cassandra startup blocked for loading key cache.
From org.apache.cassandra.service.CassandraDaemon#setup method:
try { loadRowAndKeyCacheAsync().get(); } catch (Throwable t) { JVMStabilityInspector.inspectThrowable(t); logger.warn("Error loading key or row cache", t); }
Key cache deserialize method is fetching all CANONICAL SSTables and picks one from it for each entry: https://github.com/apache/cassandra/blob/trunk/src/java/org/apache/cassandra/service/CacheService.java#L447. When the key cache is relatively big and has lots of SSTables (in thousands) then loading key cache take lots of time.
Performance of key cache loading can be improved and have timeout for it.
Attachments
Issue Links
- duplicates
-
CASSANDRA-14898 Key cache loading is very slow when there are many SSTables
- Resolved