You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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 <james.harrison@couchbase.com>
Reviewed-by: Dave Rigby <daver@couchbase.com>
Tested-by: Build Bot <build@couchbase.com>
0 commit comments