Fix assert in background compression and encryption.#1366
Conversation
…fit the destination block in the allocated space. Allocated space is calculated using (item.end-item.start) + padding. Signed-off-by: Tiger <rbalajis25@gmail.com>
jarifibrahim
left a comment
There was a problem hiding this comment.
Reviewable status: 0 of 1 files reviewed, 1 unresolved discussion (waiting on @ashish-goswami, @balajijinnah, @jarifibrahim, and @manishrjain)
table/builder.go, line 152 at r1 (raw file):
} // The newend should always be less than or equal to the original end
Fix the comment, please.
ashish-goswami
left a comment
There was a problem hiding this comment.
Reviewable status: 0 of 1 files reviewed, 4 unresolved discussions (waiting on @ashish-goswami, @balajijinnah, and @manishrjain)
table/builder.go, line 159 at r1 (raw file):
allocatedSpace := (item.end - item.start) + padding y.AssertTruef(uint32(len(blockBuf)) <= allocatedSpace, "newend: %d item.end: %d padding: %d",
can we call item.end oldend(as we have newend).
table/builder.go, line 160 at r1 (raw file):
y.AssertTruef(uint32(len(blockBuf)) <= allocatedSpace, "newend: %d item.end: %d padding: %d", (allocatedSpace-uint32(len(blockBuf)))+item.end,
newend should be: item.start+len(blockBuf)
table/builder.go, line 162 at r1 (raw file):
(allocatedSpace-uint32(len(blockBuf)))+item.end, item.end, padding)
Can we put above lines into same line?
ashish-goswami
left a comment
There was a problem hiding this comment.
Reviewed 1 of 1 files at r1.
Reviewable status: all files reviewed, 4 unresolved discussions (waiting on @balajijinnah and @manishrjain)
Signed-off-by: Tiger <rbalajis25@gmail.com>
poonai
left a comment
There was a problem hiding this comment.
Reviewable status: 0 of 1 files reviewed, 4 unresolved discussions (waiting on @ashish-goswami, @jarifibrahim, and @manishrjain)
table/builder.go, line 152 at r1 (raw file):
Previously, jarifibrahim (Ibrahim Jarif) wrote…
Fix the comment, please.
Done.
table/builder.go, line 159 at r1 (raw file):
Previously, ashish-goswami (Ashish Goswami) wrote…
can we call
item.endoldend(as we have newend).
Done.
table/builder.go, line 160 at r1 (raw file):
Previously, ashish-goswami (Ashish Goswami) wrote…
newend should be:
item.start+len(blockBuf)
Done.
table/builder.go, line 162 at r1 (raw file):
Previously, ashish-goswami (Ashish Goswami) wrote…
Can we put above lines into same line?
Done.
| "newend: %d item.end: %d padding: %d", len(blockBuf), item.end, padding) | ||
| // BlockBuf should always less than or equal to allocated space. If the blockBuf is greater | ||
| // than allocated space that means the data from this block cannot be stored in its | ||
| // existing location and trying to copy it over would mean we would over-writesome data |
There was a problem hiding this comment.
nit: space between over-write and some
| // than allocated space that means the data from this block cannot be stored in its | ||
| // existing location and trying to copy it over would mean we would over-writesome data | ||
| // of the next block. | ||
| allocatedSpace := (item.end - item.start) + padding |
manishrjain
left a comment
There was a problem hiding this comment.
fine by me.
Reviewable status: 0 of 1 files reviewed, 6 unresolved discussions (waiting on @ashish-goswami, @balajijinnah, @jarifibrahim, and @manishrjain)
* use assert to find whether, the async compression/encryption able to fit the destination block in the allocated space. Allocated space is calculated using (item.end-item.start) + padding +1 (cherry picked from commit c45d966)
This PR adds the following changes from **Master branch to the dgraph-maintenance branch**. ``` 25fd0ef Update ristretto to commit f66de99 (#1391) fac972f Update head while replaying value log (#1372) e5fd05a Rework DB.DropPrefix (#1381) adeb842 Fix assert in background compression and encryption. (#1366) ``` The **master and dgraph-maintenace branch** have following difference `+` (in green) means commit missing on dgraph-maintenance `-` (in red) means the commit exists. ```diff + 079f5ae DefaultOptions: Set KeepL0InMemory to false (#1345) + 7e19cac Add immudb to the project list (#1341) + da80eb9 Iterator: Always add key to txn.reads (#1328) + a7e239e StreamWriter: Close head writer (#1347) + 543f353 Fix build on golang tip (#1355) + fd89894 Compaction: Expired keys and delete markers are never purged (#1354) + 056d859 Support disabling conflict detection (#1344) + b762832 Tests: Do not leave behind state goroutines (#1349) + b2267c2 Restore: Account for value size as well (#1358) + 14386ac GC: Consider size of value while rewriting (#1357) + c45d966 Fix assert in background compression and encryption. (#1366) + dd332b0 Avoid panic in filltables() (#1365) + 3f4761d Force KeepL0InMemory to be true when InMemory is true (#1375) + d37ce36 Tests: Use t.Parallel in TestIteratePrefix tests (#1377) + 158d927 Remove second initialization of writech in Open (#1382) + 675efcd Increase default valueThreshold from 32B to 1KB (#1346) + 3042e37 pre allocate cache key for the block cache and the bloom filter cache (#1371) + e013bfd Rework DB.DropPrefix (#1381) + 509de73 Update head while replaying value log (#1372) + 09dfa66 Update ristretto to commit f66de99 (#1391) + 717b89c Enable cross-compiled 32bit tests on TravisCI (#1392) ``` <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/dgraph-io/badger/1398) <!-- Reviewable:end -->
Also, disable conflict detection in badger to save memory. ``` 0dfb8b4 Changelog for v20.07.0 (dgraph-io/badger#1411) 03ba278 Add missing changelog for v2.0.3 (dgraph-io/badger#1410) 6001230 Revert "Compress/Encrypt Blocks in the background (dgraph-io/badger#1227)" (dgraph-io/badger#1409) 800305e Revert "Buffer pool for decompression (dgraph-io/badger#1308)" (dgraph-io/badger#1408) 63d9309 Revert "fix: Fix race condition in block.incRef (dgraph-io/badger#1337)" (dgraph-io/badger#1407) e0d058c Revert "add assert to check integer overflow for table size (dgraph-io/badger#1402)" (dgraph-io/badger#1406) d981f47 return error if the vlog writes exceeds more that 4GB. (dgraph-io/badger#1400) 7f4e4b5 add assert to check integer overflow for table size (dgraph-io/badger#1402) 8e896a7 Add a contribution guide (dgraph-io/badger#1379) b79aeef Avoid panic on multiple closer.Signal calls (dgraph-io/badger#1401) 717b89c Enable cross-compiled 32bit tests on TravisCI (dgraph-io/badger#1392) 09dfa66 Update ristretto to commit f66de99 (dgraph-io/badger#1391) 509de73 Update head while replaying value log (dgraph-io/badger#1372) e013bfd Rework DB.DropPrefix (dgraph-io/badger#1381) 3042e37 pre allocate cache key for the block cache and the bloom filter cache (dgraph-io/badger#1371) 675efcd Increase default valueThreshold from 32B to 1KB (dgraph-io/badger#1346) 158d927 Remove second initialization of writech in Open (dgraph-io/badger#1382) d37ce36 Tests: Use t.Parallel in TestIteratePrefix tests (dgraph-io/badger#1377) 3f4761d Force KeepL0InMemory to be true when InMemory is true (dgraph-io/badger#1375) dd332b0 Avoid panic in filltables() (dgraph-io/badger#1365) c45d966 Fix assert in background compression and encryption. (dgraph-io/badger#1366) ```
This commit brings the following new changes from badger. This commit also disable conflict detection in badger to save memory. ``` Fix assert in background compression and encryption. (dgraph-io/badger#1366) Avoid panic in filltables() (dgraph-io/badger#1365) Force KeepL0InMemory to be true when InMemory is true (dgraph-io/badger#1375) Tests: Use t.Parallel in TestIteratePrefix tests (dgraph-io/badger#1377) Remove second initialization of writech in Open (dgraph-io/badger#1382) Increase default valueThreshold from 32B to 1KB (dgraph-io/badger#1346) pre allocate cache key for the block cache and the bloom filter cache (dgraph-io/badger#1371) Rework DB.DropPrefix (dgraph-io/badger#1381) Update head while replaying value log (dgraph-io/badger#1372) Update ristretto to commit f66de99 (dgraph-io/badger#1391) Enable cross-compiled 32bit tests on TravisCI (dgraph-io/badger#1392) Avoid panic on multiple closer.Signal calls (dgraph-io/badger#1401) Add a contribution guide (dgraph-io/badger#1379) add assert to check integer overflow for table size (dgraph-io/badger#1402) return error if the vlog writes exceeds more that 4GB. (dgraph-io/badger#1400) Revert "add assert to check integer overflow for table size (dgraph-io/badger#1402)" (dgraph-io/badger#1406) Revert "fix: Fix race condition in block.incRef (dgraph-io/badger#1337)" (dgraph-io/badger#1407) Revert "Buffer pool for decompression (dgraph-io/badger#1308)" (dgraph-io/badger#1408) Revert "Compress/Encrypt Blocks in the background (dgraph-io/badger#1227)" (dgraph-io/badger#1409) Add missing changelog for v2.0.3 (dgraph-io/badger#1410) Changelog for v20.07.0 (dgraph-io/badger#1411) ```
This commit brings following new changes from badger This commit also disable conflict detection in badger to save memory. ``` Fix assert in background compression and encryption. (dgraph-io/badger#1366) Avoid panic in filltables() (dgraph-io/badger#1365) Force KeepL0InMemory to be true when InMemory is true (dgraph-io/badger#1375) Tests: Use t.Parallel in TestIteratePrefix tests (dgraph-io/badger#1377) Remove second initialization of writech in Open (dgraph-io/badger#1382) Increase default valueThreshold from 32B to 1KB (dgraph-io/badger#1346) pre allocate cache key for the block cache and the bloom filter cache (dgraph-io/badger#1371) Rework DB.DropPrefix (dgraph-io/badger#1381) Update head while replaying value log (dgraph-io/badger#1372) Update ristretto to commit f66de99 (dgraph-io/badger#1391) Enable cross-compiled 32bit tests on TravisCI (dgraph-io/badger#1392) Avoid panic on multiple closer.Signal calls (dgraph-io/badger#1401) Add a contribution guide (dgraph-io/badger#1379) add assert to check integer overflow for table size (dgraph-io/badger#1402) return error if the vlog writes exceeds more that 4GB. (dgraph-io/badger#1400) Revert "add assert to check integer overflow for table size (dgraph-io/badger#1402)" (dgraph-io/badger#1406) Revert "fix: Fix race condition in block.incRef (dgraph-io/badger#1337)" (dgraph-io/badger#1407) Revert "Buffer pool for decompression (dgraph-io/badger#1308)" (dgraph-io/badger#1408) Revert "Compress/Encrypt Blocks in the background (dgraph-io/badger#1227)" (dgraph-io/badger#1409) Add missing changelog for v2.0.3 (dgraph-io/badger#1410) Changelog for v20.07.0 (dgraph-io/badger#1411) ```
This commit brings following new changes from badger This commit also disable conflict detection in badger to save memory. ``` Fix assert in background compression and encryption. (dgraph-io/badger#1366) Avoid panic in filltables() (dgraph-io/badger#1365) Force KeepL0InMemory to be true when InMemory is true (dgraph-io/badger#1375) Tests: Use t.Parallel in TestIteratePrefix tests (dgraph-io/badger#1377) Remove second initialization of writech in Open (dgraph-io/badger#1382) Increase default valueThreshold from 32B to 1KB (dgraph-io/badger#1346) pre allocate cache key for the block cache and the bloom filter cache (dgraph-io/badger#1371) Rework DB.DropPrefix (dgraph-io/badger#1381) Update head while replaying value log (dgraph-io/badger#1372) Update ristretto to commit f66de99 (dgraph-io/badger#1391) Enable cross-compiled 32bit tests on TravisCI (dgraph-io/badger#1392) Avoid panic on multiple closer.Signal calls (dgraph-io/badger#1401) Add a contribution guide (dgraph-io/badger#1379) add assert to check integer overflow for table size (dgraph-io/badger#1402) return error if the vlog writes exceeds more that 4GB. (dgraph-io/badger#1400) Revert "add assert to check integer overflow for table size (dgraph-io/badger#1402)" (dgraph-io/badger#1406) Revert "fix: Fix race condition in block.incRef (dgraph-io/badger#1337)" (dgraph-io/badger#1407) Revert "Buffer pool for decompression (dgraph-io/badger#1308)" (dgraph-io/badger#1408) Revert "Compress/Encrypt Blocks in the background (dgraph-io/badger#1227)" (dgraph-io/badger#1409) Add missing changelog for v2.0.3 (dgraph-io/badger#1410) Changelog for v20.07.0 (dgraph-io/badger#1411) ```
This commit brings following new changes from badger This commit also disable conflict detection in badger to save memory. ``` Fix assert in background compression and encryption. (dgraph-io/badger#1366) Avoid panic in filltables() (dgraph-io/badger#1365) Force KeepL0InMemory to be true when InMemory is true (dgraph-io/badger#1375) Tests: Use t.Parallel in TestIteratePrefix tests (dgraph-io/badger#1377) Remove second initialization of writech in Open (dgraph-io/badger#1382) Increase default valueThreshold from 32B to 1KB (dgraph-io/badger#1346) pre allocate cache key for the block cache and the bloom filter cache (dgraph-io/badger#1371) Rework DB.DropPrefix (dgraph-io/badger#1381) Update head while replaying value log (dgraph-io/badger#1372) Update ristretto to commit f66de99 (dgraph-io/badger#1391) Enable cross-compiled 32bit tests on TravisCI (dgraph-io/badger#1392) Avoid panic on multiple closer.Signal calls (dgraph-io/badger#1401) Add a contribution guide (dgraph-io/badger#1379) add assert to check integer overflow for table size (dgraph-io/badger#1402) return error if the vlog writes exceeds more that 4GB. (dgraph-io/badger#1400) Revert "add assert to check integer overflow for table size (dgraph-io/badger#1402)" (dgraph-io/badger#1406) Revert "fix: Fix race condition in block.incRef (dgraph-io/badger#1337)" (dgraph-io/badger#1407) Revert "Buffer pool for decompression (dgraph-io/badger#1308)" (dgraph-io/badger#1408) Revert "Compress/Encrypt Blocks in the background (dgraph-io/badger#1227)" (dgraph-io/badger#1409) Add missing changelog for v2.0.3 (dgraph-io/badger#1410) Changelog for v20.07.0 (dgraph-io/badger#1411) ```
* Update badger to v20.07.0-rc1 This commit brings following new changes from badger This commit also disable conflict detection in badger to save memory. ``` Fix assert in background compression and encryption. (dgraph-io/badger#1366) Avoid panic in filltables() (dgraph-io/badger#1365) Force KeepL0InMemory to be true when InMemory is true (dgraph-io/badger#1375) Tests: Use t.Parallel in TestIteratePrefix tests (dgraph-io/badger#1377) Remove second initialization of writech in Open (dgraph-io/badger#1382) Increase default valueThreshold from 32B to 1KB (dgraph-io/badger#1346) pre allocate cache key for the block cache and the bloom filter cache (dgraph-io/badger#1371) Rework DB.DropPrefix (dgraph-io/badger#1381) Update head while replaying value log (dgraph-io/badger#1372) Update ristretto to commit f66de99 (dgraph-io/badger#1391) Enable cross-compiled 32bit tests on TravisCI (dgraph-io/badger#1392) Avoid panic on multiple closer.Signal calls (dgraph-io/badger#1401) Add a contribution guide (dgraph-io/badger#1379) add assert to check integer overflow for table size (dgraph-io/badger#1402) return error if the vlog writes exceeds more that 4GB. (dgraph-io/badger#1400) Revert "add assert to check integer overflow for table size (dgraph-io/badger#1402)" (dgraph-io/badger#1406) Revert "fix: Fix race condition in block.incRef (dgraph-io/badger#1337)" (dgraph-io/badger#1407) Revert "Buffer pool for decompression (dgraph-io/badger#1308)" (dgraph-io/badger#1408) Revert "Compress/Encrypt Blocks in the background (dgraph-io/badger#1227)" (dgraph-io/badger#1409) Add missing changelog for v2.0.3 (dgraph-io/badger#1410) Changelog for v20.07.0 (dgraph-io/badger#1411) ``` * Remove unnecessary detect conflicts
* Update badger to v20.07.0-rc1 This commit brings the following new changes from badger. This commit also disable conflict detection in badger to save memory. ``` Fix assert in background compression and encryption. (dgraph-io/badger#1366) Avoid panic in filltables() (dgraph-io/badger#1365) Force KeepL0InMemory to be true when InMemory is true (dgraph-io/badger#1375) Tests: Use t.Parallel in TestIteratePrefix tests (dgraph-io/badger#1377) Remove second initialization of writech in Open (dgraph-io/badger#1382) Increase default valueThreshold from 32B to 1KB (dgraph-io/badger#1346) pre allocate cache key for the block cache and the bloom filter cache (dgraph-io/badger#1371) Rework DB.DropPrefix (dgraph-io/badger#1381) Update head while replaying value log (dgraph-io/badger#1372) Update ristretto to commit f66de99 (dgraph-io/badger#1391) Enable cross-compiled 32bit tests on TravisCI (dgraph-io/badger#1392) Avoid panic on multiple closer.Signal calls (dgraph-io/badger#1401) Add a contribution guide (dgraph-io/badger#1379) add assert to check integer overflow for table size (dgraph-io/badger#1402) return error if the vlog writes exceeds more that 4GB. (dgraph-io/badger#1400) Revert "add assert to check integer overflow for table size (dgraph-io/badger#1402)" (dgraph-io/badger#1406) Revert "fix: Fix race condition in block.incRef (dgraph-io/badger#1337)" (dgraph-io/badger#1407) Revert "Buffer pool for decompression (dgraph-io/badger#1308)" (dgraph-io/badger#1408) Revert "Compress/Encrypt Blocks in the background (dgraph-io/badger#1227)" (dgraph-io/badger#1409) Add missing changelog for v2.0.3 (dgraph-io/badger#1410) Changelog for v20.07.0 (dgraph-io/badger#1411) ``` * Remove unnecessary detect conflicts
* Update badger to v20.07.0-rc1 This commit brings following new changes from badger This commit also disable conflict detection in badger to save memory. ``` Fix assert in background compression and encryption. (dgraph-io/badger#1366) Avoid panic in filltables() (dgraph-io/badger#1365) Force KeepL0InMemory to be true when InMemory is true (dgraph-io/badger#1375) Tests: Use t.Parallel in TestIteratePrefix tests (dgraph-io/badger#1377) Remove second initialization of writech in Open (dgraph-io/badger#1382) Increase default valueThreshold from 32B to 1KB (dgraph-io/badger#1346) pre allocate cache key for the block cache and the bloom filter cache (dgraph-io/badger#1371) Rework DB.DropPrefix (dgraph-io/badger#1381) Update head while replaying value log (dgraph-io/badger#1372) Update ristretto to commit f66de99 (dgraph-io/badger#1391) Enable cross-compiled 32bit tests on TravisCI (dgraph-io/badger#1392) Avoid panic on multiple closer.Signal calls (dgraph-io/badger#1401) Add a contribution guide (dgraph-io/badger#1379) add assert to check integer overflow for table size (dgraph-io/badger#1402) return error if the vlog writes exceeds more that 4GB. (dgraph-io/badger#1400) Revert "add assert to check integer overflow for table size (dgraph-io/badger#1402)" (dgraph-io/badger#1406) Revert "fix: Fix race condition in block.incRef (dgraph-io/badger#1337)" (dgraph-io/badger#1407) Revert "Buffer pool for decompression (dgraph-io/badger#1308)" (dgraph-io/badger#1408) Revert "Compress/Encrypt Blocks in the background (dgraph-io/badger#1227)" (dgraph-io/badger#1409) Add missing changelog for v2.0.3 (dgraph-io/badger#1410) Changelog for v20.07.0 (dgraph-io/badger#1411) ``` * Remove unnecessary detect conflicts Co-authored-by: parasssh <paras@dgraph.io>
* Update badger to v20.0.7-rc1 This commit brings following new changes from badger This commit also disable conflict detection in badger to save memory. ``` Fix assert in background compression and encryption. (dgraph-io/badger#1366) Avoid panic in filltables() (dgraph-io/badger#1365) Force KeepL0InMemory to be true when InMemory is true (dgraph-io/badger#1375) Tests: Use t.Parallel in TestIteratePrefix tests (dgraph-io/badger#1377) Remove second initialization of writech in Open (dgraph-io/badger#1382) Increase default valueThreshold from 32B to 1KB (dgraph-io/badger#1346) pre allocate cache key for the block cache and the bloom filter cache (dgraph-io/badger#1371) Rework DB.DropPrefix (dgraph-io/badger#1381) Update head while replaying value log (dgraph-io/badger#1372) Update ristretto to commit f66de99 (dgraph-io/badger#1391) Enable cross-compiled 32bit tests on TravisCI (dgraph-io/badger#1392) Avoid panic on multiple closer.Signal calls (dgraph-io/badger#1401) Add a contribution guide (dgraph-io/badger#1379) add assert to check integer overflow for table size (dgraph-io/badger#1402) return error if the vlog writes exceeds more that 4GB. (dgraph-io/badger#1400) Revert "add assert to check integer overflow for table size (dgraph-io/badger#1402)" (dgraph-io/badger#1406) Revert "fix: Fix race condition in block.incRef (dgraph-io/badger#1337)" (dgraph-io/badger#1407) Revert "Buffer pool for decompression (dgraph-io/badger#1308)" (dgraph-io/badger#1408) Revert "Compress/Encrypt Blocks in the background (dgraph-io/badger#1227)" (dgraph-io/badger#1409) Add missing changelog for v2.0.3 (dgraph-io/badger#1410) Changelog for v20.07.0 (dgraph-io/badger#1411) ``` * Remove unnecessary detect conflicts Co-authored-by: parasssh <paras@dgraph.io>
* Update badger to v20.07.0-rc1 This commit brings the following new changes from badger. This commit also disable conflict detection in badger to save memory. ``` Fix assert in background compression and encryption. (dgraph-io/badger#1366) Avoid panic in filltables() (dgraph-io/badger#1365) Force KeepL0InMemory to be true when InMemory is true (dgraph-io/badger#1375) Tests: Use t.Parallel in TestIteratePrefix tests (dgraph-io/badger#1377) Remove second initialization of writech in Open (dgraph-io/badger#1382) Increase default valueThreshold from 32B to 1KB (dgraph-io/badger#1346) pre allocate cache key for the block cache and the bloom filter cache (dgraph-io/badger#1371) Rework DB.DropPrefix (dgraph-io/badger#1381) Update head while replaying value log (dgraph-io/badger#1372) Update ristretto to commit f66de99 (dgraph-io/badger#1391) Enable cross-compiled 32bit tests on TravisCI (dgraph-io/badger#1392) Avoid panic on multiple closer.Signal calls (dgraph-io/badger#1401) Add a contribution guide (dgraph-io/badger#1379) add assert to check integer overflow for table size (dgraph-io/badger#1402) return error if the vlog writes exceeds more that 4GB. (dgraph-io/badger#1400) Revert "add assert to check integer overflow for table size (dgraph-io/badger#1402)" (dgraph-io/badger#1406) Revert "fix: Fix race condition in block.incRef (dgraph-io/badger#1337)" (dgraph-io/badger#1407) Revert "Buffer pool for decompression (dgraph-io/badger#1308)" (dgraph-io/badger#1408) Revert "Compress/Encrypt Blocks in the background (dgraph-io/badger#1227)" (dgraph-io/badger#1409) Add missing changelog for v2.0.3 (dgraph-io/badger#1410) Changelog for v20.07.0 (dgraph-io/badger#1411) ``` * Remove unnecessary detect conflicts
* use assert to find whether, the async compression/encryption able to fit the destination block in the allocated space. Allocated space is calculated using (item.end-item.start) + padding +1
use assert to find whether, the async compression/encryption able to fit thedestination block in the allocated space. Allocated space is calculated using (item.end-item.start) + padding.
Signed-off-by: Tiger rbalajis25@gmail.com
This change is