diff options
author | Keith Bostic <keith@wiredtiger.com> | 2013-12-10 15:25:16 -0500 |
---|---|---|
committer | Keith Bostic <keith@wiredtiger.com> | 2013-12-10 15:25:16 -0500 |
commit | ee6e36335686a9519878fd74ad2b869433b376e2 (patch) | |
tree | 095845696cb6ff5ad2be03fe7a0e77b90881f132 | |
parent | 1d9f9b163fc74e0cda5621540f7498829f0c047a (diff) | |
download | mongo-ee6e36335686a9519878fd74ad2b869433b376e2.tar.gz |
I don't believe it's possible for a key/value pair to be deleted without
instantiating the key, which makes this call to __wt_row_leaf_key_work
unnecessary; assert the fact.
-rw-r--r-- | src/btree/rec_write.c | 17 |
1 files changed, 7 insertions, 10 deletions
diff --git a/src/btree/rec_write.c b/src/btree/rec_write.c index 6fd89ca9429..4840e863eb0 100644 --- a/src/btree/rec_write.c +++ b/src/btree/rec_write.c @@ -3454,22 +3454,19 @@ __rec_row_leaf(WT_SESSION_IMPL *session, if (WT_UPDATE_DELETED_ISSET(upd)) { /* * Overflow keys referencing discarded values - * are no longer useful, schedule the discard - * of the backing blocks. Don't worry about - * reuse, reusing the key in this reconciliation - * is unlikely. + * are no longer useful, discard the backing + * blocks. Don't worry about reuse, reusing + * keys from a row-store page reconciliation + * seems unlikely enough to ignore. * * Keys are part of the name-space though, we * can't remove them from the in-memory tree; - * if an overflow key was never instantiated, - * do it now. + * assert the key was instantiated, otherwise + * we might try and look it up. */ __wt_cell_unpack(cell, unpack); if (unpack->ovfl) { - if (ikey == NULL) - WT_ERR(__wt_row_leaf_key_work( - session, - page, rip, NULL, 1)); + WT_ASSERT(session, ikey != NULL); /* * Acquire the overflow lock to avoid |