forked from couchbase/kv_engine
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
MB-34017: Optimize warmup - Only warmup prepares from HCS to HPS
For Durability, we have introduced a new LoadPrepare phase at Warmup. That is necessary for loading pending Prepares from disk and inserting them into memory structures (ie, HashTable, CheckpointManager, DurabilityMonitor) for leading them to completion. Given that we need to re-process only Prepares that have not been completed (ie, Committed or Aborted), then we can safely start the LoadPrepare scan from the HCS (excluded) onward. That's because by definition every Prepare before or at HCS has been completed. After introducing the LoadPrepare phase (and before this change) we have seen an increase of 100% on the total Warmup runtime. That is because the first implementation of the LoadPrepare phase starts the scan at seqno=0. Thus, the full Warmup performs two full scans of the entire seqno-index. This patch addresses the issue. We also do not load any prepares when HCS == HPS as every prepare has been completed. Change-Id: Iaf310fe5d7f508303d05d1f5a9632b9dfcf368a7 Reviewed-on: http://review.couchbase.org/113267 Reviewed-by: James Harrison <[email protected]> Reviewed-by: Dave Rigby <[email protected]> Tested-by: Build Bot <[email protected]>
- Loading branch information
1 parent
a2b7748
commit 96ed3eb
Showing
8 changed files
with
125 additions
and
26 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters