Hacker News new | past | comments | ask | show | jobs | submit login

In regard to conclusion 2, there is another approach here - when you're finished with an old segment, posix_fadvise(..., POSIX_FADV_DONTNEED) can be used to drop it from the page cache.



That would be true if we were using C++. Unfortunately, all our code is in Scala and we use Java NIO libraries to memory map our files. AFAIK, they don't give us the option on using these POSIX calls.


Cassandra binds to posix_fadvise to do exactly this when writing out new SSTables:

https://github.com/apache/cassandra/blob/trunk/src/java/org/...


Wow.. that's great to know. We will definitely investigate this approach. Thanks for sharing! :)




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: