Is data only written to disk when mem_high_wat is hit?
From the documentation:
At this point a background job is scheduled to ensure items are migrated to disk and the memory is then available for other membase items.
In the documentation, first the word migration is used, which sounds like it may mean either persistence or eviction and than later, the word eviction is used.
Does this mean that data is only persisted to disk when mem_high_wat is hit and any crash on a unloaded node will have full data loss?
We will also eject data as soon as it's persisted iff it's for an inactive (e.g. replica) vbucket if we're above our low watermark for memory.
Seems like it's persisted regardless. You might want to change from using the word migration and just say eviction from memory. Migration clearly sounds like your moving it to the hard drive.
Thanks, I'll update the documentation.
Your understanding is correct, the process of writing data to disk and the process of reclaiming memory are completely separate.
Any changes are persisted to disk as fast as possible, but the data is still cached in RAM. When memory usage gets high enough, a separate process kicks in just to reclaim RAM in order to make space for more data (when the low watermark is hit, replica data is reclaimed/ejected, when the high watermark is hit, active data is reclaimed/ejected).
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!