Igniters, We have a ticket to implement runtime WAL state management [1].It will be possible to disable it temporarily. This is very useful for data loading case. Our experiments show that we can improve data loading time by a factor of 2x-10x depending on configuration, indexes and cluster topology.
We had a private chat with Anton Vinogradov and Alexey Goncharuk, and came to certain design which you can find inside the ticket. Comments are welcomed. In this email I would like to focus on API of this feature. Considerations: 1) It should be possible to disable WAL globally or on per-cache basis. 2) It should be possible to get current state of WAL for the cache. Quick draft from my side: void disableWal(); void disableWal(String... cacheNames); void enableWal(); void enableWal(String... cacheNames); boolean isWalEnabled(String... cacheNames); Please help improving it. - Do we really need methods to disable WAL for all caches? This is not very intuitive feature. - Where to place these operations? Ignite interface? Ignite + IgniteCache? Separate facade? - Do we need async counterparts? - Do we need a feature which completes when WAL is enabled back? Vladimir. [1] https://issues.apache.org/jira/browse/IGNITE-6411