dermesser/leveldb-rs

Data vanishes when using `word-analyze` and `leveldb-tool` with Snappy enabled.

Closed this issue · 0 comments

[lbo@lboyoga leveldb-rs]$ \time target/debug/word-analyze LICENSE 
0.08user 0.02system 0:00.11elapsed 95%CPU (0avgtext+0avgdata 3584maxresident)k
0inputs+24outputs (0major+827minor)pagefaults 0swaps
[lbo@lboyoga leveldb-rs]$ \time target/debug/word-analyze LICENSE 
0.01user 0.00system 0:00.02elapsed 79%CPU (0avgtext+0avgdata 3328maxresident)k
0inputs+16outputs (0major+176minor)pagefaults 0swaps
[lbo@lboyoga leveldb-rs]$ \time target/debug/word-analyze LICENSE 
0.02user 0.00system 0:00.03elapsed 93%CPU (0avgtext+0avgdata 3456maxresident)k
0inputs+16outputs (0major+186minor)pagefaults 0swaps
[lbo@lboyoga leveldb-rs]$ cat tooldb/LOG
Recovered manifest with next_file=118 manifest_num=117 log_num=116 prev_log_num=0 last_seq=7916
reusing manifest "wordsdb/MANIFEST-000114"
Recovering log file "/home/lbo/dev/rust/leveldb-rs/wordsdb/000116.log"
reusing log file "/home/lbo/dev/rust/leveldb-rs/wordsdb/000116.log"
[lbo@lboyoga leveldb-rs]$ target/debug/leveldb-tool iter | grep and
and => 12
andor => 3
[lbo@lboyoga leveldb-rs]$ cat tooldb/LOG
Recovered manifest with next_file=118 manifest_num=117 log_num=116 prev_log_num=0 last_seq=7916
Recovering log file "/home/lbo/dev/rust/leveldb-rs/wordsdb/000116.log"
Start write of L0 table 000118
L0 table 000118 has 5557 bytes
Deleting file type=Log num=116
Deleting file type=Descriptor num=114
Compacting @0 [1, 103, 32, 0, 0, 0, 0, 0] .. [119, 105, 116, 104, 111, 117, 116, 1, 174, 29, 0, 0, 0, 0, 0]
Compacting 4 files at L0 and 1 files at L1
New table num=120: keys=105 size=1632
Compacted 4 L0 files + 1 L1 files => 1632B
Compaction finished: level 1: 1 files, 1632 bytes ([(120, 1632)]); 
Deleting file type=Table num=103
Deleting file type=Table num=109
Deleting file type=Table num=112
Deleting file type=Table num=115
Deleting file type=Table num=118
[lbo@lboyoga leveldb-rs]$ \time target/debug/word-analyze LICENSE 
0.05user 0.01system 0:00.07elapsed 94%CPU (0avgtext+0avgdata 3456maxresident)k
0inputs+24outputs (0major+312minor)pagefaults 0swaps
[lbo@lboyoga leveldb-rs]$ cat tooldb/LOG
Recovered manifest with next_file=122 manifest_num=121 log_num=119 prev_log_num=0 last_seq=8468
reusing manifest "wordsdb/MANIFEST-000117"
Recovering log file "/home/lbo/dev/rust/leveldb-rs/wordsdb/000119.log"
reusing log file "/home/lbo/dev/rust/leveldb-rs/wordsdb/000119.log"
[lbo@lboyoga leveldb-rs]$ target/debug/leveldb-tool iter | grep and
and => 4
andor => 1

Expected result is that and appears as 16 and andor as 4. This works when compression is disabled. It's currently unclear why this occurs.