Alexey Goncharuk created IGNITE-1211:
----------------------------------------
Summary: Significant performance drop when multiple value types use the same key type in OFFHEAP_TIERED mode
Key: IGNITE-1211
URL:
https://issues.apache.org/jira/browse/IGNITE-1211 Project: Ignite
Issue Type: Bug
Components: cache
Reporter: Alexey Goncharuk
Cache configuration:
memory mode = OFFHEAP_TIERED
indexedTypes=(KeyType, ValueType1, KeyType, ValueType2, KeyType, ValueType3)
If we now run a benchmark that puts KeyType, ValueType0 (note that this type is not indexed), the performance of puts will be significantly (depending on the number of indexed entries) worse.
The reason for this is that in {{onSwap}} method of {{IgniteH2Indexing}} only key is available and we need to call {{onSwap}} on each table with matching key type. If the size of those table is large enough, this leads to a noticeable performance drop.
One of the solutions I see is to pass the swapped value as CacheObject into {{onSwap}} method - it is available in {{GridCacheSwapManager#writeMethod}} and can be easily provided to {{GridCacheSwapManager#writeAll}} method.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)