Will the node serves the staled data after rebooting?
Wed, 01/26/2011 - 16:03
I have two questions on the feature of membase.
First question:
If the membase write data to disk asynchronously, what is the behavior of a node if it got rebooted while the updated data was in memory before writing to disk? Will it serve the "stale" data from disk after rebooting?
Seconder question:
If a bucket is replcated to another server, will both buckets server the user requests? or only the "master" bucket server the requests?
Thanks!
James
Hi there James, happy to answer your questions.
For the first one, any data that was in RAM when a node is rebooted is essentially lost. Ideally we were able to replicate it to another node before that happens but as with any asynchronous RAM-cached system, there is always a small window of data that is "in flight". We pride ourselves on being able to expose accurate metrics about the system so that you can understand any vulnerability.
In general, if you are dealing with a single-node failure you will want to use the failover functionality to restore access to your data as quickly as possible, rather than waiting for it to reload from disk. The disk persistence is really designed for recovering from a cluster-wide outage and being able to hold more data than you have RAM available.
For your second question, every server is "master" for some data and a replica for other data (depending on the number of servers and number of replicas). You may want to read about our vbucket concept which is really core to how we handle all sorts of things like replication, rebalancing and failover: http://wiki.membase.org/display/membase/vBuckets
Hope that helps, let me know if you have any other questions.
Perry
Forum support is great for free but sometimes you need a guaranteed response time and dedicated resources for your questions or issues.
Consider purchasing enterprise-level support from Couchbase: http://www.couchbase.com/products-and-services/overview
Call or email "sales -at- couchbase-dot- com" today!