Affects Version/s: 2.7
Fix Version/s: None
Ignite Flags:Docs Required, Release Notes Required
At the current time, Ignite is not able to release occupied disc space even if a significant amount of data was removed from IgniteCache. It disturbs our users because they can't use hardware effectively, also it increases TCO.
Let's imagine that we have used IgniteCache with enabled PDS during the time:
- hardware disc space has been occupied during growing up of an amount
of data, e.g. 100Gb;
- then, we removed non-actual data, e.g 50Gb, which became useless for us;
- disc space stopped growing up with new data, but it was not
released, and still took 100Gb, instead of expected 50Gb;
Another use case:
- a user extracts data from IgniteCache to store it in separate
IgniteCache or another store;
- disc still is occupied and the user is not able to store data in the
different cache at the same cluster because of disc limitation;
Introduce some kind of mechanics which will be able to shrink data in IgniteCache and to free up space on a disc of mapped free memory pages.
A solution should take into account possible concurrent reads and updates of data and indexes to maintain consistency.
Maybe, it makes sense to implement a tool to be offline at the first step that means concurrent operations will be prohibited.
Strongly recommended discussing design on dev-list with Ignite experts before the start of implementation.