Looking further I think I can achieve the same by checking if
NodeStore is instanceof
org.apache.jackrabbit.oak.spi.state.Clusterable which was introduced
with OAK-3529 and is currently implemented by DocumentNodeStore
Chetan Mehrotra


On Tue, Nov 15, 2016 at 3:39 PM, Stefan Egli <[email protected]> wrote:
> Hi Chetan,
>
> I think the discoverylite and the new 'clustered' property options have
> different characteristics. The former describes the current status of the
> cluster, irrespective of whether it can be clustered at all. While the
> latter is about a capability whether the node store supports clustering or
> not. And assuming that you're after the capability 'cluster support'
> alone, then I think handling this separate is indeed more appropriate.
>
> Cheers,
> Stefan
>
> On 15/11/16 10:37, "Chetan Mehrotra" <[email protected]> wrote:
>
>>Hi Team,
>>
>>For OAK-2108 Killing a cluster node may stop async index update to to
>>30 minutes.
>>
>>One possible fix can be that AsyncIndexUpdate can determine if the
>>repository is part of cluster or its a single instance. In case its a
>>single instance we can reduce the timeout as its known that there are
>>no other processes involved.
>>
>>Currently for SegmentNodeStore a Descriptor with name
>>'oak.discoverylite.clusterview' is registered whose value is as below
>>
>>---
>>{"seq":1,"final":true,"me":1,"id":"80a1fb91-83bc-4eac-b855-53d7b8a04092","
>>active":[1],"deactivating":[],"inactive":[]}
>>---
>>
>>AsyncIndexerService can get access to 'Descriptors' and look for that
>>key and check if 'active' is 1.
>>
>>However there should be a better way to detect this. Can we have an
>>explicit descriptor defined say OAK_CLUSTERED having boolean value. A
>>false means its not a cluster while true means it "might" be part of
>>cluster.
>>
>>Thoughts?
>>
>>Chetan Mehrotra
>
>

Reply via email to