KAFKA-13092: Perf regression in LISR requests#11073
Conversation
…artition.metadata file (apache#11056) After noticing increased LISR times, we discovered a lot of time was spent synchronously flushing the partition metadata file. This PR changes the code so we asynchronously flush the files. We ensure files are flushed before appending, renaming or closing the log to ensure we have the partition metadata information on disk. Three new tests have been added to address these cases. Reviewers: Lucas Bradstreet <lucas@confluent.io>, Jun Rao <junrao@gmail.com>
|
@jolshan is it something that we must add to 2.8.1? |
|
Ah yes. I had a feeling I still had a pr open for this. I think I can clean it up a bit and it should be ready for review by tomorrow. |
|
@jolshan All the builds have failed. Could you take a look? |
|
Looks like an issue with more recent changes. I'll fix it up |
|
Fixed my issue locally but looks like 2.8 branch is broken in general. Will try to contact relevant person. |
|
fix here: #11257 |
|
Do you need to rebase the PR to include it? |
|
I think you may be able to just restart the build. (I think only committers can do that). If that doesn't work, I'll rebase. |
Done, thanks. |
|
@jolshan All tests failed, again. I think that you have to rebase to include the fix. |
|
Ok will do. |
|
@lbradstreet @junrao Could you take a look at this one as you both reviewed the original PR? |
|
@junrao @lbradstreet Thanks for your reviews. The failures are not related. I will merge it to 2.8. |
Cherry pick of 584213e
Main difference is that we do not try to write to partition metadata file when initializing the Log. Since we only do so in checkOrSet topic ID and there is a small bug in that path, the benchmark attempts to run that method last -- so that the log is created and we can actually record the ID to write.
Some quick runs of the benchmarks --
Master
PR
Committer Checklist (excluded from commit message)