-
Notifications
You must be signed in to change notification settings - Fork 13.9k
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
DO NOT MERGE - KAFKA-1194 PARTIAL bug fix #5933
Conversation
It makes sure to close a segment file handles prior to deletion trial.
Tested and not working for delete topics.
Fails with
Please test on your end for this test case too, and I think this PR should address this error |
Hi Stephane, Thank you for testing. That been said, I will take a look at the directory renaming error as well (hopefully on Sunday), as I am traveling abroad shortly. |
To me, anything that has to do with log files being moved, renamed and deleted should be addressed as part of this PR. |
Thanks Stephane, By binding the entire file handling (renaming, moving, deleting) as a single issue, we are preventing the community from having a better version. I do agree that the topics you've mentioned should be addressed, but to be practical - I cannot estimate when I will have the time to solve all these issues. Personally, I can only take it step by step. I would advise looking at this PR as a file retention enabler. It's the minimal non obtrusive change (I was able to come up with) required in order to make the mechanism work. It seems (to me) that as these issues are being handled by people, based on free time and good will, it is worth considering the approach I've proposed. But that's just me :-) |
This is a partial fix to the retention mechanism on Windows.
It makes sure to close a segment file handles prior to deletion trial.
Why is it partial? As it cannot work together will the log compaction policy.
Should work with a similar to the following configuration:
log.segment.bytes=1048576
log.retention.bytes= 5485760
log.retention.minutes = 1
log.retention.check.interval.minutes = 1
log.cleanup.policy = delete
log.cleaner.enable = false
log.roll.ms = 10000 <= Can be specified but will not cause any failure without the above two lines of configuration (log.cleanup.policy, log.cleaner.enable)
Committer Checklist (excluded from commit message)