[
https://issues.apache.org/jira/browse/HBASE-21393?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16809790#comment-16809790
]
Wellington Chevreuil commented on HBASE-21393:
----------------------------------------------
Hi [~tianjingyun], tested this patch on top of hbase-operator-tools master
branch, and have some remarks about it:
1) Had noticed it relies on HBASE-21322, at the server side, as this was when
*scheduleServerCrashProcedure* was added to Master RPC interface. This is only
available from hbase version 2.1.2, so maybe we should raise *hbase.version*
from 2.1.1 to 2.1.2 on the parent pom file?
2) Also had problems related to guava version, when running unit tests:
{noformat}
[INFO] Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.012 s
- in org.apache.hbase.TestHBCKCommandLineParsing
[INFO] Running org.apache.hbase.TestHBCK2
[ERROR] Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.005 s
<<< FAILURE! - in org.apache.hbase.TestHBCK2
[ERROR] org.apache.hbase.TestHBCK2 Time elapsed: 0.005 s <<< ERROR!
java.lang.NoSuchMethodError:
com.google.common.base.Objects.toStringHelper(Ljava/lang/Object;)Lcom/google/common/base/Objects$ToStringHelper;
at
org.apache.hadoop.metrics2.lib.MetricsRegistry.toString(MetricsRegistry.java:414)
at java.lang.String.valueOf(String.java:2994)
at java.lang.StringBuilder.append(StringBuilder.java:131)
at org.apache.hadoop.ipc.metrics.RpcMetrics.<init>(RpcMetrics.java:74)
at org.apache.hadoop.ipc.metrics.RpcMetrics.create(RpcMetrics.java:80)
at org.apache.hadoop.ipc.Server.<init>(Server.java:2382)
at org.apache.hadoop.ipc.RPC$Server.<init>(RPC.java:951)
at
org.apache.hadoop.ipc.ProtobufRpcEngine$Server.<init>(ProtobufRpcEngine.java:534)
at
org.apache.hadoop.ipc.ProtobufRpcEngine.getServer(ProtobufRpcEngine.java:509)
at org.apache.hadoop.ipc.RPC$Builder.build(RPC.java:796)
at
org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.<init>(NameNodeRpcServer.java:345)
at
org.apache.hadoop.hdfs.server.namenode.NameNode.createRpcServer(NameNode.java:675)
at
org.apache.hadoop.hdfs.server.namenode.NameNode.initialize(NameNode.java:648)
at
org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:820)
at
org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:804)
at
org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1516)
at
org.apache.hadoop.hdfs.MiniDFSCluster.createNameNode(MiniDFSCluster.java:1119)
at
org.apache.hadoop.hdfs.MiniDFSCluster.createNameNodesAndSetConf(MiniDFSCluster.java:990)
at
org.apache.hadoop.hdfs.MiniDFSCluster.initMiniDFSCluster(MiniDFSCluster.java:819)
at org.apache.hadoop.hdfs.MiniDFSCluster.<init>(MiniDFSCluster.java:748)
at
org.apache.hadoop.hbase.HBaseTestingUtility.startMiniDFSCluster(HBaseTestingUtility.java:666)
at
org.apache.hadoop.hbase.HBaseTestingUtility.startMiniDFSCluster(HBaseTestingUtility.java:638)
at
org.apache.hadoop.hbase.HBaseTestingUtility.startMiniCluster(HBaseTestingUtility.java:989)
at
org.apache.hadoop.hbase.HBaseTestingUtility.startMiniCluster(HBaseTestingUtility.java:869)
at
org.apache.hadoop.hbase.HBaseTestingUtility.startMiniCluster(HBaseTestingUtility.java:851)
at
org.apache.hadoop.hbase.HBaseTestingUtility.startMiniCluster(HBaseTestingUtility.java:833)
at org.apache.hbase.TestHBCK2.beforeClass(TestHBCK2.java:53)
{noformat}
It happens on hdfs level, hadoop depends on guava *11.0.2*, so modifying pom to
use this version, instead, works. However, we are just using guava classes here
for splitting server name, which is quite trivial and could be done using
standard java class only. I guess that would be preferable as would avoid
adding this guava dependency.
3) Could we add some unit tests, covering basic happy scenario and edge cases?
Some quick thought scenarios: 1) pass a valid server name format, but server
not listed as either online, nor offline; 2) pass a valid server name for an
online; 3) pass invalid server name format; 4) pass same valid server name
twice;
> Add an API ScheduleSCP() to HBCK2
> ----------------------------------
>
> Key: HBASE-21393
> URL: https://issues.apache.org/jira/browse/HBASE-21393
> Project: HBase
> Issue Type: Sub-task
> Components: hbase-operator-tools, hbck2
> Reporter: Jingyun Tian
> Assignee: Jingyun Tian
> Priority: Major
> Attachments: 0001-HBASE-21393-Add-an-API-ScheduleSCP-to-HBCK2.patch,
> 0002-HBASE-21393-Add-an-API-ScheduleSCP-to-HBCK2.patch
>
>
> Add the API of ScheduleSCP() to hbase-operator-tools so that operators can
> schedule ServerCrashProcedures of specified regionservers.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)