Re: memcached - expire (again)

2009-08-03 Thread dormando
I wouldn't recommend anyone use the ALLOW_SLABS_REASSIGN code as it is - it is unproven and we probably should have removed it a long time ago. It'll come back as a proper implementation soon enough. -Dormando On Tue, 28 Jul 2009, Mike Lambert wrote: Werner you never mentioned which version

Re: memcached - expire (again)

2009-07-28 Thread Mike Lambert
Werner you never mentioned which version of memcache you're using. For what it's worth, it seems things differ between 1.4.0 and 1.2.6. (Haven't peeked at 1.3.x series.) 1.2.6 will allocate a new slab if memory is available, before grabbing the last item off the free list (which may or may not

Re: memcached - expire (again)

2009-07-28 Thread dl4ner
Mike, Werner you never mentioned which version of memcache you're using. For what it's worth, it seems things differ between 1.4.0 and 1.2.6. (Haven't peeked at 1.3.x series.) Sorry. I started this before 1.4 has been out, and as we are running in production environment, we are using 1.2.6

Re: memcached - expire (again)

2009-07-23 Thread Trond Norbye
On 22. juli. 2009, at 22.36, dl4ner wrote: Trond, Well, it will allocate a new item unless it finds an expired item in the tail of the item LRU. You may have expired items in the middle of your LRU list, and you would still evict items from the cache if all memory is allocated. I just

Re: memcached - expire (again)

2009-07-22 Thread dl4ner
Hello Trond, I actually thought about creating a slabs maintenance thread a while   back. It could inspect the items in the different slabs without   locking them, and if it finds an expired item it would then lock the   cache and re-evaluate and possibly free the item. sounds good. This

Re: memcached - expire (again)

2009-07-22 Thread dl4ner
Hi Dormando, just in case: some of next paragraphe might sound offending, but they are not meant to offend anybody. It's could be just the writing in english which is not my native tounge. You really do want automatic slab reassignment... yes this would solve all, but only if it cleared the

Re: memcached - expire (again)

2009-07-22 Thread dl4ner
Trond, Well, it will allocate a new item unless it finds an expired item in   the tail of the item LRU. You may have expired items in the middle of   your LRU list, and you would still evict items from the cache if all   memory is allocated. I just read this now. Do I understand correctly

Re: memcached - expire (again)

2009-07-21 Thread dl4ner
Hi Dormando, Can you explain what you mean by expire ? You've gone into great detail about needing it, but I don't see how explicitly expiring items is doing you get good over letting them be evicted? Or by setting more sane expiration times? well, lets say I have 2 G RAM in total for

Re: memcached - expire (again)

2009-07-21 Thread Trond Norbye
The biggest problem with expiration is that in order to locate the item to expire we would have to look at _all_ items in the cache (we don't link the items into a expiry list). Currently we work out of the assumption that the future memory allocation pattern will match the current

Re: memcached - expire (again)

2009-07-21 Thread Trond Norbye
On 21. juli. 2009, at 13.27, Henrik Schröder wrote: Wait, you say that if you manually find items and delete them, your cache never really grows much and you avoid the problem. But why don't you set short expiration times on all items from the start, then you wouldn't have to do your

memcached - expire (again)

2009-07-20 Thread dl4ner
Hi there, background: we are using some clusters and running memcached on about 30..40 servers with about lots of ram dedicated to the memcache. short: 1) I know there is no such thing as an expire in memcached. 2) I know memcached is not a database and never will be. but it would be good if