-
Notifications
You must be signed in to change notification settings - Fork 58
Description
Current code assumes that the log file name format is same on all region servers. Typically on production clusters, log file have hostname in their names. In that case, the current code only fetches log files from the first region server it can find a match for.
For eg: In my test VM cluster, I have two region servers vm2 and vm3. Hannibal runs on vm1. The pattern matcher matches logfile.path-pattern: hbase-hbase-regionserver-vm2.log. Hannibal then correctly downloads log file for VM2: http://vm2.example.com:60030/logs/hbase-hbase-regionserver-vm2.log. But it failed trying to download the same file on VM3:
2015-04-16 16:24:42 -0400 - [ERROR] - from akka.actor.OneForOneStrategy in application-akka.actor.default-dispatcher-7 couldn't load Compaction Metrics from URL: 'http://vm3.example.com:60030/logs/hbase-hbase-regionserver-vm2.log (statusCode was: 404). For VM3, the file should have been http://vm3.example.com:60030/logs/hbase-hbase-regionserver-vm3.log.
The code should have a log file pattern per region server.