[ 
https://issues.apache.org/jira/browse/OAK-8593?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16937959#comment-16937959
 ] 

Marcel Reutegger commented on OAK-8593:
---------------------------------------

There's a problem with existing documents in the {{clusterNodes}} collection. 
Those documents will not have the {{invisible}} field, which will result in a 
NPE when calling {{ClusterNodeInfoDocument.isInvisible()}}.

I also suggest to make accessors to the invisible flag consistent and rename 
{{ClusterNodeInfo.getInvisible()}} to {{ClusterNodeInfo.isInvisible()}}.

Added a bit more information to 
{{DocumentNodeStoreBuilder.setClusterInvisible()}} to make it clear to whom the 
node store will be invisible.

See updated patch [^OAK-8593-2.patch].

> Enable a transient cluster-node to connect as invisible to oak discovery
> ------------------------------------------------------------------------
>
>                 Key: OAK-8593
>                 URL: https://issues.apache.org/jira/browse/OAK-8593
>             Project: Jackrabbit Oak
>          Issue Type: Improvement
>          Components: documentmk
>            Reporter: Amit Jain
>            Assignee: Amit Jain
>            Priority: Major
>         Attachments: OAK-8593-2.patch, OAK-8593.patch
>
>
> Currently, if Oak is initialized with read-write access to the DocumentStore 
> (Mongo/RDB) e.g through oak-run, it is made visible to upper layers (e.g. 
> sling discovery) via the oak discovery cluster view. This can cause problems 
> in the actual cluster with the differing topology view and the capabilities 
> advertised and in some circumstances being made a leader.
> In an offline discussion with [~mreutegg] and [~egli] it was decided that its 
> best to expose a flag \{{invisible}} in the cluserNodes collection/table with 
> which these instances can connect and then these would be ignored by the oak 
> discovery.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to