Stable updates. Refcount leak + SET change on alloc fail

View: New views
2 Messages — Rating Filter:   Alert me  

Stable updates. Refcount leak + SET change on alloc fail

by Dormando :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Yo,

git-send-email is being a punk, so please check the three latest commits
here:

http://consoleninja.net/gitweb/gitweb.cgi?p=memcached.git;a=shortlog;h=stable

(can also clone the repo:
git clone http://consoleninja.net/code/dpm/dpm.git and fetch my 'stable'
branch).

This is first in a small series of patches going in before 1.2.6-rc1.
I've audited all item_get* calls and ensured they were matched with
item_remove() calls properly. I might've missed something, so feel free
to check for yourselves :)

The other change is a little weird, but makes sense to me. If you 'set'
an item and the set fails alloc (too large, OOM), unlink an item if it
already exists. This would help in the case of someone getting OOM
errors, or if they're sloppy and occasionally fail to update their
cache. Giving into the side of additional cache misses for data correctness.

Please review, or if you hate gitweb whine and I'll make git-send-email
cooperate again.

I'm going through the stack for anything else to apply to stable. If
you've sent a relatively minor patch and would totally love to see it in
1.2.6, now's the time to speak up.

-Dormando

Re: Stable updates. Refcount leak + SET change on alloc fail

by Dormando :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Uh, I'm an idiot. that's the DPM repo.

git clone http://consoleninja.net/code/memcached/memcached.git - sigh.

dormando wrote:

> Yo,
>
> git-send-email is being a punk, so please check the three latest commits
> here:
>
> http://consoleninja.net/gitweb/gitweb.cgi?p=memcached.git;a=shortlog;h=stable
>
> (can also clone the repo:
> git clone http://consoleninja.net/code/dpm/dpm.git and fetch my 'stable'
> branch).
>
> This is first in a small series of patches going in before 1.2.6-rc1.
> I've audited all item_get* calls and ensured they were matched with
> item_remove() calls properly. I might've missed something, so feel free
> to check for yourselves :)
>
> The other change is a little weird, but makes sense to me. If you 'set'
> an item and the set fails alloc (too large, OOM), unlink an item if it
> already exists. This would help in the case of someone getting OOM
> errors, or if they're sloppy and occasionally fail to update their
> cache. Giving into the side of additional cache misses for data correctness.
>
> Please review, or if you hate gitweb whine and I'll make git-send-email
> cooperate again.
>
> I'm going through the stack for anything else to apply to stable. If
> you've sent a relatively minor patch and would totally love to see it in
> 1.2.6, now's the time to speak up.
>
> -Dormando