-
Notifications
You must be signed in to change notification settings - Fork 7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Reset item in case of reserve #47
Conversation
0d15806
to
ae2e9f2
Compare
ae2e9f2
to
3a5ce20
Compare
A situation when item X is reserved and item X+1 (next one) is linked will cause item X leak after startup because next_item_in_slab pointer will skip reserved item X. |
8ee2afb
to
13b1714
Compare
@jschmieg please look for this now |
7fbce6f
to
c518b2d
Compare
src/storage/slab/slab.c
Outdated
@@ -189,6 +189,9 @@ _slab_recreate_items(struct slab *slab) | |||
} | |||
} else if (it->in_freeq) { | |||
_slab_put_item_into_freeq(it, slab->id); | |||
} else if ((it->klen ) && (it->vlen == 0)) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
(it->klen ) -> (it->klen)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I remove brackets to be inline with rest of the code
- in case of reserve item and restart db item would be release
- test_evict_refcount remove one reset where reserved item is deleted
c518b2d
to
9a46536
Compare
partial request
Ref: #42 (comment)
This change is