Ben Johnson
2ee5806031
Merge pull request #179 from benbjohnson/freelist-assertion
...
Add freelist assertion on every free().
2014-05-29 08:17:54 -06:00
Ben Johnson
2eaf8f7ce0
Add freelist assertion on every free().
...
This commit performs a check on the freelist pages to ensure that a double free can never happen.
2014-05-29 08:02:15 -06:00
Ben Johnson
4e31e9d8f9
Merge pull request #177 from tv42/tx-copy-rollback
...
Do not attempt manual transaction rollback in Tx.Copy
2014-05-28 13:31:41 -06:00
Ben Johnson
2652bec51e
Merge pull request #178 from benbjohnson/optimize-check
...
Optimize Tx.Check().
2014-05-28 13:10:20 -06:00
Ben Johnson
754966bea0
Optimize Tx.Check().
...
This commit removes several memory allocations occurring on every page and also caches the freelist map used when iterating over the pages. This results in significantly better performance.
2014-05-28 12:50:48 -06:00
Tommi Virtanen
394862d541
Do not attempt manual transaction rollback in Tx.Copy
...
The typical use these days is with a managed transaction, via db.View.
The first case (error when re-opening database file) is not tested;
it is harder to instrument, and I have other plans for it.
2014-05-28 10:15:49 -07:00
Ben Johnson
b9b1bb5b29
Merge pull request #176 from benbjohnson/streaming-check
...
Add streaming check.
2014-05-28 10:46:21 -06:00
Ben Johnson
b789691976
Add streaming check.
...
This commit changes Tx.Check() to return a channel through which check errors are returned. This allows
errors to be found before checking the entire data file.
2014-05-28 10:31:22 -06:00
Ben Johnson
4508a00891
Merge pull request #175 from benbjohnson/check-loop
...
Add circular dependency integrity check.
2014-05-28 09:00:19 -06:00
Ben Johnson
cefc3c5ebd
Add circular dependency integrity check.
...
This commit adds a check to prevent circular dependencies in branch nodes. If a circular dependency occurs
then a panic will be called and the commit will be prevented. This only works for a single branch level
and will not recursively search the tree.
2014-05-28 08:02:55 -06:00
Ben Johnson
93338e17ec
Merge pull request #174 from benbjohnson/remove-db-check
...
Remove DB.Check(). Allow read-only Tx.Check().
2014-05-27 12:08:33 -06:00
Ben Johnson
92a9f2e200
Remove DB.Check(). Allow read-only Tx.Check().
...
This commit removes the DB.Check() function and instead makes the user decide
whether a transaction should be writable or read-only. Tx.Check() is not safe
to use concurrently on a read-only transaction, however, it significantly
improves the performance of it.
2014-05-27 11:31:55 -06:00
Ben Johnson
746dbb3566
Merge branch 'master' of https://github.com/boltdb/bolt
2014-05-27 08:28:06 -06:00
Ben Johnson
271129e40c
Merge pull request #172 from benbjohnson/allocation
...
Remove allocations from read-only buckets.
2014-05-23 13:04:18 -06:00
Ben Johnson
bfccbb2cb5
Avoid trashing page cache on Tx.Copy().
...
This commit change the database copy to use O_DIRECT so that the Linux page
cache is not trashed during a backup. This is only available on Linux.
2014-05-23 11:40:05 -06:00
Ben Johnson
06b01dbb67
Remove allocations from read-only buckets.
2014-05-23 10:40:09 -06:00
Ben Johnson
7432bc341f
Merge pull request #169 from benbjohnson/allocation
...
Fix freelist allocation direction.
2014-05-21 13:46:12 -06:00
Ben Johnson
6fcc7fdb3d
Merge pull request #171 from Shopify/tx_copy
...
Move Copy/CopyFile from DB to Tx and make sure it copies exactly Tx.Size() bytes
2014-05-21 11:04:08 -06:00
Martin Kobetic
8cd1c60f7c
review comments
2014-05-21 16:57:29 +00:00
Martin Kobetic
0eda6c9f15
add tx.Size() and ensure tx.Copy() copies exactly that many bytes
2014-05-21 15:43:11 +00:00
Martin Kobetic
519d65228e
move Copy and CopyFile from DB to Tx
2014-05-21 15:08:37 +00:00
Ben Johnson
644a949855
README
2014-05-19 16:16:36 -06:00
Ben Johnson
a0963d8f22
Added new projects.
2014-05-19 15:33:52 -06:00
Ben Johnson
12b36fe70c
Fix freelist allocate().
2014-05-19 14:11:32 -06:00
Ben Johnson
782ead0dbf
Fix freelist allocation direction.
...
This commit fixes the freelist so that it frees from the beginning of the data file
instead of the end. It also adds a fast path for pages which can be allocated from
the first free pages and it includes read transaction stats.
2014-05-19 12:08:33 -06:00
Ben Johnson
cc6302194b
Merge pull request #166 from benbjohnson/fill-percent
...
Add option to adjust fill percentage.
2014-05-15 14:25:29 -06:00
Ben Johnson
6840e4f3dc
Change verbiage, fix node test.
2014-05-15 14:21:17 -06:00
Ben Johnson
a1873dd6f6
Add option to adjust fill percentage.
...
This commit adds the ability to adjust the fill percentage for splitting nodes. This
works by setting a threshold that is a percentage of a total page size. When that
threshold is crossed during a split then a new node is created.
This is primarily beneficial for append-only workloads.
Fixes #163 .
2014-05-15 14:04:57 -06:00
Ben Johnson
7b96ede8b6
Merge pull request #165 from benbjohnson/strict-mode
...
Add strict mode.
2014-05-15 07:59:37 -06:00
Ben Johnson
1f5fb0208b
Add strict mode.
2014-05-14 18:08:55 -06:00
Ben Johnson
a6d6d964b6
Merge pull request #162 from Shopify/nested_stats2
...
Recursive/aggregate bucket stats
2014-05-14 12:20:46 -06:00
Ben Johnson
e728eb90da
Minor stats fixes.
2014-05-14 12:06:31 -06:00
Martin Kobetic
6eaeb31424
address review comments
2014-05-13 17:28:17 +00:00
Ben Johnson
417b0b7bf6
Merge pull request #161 from benbjohnson/work
...
Add -work flag to 'bolt bench'.
2014-05-12 15:36:10 -06:00
Ben Johnson
b5ae095a87
Add -work flag to 'bolt bench'.
...
This commit adds a 'work' flag to the bolt bench utility so that databases
generated by the bench CLI can be saved for analysis.
2014-05-12 15:34:07 -06:00
Martin Kobetic
51568b52df
undo page.go changes
2014-05-12 20:47:03 +00:00
Martin Kobetic
4dbd354a8d
add inline stats to cmd
2014-05-12 20:46:01 +00:00
Martin Kobetic
0716cdaec8
tweaks
2014-05-12 19:33:53 +00:00
Martin Kobetic
0dbfa3f08a
merge inline branch into leaf branch
2014-05-12 18:22:45 +00:00
Martin Kobetic
deffc06a05
fix inline bucket stats
2014-05-12 17:29:16 +00:00
Martin Kobetic
c4ad027df7
aggregate bucket stats recursively and add stats to cmd
2014-05-09 20:50:58 +00:00
Martin Kobetic
b9899d09ab
first part
2014-05-09 20:50:55 +00:00
Ben Johnson
4b56f820bc
Merge pull request #160 from benbjohnson/fix-deletion
...
Fix deletion & dereferencing.
2014-05-09 10:02:13 -06:00
Ben Johnson
d1b21e619d
Merge branch 'master' of https://github.com/boltdb/bolt into fix-deletion
...
Conflicts:
node.go
2014-05-09 09:38:08 -06:00
Ben Johnson
a5cb717fc7
Fix deletion reclamation.
2014-05-09 09:26:34 -06:00
Ben Johnson
c595561faa
Fix node unit tests.
2014-05-09 07:55:01 -06:00
Ben Johnson
5f13a416ce
Merge pull request #159 from Shopify/pgid_overflow_checks
...
add asserts for detecting pgid high watermark overflow
2014-05-09 07:45:19 -06:00
Martin Kobetic
3ffcee742c
remove stray file
2014-05-09 13:38:11 +00:00
Martin Kobetic
d279ea44ce
add asserts for detecting pgid high watermark overflow
2014-05-09 13:35:00 +00:00
Ben Johnson
8da0a92637
Merge pull request #158 from benbjohnson/bolt-info
...
Add 'bolt info'.
2014-05-08 08:44:41 -06:00