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

Geoffrey Jacoby commented on HBASE-16576:
-----------------------------------------

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)

Reply via email to