assert(extent->is_valid() && !extent->is_initial_pending());
if (extent->is_dirty()) {
+ assert(extent->get_version() > 0);
+ if (is_root_type(extent->get_type())) {
+ // pass
+ } else if (extent->get_version() == 1 && extent->is_mutation_pending()) {
+ t.get_rewrite_stats().account_n_dirty();
+ } else {
+ t.get_rewrite_stats().account_dirty(extent->get_version());
+ }
if (epm->can_inplace_rewrite(t, extent)) {
+ // FIXME: is_dirty() is true for mutation pending extents
+ // which shouldn't do inplace rewrite because a pending transaction
+ // may fail.
DEBUGT("delta overwriting extent -- {}", t, *extent);
t.add_inplace_rewrite_extent(extent);
extent->set_inplace_rewrite_generation();