[
https://issues.apache.org/jira/browse/OAK-6702?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Michael Dürig updated OAK-6702:
-------------------------------
Labels: cold-standby resilience (was: cold-standby)
> Improve cold standby resiliency to incoherent configs
> -----------------------------------------------------
>
> Key: OAK-6702
> URL: https://issues.apache.org/jira/browse/OAK-6702
> Project: Jackrabbit Oak
> Issue Type: Improvement
> Components: segment-tar, tarmk-standby
> Affects Versions: 1.7.0
> Reporter: Andrei Dulceanu
> Assignee: Andrei Dulceanu
> Labels: cold-standby, resilience
> Fix For: 1.8
>
>
> In order to correctly configure cold standby there are two OSGi
> configurations that need to be provided. Among other settings,
> {{org.apache.jackrabbit.oak.segment.SegmentNodeStoreService.config}} needs
> {{standby=B"true"}} and
> {{org.apache.jackrabbit.oak.segment.standby.store.StandbyStoreService.config}}
> needs {{mode="standby"}}. The problem is that sometimes we have
> {{mode="standby"}} in {{StandbyStoreService}} and {{standby=B"false"}} in
> {{SegmentNodeStoreService}} which leads to starting a problematic standby
> instance (with primary behaviour enabled, e.g. indexing, etc.). This problem
> stems from the fact that there are two components whose configuration should
> be coordinated. Proposals to mitigate this:
> # Keep the {{mode="standby"}}, but merge the configuration of
> {{StandbyStoreService}} in the one for {{SegmentNodeStoreService}} and
> eliminate {{StandbyStoreService}} altogether
> # {{StandbyStoreService}} should derive {{mode="standby"}} from
> {{"standby=B"true"}} in {{SegmentNodeStoreService}}
> # {{SegmentNodeStoreService}} should derive {{"standby=B"true"}} from
> {{mode="standby"}} in {{StandbyStoreService}} because that's the way
> synchronization happens now: {{StandbyStoreService}} currently waiting for
> for a proper initialization of {{SegmentNodeStoreService}}
> # Make {{StandbyStoreService}} configuration mandatory, but require a
> {{mode="off"}} setting. This way the removal of {{standby=B"true"}} from
> {{SegmentNodeStoreService}} would be guaranteed and any synchronization
> between the two components would be avoided.
> /cc [~frm], [~volteanu], [~mduerig]
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)