[jira] [Created] (IGNITE-1211) Significant performance drop when multiple value types use the same key type in OFFHEAP_TIERED mode

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[jira] [Created] (IGNITE-1211) Significant performance drop when multiple value types use the same key type in OFFHEAP_TIERED mode

Anton Vinogradov (Jira)
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)