Juha Mynttinen created FLINK-19303:
--------------------------------------
Summary: Disable WAL in RocksDB recovery
Key: FLINK-19303
URL: https://issues.apache.org/jira/browse/FLINK-19303
Project: Flink
Issue Type: Improvement
Reporter: Juha Mynttinen
During recovery of {{RocksDBStateBackend}} the recovery mechanism puts the key
value pairs to local RocksDB instance(s). To speed up the process, the recovery
process uses RocskDB write batch mechanism. [RocksDB
WAL|https://github.com/facebook/rocksdb/wiki/Write-Ahead-Log] is enabled
during this process.
During normal operations, i.e. when the state backend has been recovered and
the Flink application is running (on RocksDB state backend) WAL is disabled.
The recovery process doesn't need WAL. In fact the recovery should be much
faster without WAL. Thus, WAL should be disabled in the recovery process.
AFAIK the last thing that was done with WAL during recovery was an attempt to
remove it. Later that removal was removed because it causes stability issues
(https://issues.apache.org/jira/browse/FLINK-8922).
Unfortunately the root cause why disabling WAL causes segfault during recovery
is unknown. After all, WAL is not used during normal operations.
Potential explanation is some kind of bug in RocksDB write batch when using
WAL. It is possible later RocksDB versions have fixes / workarounds for the
issue.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)