jackrabbit-oak-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andrei Dulceanu (JIRA)" <j...@apache.org>
Subject [jira] [Created] (OAK-6702) Improve cold standby resiliency to incoherent configs
Date Fri, 22 Sep 2017 09:12:00 GMT
Andrei Dulceanu created OAK-6702:

             Summary: 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

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

View raw message