Skip navigation
Toggle Sidebar

Custom Eviction

Project Description A plug-in for GigaSpaces applications that want to implement different eviction strategy for each entry type.
Current Project Version 0.50
Project Maturity Alfa
Project License Apache License 2.0
Compatible GigaSpaces XAP Version GigaSpaces 5.2 and above.
Compatible Java Version Java 5 and above.
Project Captain Shravan Kumar
Contributors Shravan Kumar

Project Sitemap

Project Homepage

Features and Capabilities

Using this plug-in GigaSpaces applications will be able to implement different eviction strategy for each entry type.

This project attempts to give a mechanism that can be used in scenarios where you application is looking for granular control over entries that are evicted from the space.

GigaSpaces currently provides eviction functionality that removes entries from the Space when the JVM heap usage exceeds thresholds defined in schema files (aka cache policy LRU).
LRU functionality evicts the "oldest" Entries from its memory. "Oldest" Entries are determined by the time they were written or updated to the Space.
This is not ideal in all scenarios. Some application want to leave the entries in the space in spite of not being updated/written to.

Having an option to implement different eviction strategy per entry type will be useful if an application that needs different life cycle per entry

Example

I will use an order processing application developed using GigaSpaces software as an example. Typical entries that are created in this type of application will be,

  • Account
  • Order

When the heap usage reaches high limit, application has to clear out data from cache so as to make room for new orders coming into the system. If LRU is used there is a chance that Account entries will get deleted if they are not updated/written recently.
Application may not want to lose the account information but can make more space by clearing out Orders that are already processed by the system without affecting any Account data.

Using this plug-in you will get the ability to remove only Order entries and leave Account entries intact when memory usage reaches high limit

Adaptavist Theme Builder Powered by Atlassian Confluence