HBASE-16576 Shell add_peer doesn't allow setting cluster_key for custom endpoints
Signed-off-by: Andrew Purtell <apurtell@apache.org>
This commit is contained in:
parent
6c8d1f0ae8
commit
e1e0637200
|
@ -51,8 +51,6 @@ module Hbase
|
|||
# or neither are provided
|
||||
if endpoint_classname.nil? and cluster_key.nil?
|
||||
raise(ArgumentError, "Either ENDPOINT_CLASSNAME or CLUSTER_KEY must be specified.")
|
||||
elsif !endpoint_classname.nil? and !cluster_key.nil?
|
||||
raise(ArgumentError, "ENDPOINT_CLASSNAME and CLUSTER_KEY cannot both be specified.")
|
||||
end
|
||||
|
||||
# Cluster Key is required for ReplicationPeerConfig for a custom replication endpoint
|
||||
|
|
|
@ -52,8 +52,12 @@ the key TABLE_CFS.
|
|||
hbase> add_peer '11', ENDPOINT_CLASSNAME => 'org.apache.hadoop.hbase.MyReplicationEndpoint',
|
||||
DATA => { "key1" => 1 }, CONFIG => { "config1" => "value1", "config2" => "value2" },
|
||||
TABLE_CFS => { "table1" => [], "ns2:table2" => ["cf1"], "ns3:table3" => ["cf1", "cf2"] }
|
||||
hbase> add_peer '12', ENDPOINT_CLASSNAME => 'org.apache.hadoop.hbase.MyReplicationEndpoint',
|
||||
CLUSTER_KEY => "server2.cie.com:2181:/hbase"
|
||||
|
||||
Note: Either CLUSTER_KEY or ENDPOINT_CLASSNAME must be specified. If ENDPOINT_CLASSNAME is specified, CLUSTER_KEY is
|
||||
optional and should only be specified if a particular custom endpoint requires it.
|
||||
|
||||
Note: Either CLUSTER_KEY or ENDPOINT_CLASSNAME must be specified but not both.
|
||||
EOF
|
||||
end
|
||||
|
||||
|
|
|
@ -55,14 +55,6 @@ module Hbase
|
|||
end
|
||||
end
|
||||
|
||||
define_test "add_peer: fail when both CLUSTER_KEY and ENDPOINT_CLASSNAME are specified" do
|
||||
assert_raise(ArgumentError) do
|
||||
args = { CLUSTER_KEY => 'zk1,zk2,zk3:2182:/hbase-prod',
|
||||
ENDPOINT_CLASSNAME => 'org.apache.hadoop.hbase.MyReplicationEndpoint' }
|
||||
command(:add_peer, @peer_id, args)
|
||||
end
|
||||
end
|
||||
|
||||
define_test "add_peer: args must be a hash" do
|
||||
assert_raise(ArgumentError) do
|
||||
command(:add_peer, @peer_id, 1)
|
||||
|
@ -132,7 +124,7 @@ module Hbase
|
|||
define_test "add_peer: multiple zk cluster key and table_cfs - peer config" do
|
||||
cluster_key = "zk4,zk5,zk6:11000:/hbase-test"
|
||||
table_cfs = { "table1" => [], "table2" => ["cf1"], "table3" => ["cf1", "cf2"] }
|
||||
table_cfs_str = "default.table1;default.table3:cf1,cf2;default.table2:cf1"
|
||||
#table_cfs_str = "default.table1;default.table3:cf1,cf2;default.table2:cf1"
|
||||
|
||||
args = { CLUSTER_KEY => cluster_key, TABLE_CFS => table_cfs }
|
||||
command(:add_peer, @peer_id, args)
|
||||
|
@ -140,7 +132,11 @@ module Hbase
|
|||
assert_equal(1, command(:list_peers).length)
|
||||
assert(command(:list_peers).key?(@peer_id))
|
||||
assert_equal(cluster_key, command(:list_peers).fetch(@peer_id).get_cluster_key)
|
||||
assert_equal(table_cfs_str, command(:show_peer_tableCFs, @peer_id))
|
||||
|
||||
# Note: below assertion is dependent on the sort order of an unordered
|
||||
# map and hence flaky depending on JVM
|
||||
# Commenting out until HBASE-16274 is worked.
|
||||
# assert_equal(table_cfs_str, command(:show_peer_tableCFs, @peer_id))
|
||||
|
||||
# cleanup for future tests
|
||||
command(:remove_peer, @peer_id)
|
||||
|
@ -167,11 +163,14 @@ module Hbase
|
|||
end
|
||||
|
||||
define_test "get_peer_config: works with replicationendpointimpl peer and config params" do
|
||||
repl_impl = "org.apache.hadoop.hbase.replication.ReplicationEndpointForTest"
|
||||
cluster_key = 'localhost:2181:/hbase-test'
|
||||
repl_impl = 'org.apache.hadoop.hbase.replication.ReplicationEndpointForTest'
|
||||
config_params = { "config1" => "value1", "config2" => "value2" }
|
||||
args = { ENDPOINT_CLASSNAME => repl_impl, CONFIG => config_params}
|
||||
args = { CLUSTER_KEY => cluster_key, ENDPOINT_CLASSNAME => repl_impl,
|
||||
CONFIG => config_params }
|
||||
command(:add_peer, @peer_id, args)
|
||||
peer_config = command(:get_peer_config, @peer_id)
|
||||
assert_equal(cluster_key, peer_config.get_cluster_key)
|
||||
assert_equal(repl_impl, peer_config.get_replication_endpoint_impl)
|
||||
assert_equal(2, peer_config.get_configuration.size)
|
||||
assert_equal("value1", peer_config.get_configuration.get("config1"))
|
||||
|
|
Loading…
Reference in New Issue