On Tue, Apr 6, 2010 at 10:58 AM, Tatu Saloranta <tsalora...@gmail.com> wrote: > On Tue, Apr 6, 2010 at 8:17 AM, Jonathan Ellis <jbel...@gmail.com> wrote: >> On Tue, Apr 6, 2010 at 2:13 AM, Ilya Maykov <ivmay...@gmail.com> wrote: >>> That does sound similar. It's possible that the difference I'm seeing >>> between ConsistencyLevel.ZERO and ConsistencyLevel.ALL is simply due >>> to the fact that using ALL slows down the writers enough that the GC >>> can keep up. >> >> No, it's mostly due to ZERO meaning "buffer this locally and write it >> when it's convenient," and buffering takes memory. If you check your >> tpstats you will see the pending ops through the roof on the node >> handling the thrift connections. > > This sounds like a great FAQ entry? (apologies if it's already included) > So that ideally users would only use this setting if they (think they) > know what they are doing. :-)
I added this note to the API docs: * ConsistencyLevel.ZERO: Ensure nothing. A write happens asynchronously in background. If too many of these queue up, buffers will explode and bad things will happen. Apologies if I violated any community conventions. I'm happy to fix the text if someone has a better suggestion. Paul Prescod