mirror of
https://github.com/scylladb/scylladb.git
synced 2026-05-29 19:21:01 +00:00
This commit disables the hard space limit applied by commitlogs created to store hints. The hard limit causes problems for hints because they use small-sized commitlogs to store hints (128MB, currently). Instead of letting the commitlog delete the segments itself, it recreates the commitlog every 10 seconds and manually deletes old segments after all hints are sent out from them. If the 128MB limit is reached, the hints manager will get stuck. A future which puts hint into commitlog holds a shared lock, and commitlog recreation needs to get an exclusive lock, which results in a deadlock. No more hints will be admitted, and eventually we will start rejecting writes with OverloadedException due to too many hints waiting to be admitted to the commitlog. By disabling the hard limit for hints commitlog, the old behavior is brought back - commitlog becomes more conservative with the space used after going over its size limit, but does not block until some of its segments are deleted.