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