[
https://issues.apache.org/jira/browse/HBASE-16576?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Geoffrey Jacoby updated HBASE-16576:
------------------------------------
Comment: was deleted
(was: Interesting. I'd be curious to know how to set an endpoint via individual
config parameters -- just have the three properties use the same key in
ReplicationPeerConfig's Configuration as in an HBase configuration object?
That's an undocumented usage, I think.
Regardless of whether CLUSTER_KEY or the individual parameters are the best way
for setting the target of an endpoint, whether CLUSTER_KEY's legal shouldn't
matter whether or not an operator's using a built-in or custom endpoint. I
still think the patch is worthwhile even if there happens to be a workaround. )
> Shell add_peer doesn't allow setting cluster_key for custom endpoints
> ---------------------------------------------------------------------
>
> Key: HBASE-16576
> URL: https://issues.apache.org/jira/browse/HBASE-16576
> Project: HBase
> Issue Type: Bug
> Components: shell
> Affects Versions: 2.0.0, 1.1.5, 0.98.22
> Reporter: Geoffrey Jacoby
> Assignee: Geoffrey Jacoby
> Attachments: HBASE-16576.patch, HBASE-16576.v1.patch
>
>
> The HBase shell allows a user to create a replication peer using the add_peer
> method, which can take a peer id and a Ruby hash. It creates a
> ReplicationPeerConfig and passes it through to the Java
> ReplicationAdmin#addPeer.
> The Ruby code makes an assumption that the Java API doesn't: that CLUSTER_KEY
> and ENDPOINT_CLASSNAME are mutually exclusive. If both are specified, it
> throws an error. If only ENDPOINT_CLASSNAME is set, the add_peer logic
> derives a local dummy cluster key based on the local cluster's configuration.
> CLUSTER_KEY shouldn't be required when an ENDPOINT_CLASSNAME is specified,
> because a custom endpoint might not need it. The dummy default logic is fine.
>
> But if an endpoint does require a remote cluster key, it shouldn't be
> forbidden to provide one, especially since the Java API permits it, and even
> the custom replication endpoint Java tests rely on this. (See
> TestReplicationEndpoint#testCustomReplicationEndpoint)
>
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)