You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In my view, task 2 https://skyzh.github.io/mini-lsm/week3-06-serializable.html#task-2-track-read-set-in-scan here isn't able to implement(it might be wrong), cause I can't iterate all keys given a RangeBound, thus the testcase of task2 can't be cover also.
And I've noticed that the bonus task mention about predicate lock, and this might need to change the data structure used to track read set and write set to avoid the write skew phantom, like track read-op as share mode, write-op as exclusive mode and do some conflict detections
And when I implement 3.6, I think it's better we can move the transaction layer up into MiniLsm instead of LsmStorageInner, then we can keep the LsmStorageInner implementation unchanged, and since we gain the commit lock to enforce only one transaction can enter the commit phase at a time, the commit_ts can simply be mvcc.latest_commit_ts().
The text was updated successfully, but these errors were encountered:
In my view, task 2 https://skyzh.github.io/mini-lsm/week3-06-serializable.html#task-2-track-read-set-in-scan here isn't able to implement(it might be wrong), cause I can't iterate all keys given a RangeBound, thus the testcase of task2 can't be cover also.
And I've noticed that the bonus task mention about predicate lock, and this might need to change the data structure used to track read set and write set to avoid the write skew phantom, like track read-op as share mode, write-op as exclusive mode and do some conflict detections
And when I implement 3.6, I think it's better we can move the transaction layer up into MiniLsm instead of LsmStorageInner, then we can keep the LsmStorageInner implementation unchanged, and since we gain the commit lock to enforce only one transaction can enter the commit phase at a time, the commit_ts can simply be mvcc.latest_commit_ts().
The text was updated successfully, but these errors were encountered: