[ https://issues.apache.org/jira/browse/OAK-2843?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15013544#comment-15013544 ]
Thomas Mueller commented on OAK-2843: ------------------------------------- I implemented a new broadcast algorithm "tcp". The configuration options are: "sendTo" (default: "localhost"), which is the space separated list of hosts (ip addresses). "ports" with a start end end port (default 9800 and 9810). "key" the unique repository id. Example configuration: {noformat} launchpad configuration (escaped): persistentCache="crx-quickstart/repository/cache,size\=1024,binary\=0,broadcast\=tcp:key 123" persistent cache URI (not escaped): repo/cache,size=1024,broadcast=tcp:key hello;sendTo 192.168.0.1 192.168.0.2;ports 9100 9200 {noformat} Currently, a unique "key" needs to be manually configured for each cluster node. This key needs to be unique for the repository (each repository needs a separate key), to make sure cluster nodes only talk to other cluster nodes of the same repository. It would be much better to auto-configure this setting. The "key" should not be stored in the repository once and then re-used, but generated each time a new cluster node is added or removed, to ensure the key is unique even if the repository backend storage is copied. Probably the best place for that is in org.apache.jackrabbit.oak.plugins.document.ClusterView (part of DocumentDiscoveryLiteService). > Broadcasting cache > ------------------ > > Key: OAK-2843 > URL: https://issues.apache.org/jira/browse/OAK-2843 > Project: Jackrabbit Oak > Issue Type: Improvement > Components: mongomk > Reporter: Thomas Mueller > Assignee: Thomas Mueller > Fix For: 1.3.11 > > > In a cluster environment, we could speed up reading if the cache(s) broadcast > data to other instances. This would avoid bottlenecks at the storage layer > (MongoDB, RDBMs). > The configuration metadata (IP addresses and ports of where to send data to, > a unique identifier of the repository and the cluster nodes, possibly > encryption key) rarely changes and can be stored in the same place as we > store cluster metadata (cluster info collection). That way, in many cases no > manual configuration is needed. We could use TCP/IP and / or UDP. -- This message was sent by Atlassian JIRA (v6.3.4#6332)