Opened from comments on
HBASE-2997. James Kennedy notes:
HBaseRpcMetrics is now logging a WARN message every time it encounters an unregistered RPC method.
In my case I now get huge log files filled with these warnings because the hbase-trx transactional extension of HBase uses a subclass of HRegionServer that adds new interface methods.
It's easy enough to tell log4j to ignore HBaseRpcMetrics output.
However, it would be nice if the Server/HRegionServer HBaseRpcMetrics mechanism was more extensible so I could pass down new interfaces or grab the HBaseRpcMetrics object to add interfaces from up top...
HBaseRpcMetrics already has a public method createMetrics(Class) to register method counters. We just need a way to expose the metrics class to allow the region server subclass to call it – add a getMetrics() method to RpcServer and HBaseServer.