This patch adds a compaction info object and an API that returns it. It will be mapped to the JMX getCompactions that returns a map. The use of an object is more RESTFull and will be better documented in the swagger definition file.
284 lines
8.0 KiB
JSON
284 lines
8.0 KiB
JSON
{
|
|
"apiVersion":"0.0.1",
|
|
"swaggerVersion":"1.2",
|
|
"basePath":"{{Protocol}}://{{Host}}",
|
|
"resourcePath":"/compaction_manager",
|
|
"produces":[
|
|
"application/json"
|
|
],
|
|
"apis":[
|
|
{
|
|
"path":"/compaction_manager/compactions",
|
|
"operations":[
|
|
{
|
|
"method":"GET",
|
|
"summary":"get List of running compactions",
|
|
"type":"array",
|
|
"items":{
|
|
"type":"jsonmap"
|
|
},
|
|
"nickname":"get_compactions",
|
|
"produces":[
|
|
"application/json"
|
|
],
|
|
"parameters":[
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"path":"/compaction_manager/compaction_history",
|
|
"operations":[
|
|
{
|
|
"method":"GET",
|
|
"summary":"get List of the compaction history",
|
|
"type":"array",
|
|
"items":{
|
|
"type":"history"
|
|
},
|
|
"nickname":"get_compaction_history",
|
|
"produces":[
|
|
"application/json"
|
|
],
|
|
"parameters":[
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"path":"/compaction_manager/compaction_summary",
|
|
"operations":[
|
|
{
|
|
"method":"GET",
|
|
"summary":"get compaction summary",
|
|
"type":"array",
|
|
"items":{
|
|
"type":"string"
|
|
},
|
|
"nickname":"get_compaction_summary",
|
|
"produces":[
|
|
"application/json"
|
|
],
|
|
"parameters":[
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"path":"/compaction_manager/compaction_info",
|
|
"operations":[
|
|
{
|
|
"method":"GET",
|
|
"summary":"get a list of all active compaction info",
|
|
"type":"array",
|
|
"items":{
|
|
"type":"compaction_info"
|
|
},
|
|
"nickname":"get_compaction_info",
|
|
"produces":[
|
|
"application/json"
|
|
],
|
|
"parameters":[
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"path":"/compaction_manager/force_user_defined_compaction",
|
|
"operations":[
|
|
{
|
|
"method":"POST",
|
|
"summary":"Triggers the compaction of user specified sstables. You can specify files from various keyspaces and columnfamilies. If you do so, user defined compaction is performed several times to the groups of files in the same keyspace/columnfamily. must contain keyspace and columnfamily name in path(for 2.1+) or file name itself.",
|
|
"type":"void",
|
|
"nickname":"force_user_defined_compaction",
|
|
"produces":[
|
|
"application/json"
|
|
],
|
|
"parameters":[
|
|
{
|
|
"name":"data_files",
|
|
"description":"a comma separated list of sstable file to compact. must contain keyspace and columnfamily name in path(for 2.1+) or file name itself",
|
|
"required":true,
|
|
"allowMultiple":false,
|
|
"type":"string",
|
|
"paramType":"query"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"path":"/compaction_manager/stop_compaction",
|
|
"operations":[
|
|
{
|
|
"method":"POST",
|
|
"summary":"Stop all running compaction-like tasks having the provided type",
|
|
"type":"void",
|
|
"nickname":"stop_compaction",
|
|
"produces":[
|
|
"application/json"
|
|
],
|
|
"parameters":[
|
|
{
|
|
"name":"type",
|
|
"description":"the type of compaction to stop. Can be one of: - COMPACTION - VALIDATION - CLEANUP - SCRUB - INDEX_BUILD",
|
|
"required":true,
|
|
"allowMultiple":false,
|
|
"type":"string",
|
|
"paramType":"string"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"path": "/compaction_manager/metrics/pending_tasks",
|
|
"operations": [
|
|
{
|
|
"method": "GET",
|
|
"summary": "Get pending tasks",
|
|
"type": "int",
|
|
"nickname": "get_pending_tasks",
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"parameters": []
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"path": "/compaction_manager/metrics/completed_tasks",
|
|
"operations": [
|
|
{
|
|
"method": "GET",
|
|
"summary": "Get completed tasks",
|
|
"type": "long",
|
|
"nickname": "get_completed_tasks",
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"parameters": []
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"path": "/compaction_manager/metrics/total_compactions_completed",
|
|
"operations": [
|
|
{
|
|
"method": "GET",
|
|
"summary": "Get total compactions completed",
|
|
"type": "long",
|
|
"nickname": "get_total_compactions_completed",
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"parameters": []
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"path": "/compaction_manager/metrics/bytes_compacted",
|
|
"operations": [
|
|
{
|
|
"method": "GET",
|
|
"summary": "Get bytes compacted",
|
|
"type": "int",
|
|
"nickname": "get_bytes_compacted",
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"parameters": []
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"models":{
|
|
"mapper":{
|
|
"id":"mapper",
|
|
"description":"A key value mapping",
|
|
"properties":{
|
|
"key":{
|
|
"type":"string",
|
|
"description":"The key"
|
|
},
|
|
"value":{
|
|
"type":"string",
|
|
"description":"The value"
|
|
}
|
|
}
|
|
},
|
|
"compaction_info" :{
|
|
"id": "compaction_info",
|
|
"description":"A key value mapping",
|
|
"properties":{
|
|
"operation_type":{
|
|
"type":"string",
|
|
"description":"The operation type"
|
|
},
|
|
"completed":{
|
|
"type":"long",
|
|
"description":"The current completed"
|
|
},
|
|
"total":{
|
|
"type":"long",
|
|
"description":"The total to compact"
|
|
},
|
|
"unit":{
|
|
"type":"string",
|
|
"description":"The compacted unit"
|
|
}
|
|
}
|
|
},
|
|
"jsonmap":{
|
|
"id":"jsonmap",
|
|
"description":"A json representation of a map as a list of key value",
|
|
"properties":{
|
|
"value":{
|
|
"type":"array",
|
|
"items":{
|
|
"type":"mapper"
|
|
},
|
|
"description":"A list of key, value mapping"
|
|
}
|
|
}
|
|
},
|
|
"history": {
|
|
"id":"history",
|
|
"description":"Compaction history information",
|
|
"properties":{
|
|
"id":{
|
|
"type":"string",
|
|
"description":"The UUID"
|
|
},
|
|
"cf":{
|
|
"type":"string",
|
|
"description":"The column family name"
|
|
},
|
|
"ks":{
|
|
"type":"string",
|
|
"description":"The keyspace name"
|
|
},
|
|
"compacted_at":{
|
|
"type":"long",
|
|
"description":"The time of compaction"
|
|
},
|
|
"bytes_in":{
|
|
"type":"long",
|
|
"description":"Bytes in"
|
|
},
|
|
"bytes_out":{
|
|
"type":"long",
|
|
"description":"Bytes out"
|
|
},
|
|
"rows_merged":{
|
|
"type":"array",
|
|
"items":{
|
|
"type":"mapper"
|
|
},
|
|
"description":"The merged rows"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|