diff options
author | Ben Johnson <benbjohnson@yahoo.com> | 2014-05-09 07:45:19 -0600 |
---|---|---|
committer | Ben Johnson <benbjohnson@yahoo.com> | 2014-05-09 07:45:19 -0600 |
commit | 5f13a416ce60998edfd48712a8a229f865aabdda (patch) | |
tree | 5c56b2e5597202076bf5b1b34fd9a75c5043710d /db.go | |
parent | Merge pull request #158 from benbjohnson/bolt-info (diff) | |
parent | remove stray file (diff) | |
download | dedo-5f13a416ce60998edfd48712a8a229f865aabdda.tar.gz dedo-5f13a416ce60998edfd48712a8a229f865aabdda.tar.xz |
Merge pull request #159 from Shopify/pgid_overflow_checks
add asserts for detecting pgid high watermark overflow
Diffstat (limited to 'db.go')
-rw-r--r-- | db.go | 4 |
1 files changed, 4 insertions, 0 deletions
@@ -705,6 +705,10 @@ func (m *meta) copy(dest *meta) { // write writes the meta onto a page. func (m *meta) write(p *page) { + + _assert(m.root.root < m.pgid, "root bucket pgid (%d) above high water mark (%d)", m.root.root, m.pgid) + _assert(m.freelist < m.pgid, "freelist pgid (%d) above high water mark (%d)", m.freelist, m.pgid) + // Page id is either going to be 0 or 1 which we can determine by the transaction ID. p.id = pgid(m.txid % 2) p.flags |= metaPageFlag |