[
https://issues.apache.org/jira/browse/GEODE-10339?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Alexander Murmann updated GEODE-10339:
--------------------------------------
Labels: needsTriage (was: )
> 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
> Priority: Major
> Labels: needsTriage
>
> {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)