> > If the commitlog is in periodic mode and the fsync happens every 10 > seconds, Cassandra is storing the stuff that needs to be sync'd somewhere > for a period of 10 seconds. I'm talking about before it even hits any > disk. This has to be in memory, correct?
The information you are referring to is stored in the OS page cache[1] so it's not part of Cassandra's memory, though I imagine Cassandra will keep a small handle of some kind on the mutation for making the system fsync[2] call when appropriate. [1] http://en.wikipedia.org/wiki/Page_cache [2] http://linux.die.net/man/2/fsync Thanks, Russ On Thu, Apr 10, 2014 at 1:11 PM, Parag Patel <ppa...@clearpoolgroup.com>wrote: > Oleg, > > Thanks for the response. If the commitlog is in periodic mode and the > fsync happens every 10 seconds, Cassandra is storing the stuff that needs > to be sync'd somewhere for a period of 10 seconds. I'm talking about > before it even hits any disk. This has to be in memory, correct? > > Parag > > -----Original Message----- > From: Oleg Dulin [mailto:oleg.du...@gmail.com] > Sent: Wednesday, April 09, 2014 10:42 AM > To: user@cassandra.apache.org > Subject: Re: Commitlog questions > > Parag: > > To answer your questions: > > 1) Default is just that, a default. I wouldn't advise raising it though. > The bigger it is the longer it takes to restart the node. > 2) I think they juse use fsync. There is no queue. All files in cassandra > use java.nio buffers, but they need to be fsynced periodically. Look at > commitlog_sync parameters in cassandra.yaml file, the comments there > explain how it works. I believe the difference between periodic and batch > is just that -- if it is periodic, it will fsync every 10 seconds, if it is > batch it will fsync if there were any changes within a time window. > > On 2014-04-09 10:06:52 +0000, Parag Patel said: > > > > >>>>> 1) Why is the default 4GB? Has anyone changed this? What are > >>>>> some aspects to consider when determining the commitlog size? > >>>>> 2) If the commitlog is in periodic mode, there is a property > >>>>> to set a time interval to flush the incoming mutations to disk. > >>>>> This implies that there is a queue inside Cassandra to hold this > >>>>> data in memory until it is flushed. > >>>>>>>>> a. Is there a name for this queue? > >>>>>>>>> b. Is there a limit for this queue? > >>>>>>>>> c. Are there any tuning parameters for this queue? > > > > Thanks, > > Parag > > > -- > Regards, > Oleg Dulin > http://www.olegdulin.com > > >