Hi Tarek! (ant the rest of the Memcache community!) If you look in lp:libmemcached/build you will find a tree with virtual bucket support in it (with support for fail over/etc). Replication is something we already support.
"Virtual Buckets" is a feature I called "wheel" that I removed a couple of years ago because support was dropped in Memcached (and it looks like it will go back in, in 1.6). Membase has a JSON fetcher that does automatic updates which should be easy enough to incorporate. The JSON code comes from another open source project. There is in the memcached protocol a new bit for issuing vbucket changes but I don't see that is it implemented/tested/etc in the server. I can use the memcached_light server that we ship with libmemcached to test it. I've got a couple of meetings over the next week with a couple of the Memcached vendors and I am going to see if there isn't something that could be done to make all vendors happy. But for now, if you set the virtual buckets via your connection with libmemcached it will correctly talk to the membase server. I wouldn't link against libvbucket. It is not thread safe (notice the error message usage) and it has little testing. One thing that I am noticing in the memcached 1.6 tree is that there are some protocol additions that have not been documented, and there are zero emails to any of the mailing list about them. Personally I think it is bad business to see that stuff going into 1.6. If "memcached" is supposed to be the reference implementation, then there needs to be code in the server showing how these features work. Cheers, -Brian
