Thanks Aaron, I found the implementation in CLibrary.trySkipCache() method which uses fadvise DONTNEED flag after going through https://issues.apache.org/jira/browse/CASSANDRA-1470
I also came across the link mentioned in JIRA http://blog.mikemccandless.com/2010/06/lucene-and-fadvisemadvise.html?showComment=1303235497682#c2572106601600642254 which says 2.6.29 version above has implemented madvise SEQUENTIAL in a better manner. So for memory mapped files, compaction can do a madvise SEQUENTIAL instead of current DONTNEED flag after detecting appropriate OS versions. Will this help? -- Ravi On Thu, Dec 6, 2012 at 8:19 AM, aaron morton <aa...@thelastpickle.com>wrote: > Background http://en.wikipedia.org/wiki/Memory-mapped_file > > Is it going to load only relevant pages per SSTable on read or is it going > to load an entire SSTable on first access? > > It will load what is requested, and maybe some additional data taking into > account the amount of memory available for caches. > > Say suppose compaction kicks in. Will it then evict hot MMapped pages for > read and substitute it with a lot of pages involving full SSTables? > > Some file access in cassandra, such as compaction, hints to the OS that > the reads should not be cached. Technically is uses posix_fadvise if you > want to look it up. > > Cheers > > > ----------------- > Aaron Morton > Freelance Cassandra Developer > New Zealand > > @aaronmorton > http://www.thelastpickle.com > > On 5/12/2012, at 11:04 PM, Ravikumar Govindarajan < > ravikumar.govindara...@gmail.com> wrote: > > Thanks Aaron, > > I am not quite clear on how MMap loads SSTables other than the fact that > it kicks in only during a first-time access > > Is it going to load only relevant pages per SSTable on read or is it going > to load an entire SSTable on first access? > > Say suppose compaction kicks in. Will it then evict hot MMapped pages for > read and substitute it with a lot of pages involving full SSTables? > > -- > Ravi > > On Wed, Dec 5, 2012 at 1:22 AM, aaron morton <aa...@thelastpickle.com>wrote: > >> Will MMapping data files be detrimental for reads, in this case? >> >> No. >> >> In general, when should we opt for MMap data files and what are the >> factors that need special attention when enabling the same? >> >> mmapping is the default, so I would say use it until you have a reason >> not to. >> >> mmapping will map the entire file, but pages of data are read into memory >> on demand and purged when space is needed. >> >> Cheers >> >> ----------------- >> Aaron Morton >> Freelance Cassandra Developer >> New Zealand >> >> @aaronmorton >> http://www.thelastpickle.com >> >> On 4/12/2012, at 11:59 PM, Ravikumar Govindarajan < >> ravikumar.govindara...@gmail.com> wrote: >> >> Our current SSTable sizes are far greater than RAM. {150 Gigs of data, >> 32GB RAM}. Currently we run with mlockall and mmap_index_only options and >> don't experience swapping at all. >> >> We use wide rows and size-tiered-compaction, so a given key will >> definitely be spread across multiple sstables. Will MMapping data files be >> detrimental for reads, in this case? >> >> In general, when should we opt for MMap data files and what are the >> factors that need special attention when enabling the same? >> >> -- >> Ravi >> >> >> > >