I find a bug when running mini-lsm-cli in week1 day6 task like:
fill 1000 3000
scan 2000 2333 # this works fine
flush
scan 2000 2333 # it prints from 2000 to 3000
and the bug is in my implementation of week1 day5 solution
after flushing, the key-value is on SsTable, and self.inner.next() doesn't enforce upper bound likeself.next_inner() does (before week 1 day 6 task 3 Filter the SSTs). As a result, scans that hit data sourced from SsTable can overflow the requested upper bound.
and the problem is self.inner.next() can still pass the current test, so I think there is insufficient test coverage in week1_day5 test
I find a bug when running mini-lsm-cli in week1 day6 task like:
and the bug is in my implementation of week1 day5 solution
after flushing, the key-value is on SsTable, and
self.inner.next()doesn't enforce upper bound likeself.next_inner()does (before week 1 day 6 task 3 Filter the SSTs). As a result, scans that hit data sourced from SsTable can overflow the requested upper bound.and the problem is
self.inner.next()can still pass the current test, so I think there is insufficient test coverage in week1_day5 test