-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/27802/
-----------------------------------------------------------
Review request for Ambari, Alejandro Fernandez, Jonathan Hurley, John Speidel,
Mahadev Konar, Nate Cole, Sid Wagle, and Yusaku Sako.
Bugs: AMBARI-4083
https://issues.apache.org/jira/browse/AMBARI-4083
Repository: ambari
Description
-------
The host component log implements the following two rest api's.
1. To retrieve the log entries.
/clusters/{cluster}/hosts/{hostname}/host_components/{component}/logs
This api will retrieve the logs if available for the host component from
HDFS. It can fetch only maximum of 5120 bytes. The window can be adjusted
using the query parameters 'offset' and 'length'. It also provides simple
filtering using 'level' query parameter.
Sample response will look like below:
{
"href" :
"http://c6501.ambari.apache.org:8080/api/v1/clusters/cl1/hosts/c6503.ambari.apache.org/host_components/HBASE_CLIENT/logs",
"items" : [
{
"href" :
"http://c6501.ambari.apache.org:8080/api/v1/clusters/cl1/hosts/c6503.ambari.apache.org/host_components/HBASE_CLIENT/logs/HBASE_CLIENT",
"length" : 5120,
"level" : null,
"offset" : 153920,
"size" : 159040,
"HostComponentLog" : {
"cluster_name" : "cl1",
"component_name" : "HBASE_CLIENT",
"entries" : [
{
"timestamp" : "2014-11-01 17:46:38,456",
"level" : "DEBUG",
"thread" : "main-EventThread",
"message" : "master.SplitLogManager: task not yet acquired
/hbase-unsecure/splitWAL/WALs%2Fc6503.ambari.apache.org%2C60020%2C1414856039721-splitting%2Fc6503.ambari.apache.org%252C60020%252C1414856039721.1414856049592.meta
ver = 0"
},
{
"timestamp" : "2014-11-01 17:46:38,459",
"level" : "DEBUG",
"thread" : "main-EventThread",
"message" : "master.SplitLogManager: put up splitlog task at znode
/hbase-unsecure/splitWAL/WALs%2Fc6503.ambari.apache.org%2C60020%2C1414856039721-splitting%2Fc6503.ambari.apache.org%252C60020%252C1414856039721.1414856050193.meta"
},
{
"timestamp" : "2014-11-01 17:46:38,460",
"level" : "DEBUG",
"thread" : "main-EventThread",
"message" : "master.SplitLogManager: put up splitlog task at znode
/hbase-unsecure/splitWAL/WALs%2Fc6503.ambari.apache.org%2C60020%2C1414856039721-splitting%2Fc6503.ambari.apache.org%252C60020%252C1414856039721.1414856105560.meta"
},
:
:
}]
}
]
}
2. To download the log file from HDFS use the following the api
/clusters/{cluster}/hosts/{hostname}/host_components/{component}/logs?download=true
The response will automatically download the file with the HDFS file name.
Diffs
-----
ambari-agent/src/main/python/ambari_agent/Controller.py dc3a1cf
ambari-server/src/main/java/org/apache/ambari/server/agent/AgentCommand.java
e2f013d
ambari-server/src/main/java/org/apache/ambari/server/agent/HeartBeatHandler.java
e99e39f
ambari-server/src/main/java/org/apache/ambari/server/agent/HeartBeatResponse.java
56b4f18
ambari-server/src/main/java/org/apache/ambari/server/agent/LogConfigCommand.java
PRE-CREATION
ambari-server/src/main/java/org/apache/ambari/server/agent/RegistrationResponse.java
8a24560
ambari-server/src/main/java/org/apache/ambari/server/api/resources/HostComponentLogResourceDefinition.java
PRE-CREATION
ambari-server/src/main/java/org/apache/ambari/server/api/resources/HostComponentResourceDefinition.java
6dc9e2d
ambari-server/src/main/java/org/apache/ambari/server/api/resources/ResourceInstanceFactoryImpl.java
9ad37ec
ambari-server/src/main/java/org/apache/ambari/server/api/services/AmbariMetaInfo.java
bb4c569
ambari-server/src/main/java/org/apache/ambari/server/api/services/HostComponentService.java
4990ad7
ambari-server/src/main/java/org/apache/ambari/server/configuration/Configuration.java
4f53544
ambari-server/src/main/java/org/apache/ambari/server/controller/HostComponentLogResponse.java
PRE-CREATION
ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AbstractControllerResourceProvider.java
ae20f56
ambari-server/src/main/java/org/apache/ambari/server/controller/internal/HostComponentLogResourceProvider.java
PRE-CREATION
ambari-server/src/main/java/org/apache/ambari/server/controller/spi/Resource.java
dbac906
ambari-server/src/main/java/org/apache/ambari/server/state/LogConfig.java
PRE-CREATION
ambari-server/src/main/java/org/apache/ambari/server/state/LogConfigHandler.java
PRE-CREATION
ambari-server/src/main/java/org/apache/ambari/server/state/LogDefinition.java
PRE-CREATION
ambari-server/src/main/java/org/apache/ambari/server/state/LogEntry.java
PRE-CREATION
ambari-server/src/main/resources/key_properties.json c1a6636
ambari-server/src/main/resources/log_handler_config.json PRE-CREATION
ambari-server/src/main/resources/properties.json 36cff96
ambari-server/src/test/java/org/apache/ambari/server/api/services/AmbariMetaInfoTest.java
e7b946d
ambari-server/src/test/java/org/apache/ambari/server/controller/internal/HostComponentLogResourceProviderTest.java
PRE-CREATION
Diff: https://reviews.apache.org/r/27802/diff/
Testing
-------
1. Ran the unit tests.
2. Manually ran the retrieve host component logs without any query parameters.
3. Manually ran the retrieve host component logs with offset and length.
4. Manually ran the retrieve host component logs with level filter.
5. Manually ran the retrieve host component logs with webHDFS disabled.
6. Manually ran the download host component log file with webHDFS enabled.
7. Manually ran the download host component log file with webHDFS disabled.
Thanks,
Cabir Zounaidou