Impelement in-house file caching.
---------------------------------
Key: CASSANDRA-2731
URL: https://issues.apache.org/jira/browse/CASSANDRA-2731
Project: Cassandra
Issue Type: New Feature
Components: Core
Affects Versions: 1.0
Reporter: Pavel Yaskevich
Assignee: Pavel Yaskevich
Implement FileCache, CachedRandomAccessFile (to replace
BufferedRandomAccessFile) and RadixTree (to play role of the backend cache
storage) classes.
FileCache class with be responsible for storing/retrieving data from Radix Tree
and also flushing of the dirty pages to the disk, page management such as
adding new pages, utilizing old/unused pages.
CRAF Linux only features (via JNI):
1). O_DIRECT for both read/write operations.
2). AIO's lio_listio write operation batching.
Provide possibility to migrate hot data directly from Memtable to CRAF cache to
keep live-reads data always hot in memory. To minimise compaction effects CRAF
should provide a way to by-pass a caching data if it does not already exists.
Provide a way to make pointers in the cache which will be useful to minimize
impact on performance when a single column is distributed among multiple
SSTable files (except counter columns).
Use jemalloc (http://www.canonware.com/jemalloc/) for cache memory management.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira