forcedotcom/phoenix — pull request #701 by kutschm (2014-01-17 01:13:39+00:00)
Title: LRU cache replacement & dynamic resizing

This pull requests replaces the guava LRU cache with a simple LinkedHashMap implementation. The cache now resizes by a factor of 1.5 in case the current size threshold is exceeded. It starts spilling once an InsufficientMemory exception is thrown.

Added a couple more optimizations:
- dirty page detection -> prevents unnecessary page flushes.
- delete spilled records that are in LRU cache upon bucket redistribution.