Jakov Varenina created GEODE-10339:
--------------------------------------
Summary: The server fails to start because the .crf of the .drf
file is missing
Key: GEODE-10339
URL: https://issues.apache.org/jira/browse/GEODE-10339
Project: Geode
Issue Type: Bug
Reporter: Jakov Varenina
{color:#0e101a}The server fail with following:{color}
{color:#0e101a}{"timestamp":"2022-05-16T08:25:35.708Z","severity":"error","message":"Cache
initialization for GemFireCache[id = 776315735; isClosing = false;
isShutDownAll = false; created = Mon May 16 08:25:33 UTC 2022; server = false;
copyOnRead = false; lockLease = 120; lockTimeout = 60] failed because:
java.lang.IllegalStateException: {*}The following required files could not be
found: *.crf files with these ids:
[33].{*}","metadata":\{"function":"KVDB"},"version":"1.1.0","service_id":"eric-udr-kvdb-ag","extra_data":\{"thread_info":{"thread_name":"main","thread_id":"1"},"e":\{"exception":""}}}{color}
{color:#0e101a}As a last compaction step, the server deletes the compacted .crf
file. The deletion is done in the following way:{color}
# {color:#0e101a}Write delete operation (delete ".crf" file) in the ".if"
file. {color}
# {color:#0e101a}Delete .crf file{color}
{color:#0e101a}The problem with server startup happens in the following
scenario:{color}
# {color:#0e101a}The server writes the delete" operation (for .crf file) in
the ".if" file. The write is not immediately flushed to the ".if" file, but it
goes to the async write buffer.{color}
# {color:#0e101a}The server deletes the ".crf" file.{color}
# {color:#0e101a}The forceful restart happens before the async write buffer is
flushed to the ".if" file. This scenario leaves the ".if" file not updated, and
therefore server startup fails later on.{color}
{color:#0e101a}To avoid the above issue, we can use the existing parameter in a
geode that forces the server to write synchronously to the ".if" file:{color}
{code:java}
--J=-Dgemfire.syncMetaDataWrites=true
{code}
{color:#0e101a}This parameter is not mentioned anywhere in the documentation.
So it would be good to add it to the following document:{color}
{color:#0e101a}https://geode.apache.org/docs/guide/114/managing/disk_storage/managing_disk_buffer_flushes.html{color}
{color:#0e101a}Changing this parameter's default value to true would also be
good. {color}
{color:#0e101a}This parameter should not affect performance as the ".if" file
is not updated frequently.{color}
--
This message was sent by Atlassian Jira
(v8.20.7#820007)