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

Reply via email to