Commit log segment recycling introduces a lot of complexity in the existing code.
CASSANDRA-8729 is a side effect of commit log segment recycling and addressing it will require memory management code and thread coordination for memory that the filesystem will no longer handle for us.
There is some discussion about what storage configurations actually benefit from preallocated files. Fast random access devices like SSDs, or non-volatile write caches etc. make the distinction not that great.
I haven't measured any difference in throughput for bulk appending vs overwriting although it was pointed out that I didn't test with concurrent IO streams.
What would it take to make removing commit log segment recycling acceptable? Maybe a benchmark on a spinning disk that measures the performance impact of preallocation when there are other IO streams?