[SERVER-366] btree exent freeing Created: 16/Oct/09  Updated: 12/Jul/16  Resolved: 29/Jun/10

Status: Closed
Project: Core Server
Component/s: Index Maintenance
Affects Version/s: None
Fix Version/s: 1.5.4

Type: Improvement Priority: Major - P3
Reporter: Eliot Horowitz (Inactive) Assignee: Aaron Staple
Resolution: Done Votes: 13
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Participants:

 Description   
  • ensure btree frees extent on dropIndex
  • when done with a btree node on delete, return it
  • Maybe we should clear out childless unused nodes in pack() (from aaron)


 Comments   
Comment by auto [ 08/Jul/10 ]

Author:

{'login': 'astaple', 'name': 'Aaron', 'email': 'aaron@10gen.com'}

Message: SERVER-366 pos can be n
http://github.com/mongodb/mongo/commit/9e5bbc39739e1a6df6430c3bc4b2a938959c5985

Comment by auto [ 08/Jul/10 ]

Author:

{'login': 'astaple', 'name': 'Aaron', 'email': 'aaron@10gen.com'}

Message: SERVER-366 don't drop referenced key
http://github.com/mongodb/mongo/commit/ec28a6971bf0b780548b7417bac98fe4b669b542

Comment by Aaron Staple [ 29/Jun/10 ]

I've implemented everything in the description. Let me know if we need anything more.

Comment by auto [ 29/Jun/10 ]

Author:

{'login': 'astaple', 'name': 'Aaron', 'email': 'aaron@10gen.com'}

Message: SERVER-366 clean up a bit in pack()
http://github.com/mongodb/mongo/commit/1e934132ad096c467d5ab41d0b16f492b0200fb0

Comment by Aaron Staple [ 15/Jun/10 ]

FYI looks like there is a higher level guard in place to prevent the the background operation/dropping issue I described above.

Comment by auto [ 15/Jun/10 ]

Author:

{'login': 'astaple', 'name': 'Aaron', 'email': 'aaron@10gen.com'}

Message: SERVER-366 simplify indexh test
http://github.com/mongodb/mongo/commit/0676284bb13c252782c3f6a9343c6e4140ca799e

Comment by auto [ 15/Jun/10 ]

Author:

{'login': 'astaple', 'name': 'Aaron', 'email': 'aaron@10gen.com'}

Message: SERVER-366 debug indexh failure
http://github.com/mongodb/mongo/commit/a739b8df76503cb3a71d823791d3d859dbb6afda

Comment by Eliot Horowitz (Inactive) [ 15/Jun/10 ]

You can make a separate case for that.
Maybe assign to dwight to see what he wants to do

Comment by auto [ 14/Jun/10 ]

Author:

{'login': 'astaple', 'name': 'Aaron', 'email': 'aaron@10gen.com'}

Message: SERVER-366 btree extent and node freeing
http://github.com/mongodb/mongo/commit/d782c98f9cf998eb2bd1dac6850c4c8a54e99fd1

Comment by Aaron Staple [ 14/Jun/10 ]

One of the requirements is to ensure the extent is freed on dropIndex. Extent freeing happens now in general, but if there is a background operation in progress it looks like the index will be dropped but its extents won't be freed. Is fixing this something I should work on now?

Comment by Aaron Staple [ 04/Mar/10 ]

It might be worthwhile to also spending some time studying how balanced our btrees are under various pathological operation sequences.

Comment by Aaron Staple [ 08/Feb/10 ]

We should be careful when doing this to preserve the invariant expected in BtreeBucket::advance() that every bucket has at least one key. (Or alternatively we could make the invariant more flexible).

Generated at Thu Feb 08 02:53:51 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.