[ https://issues.apache.org/jira/browse/IGNITE-10563?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Stanislav Lukyanov updated IGNITE-10563: ---------------------------------------- Summary: Allow manual checkpoint and fsync for WAL (was: Allow manual fsync for WAL) > Allow manual checkpoint and fsync for WAL > ----------------------------------------- > > Key: IGNITE-10563 > URL: https://issues.apache.org/jira/browse/IGNITE-10563 > Project: Ignite > Issue Type: Improvement > Reporter: Stanislav Lukyanov > Priority: Major > > When walMode is set to LOG_ONLY or BACKGROUND there is a gap between > successful return of cache write operations and actual of the data to the > persistent memory. This gap is, while usually low, generally can be of any > length and depends on low-level system parameters (e.g. sysctl memory and IO > settings on Linux). > On the other hand, there are situations when a user may want to ensure that > at certain points all writes have been propagated to the disk. > For example, say a large batch of data is being inserted into Ignite from an > upstream system. After finishing the batch we want to ensure that all of the > data is secure, and after that we remove the batch from the upstream storage. > In other words, we want > {code} > map = upstream.getData(); > cache.putAll(map); > cache.fsync(); // <------- > upstream.removeAll(map); > {code} > Currently there is no easy way to ensure that certain write (or all writes > until a point in time) has been flushed to a device. We can only rely on > settings like WAL sync interval, checkpoint timeout, etc. > It would be nice to have a way to manually call fsync() for WAL to have a > strong guarantee that all previous updates have been fully written on disk. -- This message was sent by Atlassian Jira (v8.3.4#803005)