Commit 72935b9d authored by Vitaly Arbuzov's avatar Vitaly Arbuzov
Browse files

Merge branch 'unstable' into dict-split-by-slot

parents 6baf20af 6948daca
...@@ -9,6 +9,10 @@ ...@@ -9,6 +9,10 @@
"function": "clusterCommand", "function": "clusterCommand",
"command_flags": [ "command_flags": [
"STALE" "STALE"
] ],
"reply_schema": {
"description": "the node id",
"type": "string"
}
} }
} }
...@@ -13,6 +13,10 @@ ...@@ -13,6 +13,10 @@
], ],
"command_tips": [ "command_tips": [
"NONDETERMINISTIC_OUTPUT" "NONDETERMINISTIC_OUTPUT"
] ],
"reply_schema": {
"description": "the node's shard id",
"type": "string"
}
} }
} }
...@@ -12,6 +12,10 @@ ...@@ -12,6 +12,10 @@
], ],
"command_tips": [ "command_tips": [
"NONDETERMINISTIC_OUTPUT" "NONDETERMINISTIC_OUTPUT"
] ],
"reply_schema": {
"description": "the serialized cluster configuration",
"type": "string"
}
} }
} }
...@@ -19,6 +19,14 @@ ...@@ -19,6 +19,14 @@
"name": "node-id", "name": "node-id",
"type": "string" "type": "string"
} }
] ],
"reply_schema": {
"description": "a list of replica nodes replicating from the specified master node provided in the same format used by CLUSTER NODES",
"type": "array",
"items": {
"type": "string",
"description": "the serialized cluster configuration"
}
}
} }
} }
...@@ -17,6 +17,9 @@ ...@@ -17,6 +17,9 @@
"name": "node-id", "name": "node-id",
"type": "string" "type": "string"
} }
] ],
"reply_schema": {
"const": "OK"
}
} }
} }
...@@ -30,6 +30,9 @@ ...@@ -30,6 +30,9 @@
} }
] ]
} }
] ],
"reply_schema": {
"const": "OK"
}
} }
} }
...@@ -11,6 +11,9 @@ ...@@ -11,6 +11,9 @@
"NO_ASYNC_LOADING", "NO_ASYNC_LOADING",
"ADMIN", "ADMIN",
"STALE" "STALE"
] ],
"reply_schema": {
"const": "OK"
}
} }
} }
...@@ -17,6 +17,9 @@ ...@@ -17,6 +17,9 @@
"name": "config-epoch", "name": "config-epoch",
"type": "integer" "type": "integer"
} }
] ],
"reply_schema": {
"const": "OK"
}
} }
} }
...@@ -46,6 +46,9 @@ ...@@ -46,6 +46,9 @@
} }
] ]
} }
] ],
"reply_schema": {
"const": "OK"
}
} }
} }
...@@ -13,6 +13,77 @@ ...@@ -13,6 +13,77 @@
], ],
"command_tips": [ "command_tips": [
"NONDETERMINISTIC_OUTPUT" "NONDETERMINISTIC_OUTPUT"
],
"reply_schema": {
"description": "a nested list of a map of hash ranges and shard nodes describing individual shards",
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"properties": {
"slots": {
"description": "an even number element array specifying the start and end slot numbers for slot ranges owned by this shard",
"type": "array",
"items": {
"type": "string"
}
},
"nodes": {
"description": "nodes that handle these slot ranges",
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "string"
},
"port": {
"type": "integer"
},
"tls-port": {
"type": "integer"
},
"ip": {
"type": "string"
},
"endpoint": {
"type": "string"
},
"hostname": {
"type": "string"
},
"role": {
"oneOf": [
{
"const": "master"
},
{
"const": "replica"
}
] ]
},
"replication-offset": {
"type": "integer"
},
"health": {
"oneOf": [
{
"const": "fail"
},
{
"const": "loading"
},
{
"const": "online"
}
]
}
}
}
}
}
}
}
} }
} }
...@@ -24,6 +24,14 @@ ...@@ -24,6 +24,14 @@
"name": "node-id", "name": "node-id",
"type": "string" "type": "string"
} }
] ],
"reply_schema": {
"description": "a list of replica nodes replicating from the specified master node provided in the same format used by CLUSTER NODES",
"type": "array",
"items": {
"type": "string",
"description": "the serialized cluster configuration"
}
}
} }
} }
...@@ -27,6 +27,109 @@ ...@@ -27,6 +27,109 @@
], ],
"command_tips": [ "command_tips": [
"NONDETERMINISTIC_OUTPUT" "NONDETERMINISTIC_OUTPUT"
],
"reply_schema": {
"description": "nested list of slot ranges with networking information",
"type": "array",
"items": {
"type": "array",
"minItems": 3,
"maxItems": 4294967295,
"items": [
{
"description": "start slot number",
"type": "integer"
},
{
"description": "end slot number",
"type": "integer"
},
{
"type": "array",
"description": "Master node for the slot range",
"minItems": 4,
"maxItems": 4,
"items": [
{
"description": "endpoint description",
"oneOf": [
{
"description": "hostname or ip",
"type": "string"
},
{
"description": "unknown type",
"type": "null"
}
] ]
},
{
"description": "port",
"type": "integer"
},
{
"description": "node name",
"type": "string"
},
{
"description": "array of node descriptions",
"type": "object",
"additionalProperties": false,
"properties": {
"hostname": {
"type": "string"
},
"ip": {
"type": "string"
}
}
}
]
}
],
"additionalItems": {
"type": "array",
"description": "Replica node for the slot range",
"minItems": 4,
"maxItems": 4,
"items": [
{
"description": "endpoint description",
"oneOf": [
{
"description": "hostname or ip",
"type": "string"
},
{
"description": "unknown type",
"type": "null"
}
]
},
{
"description": "port",
"type": "integer"
},
{
"description": "node name",
"type": "string"
},
{
"description": "array of node descriptions",
"type": "object",
"additionalProperties": false,
"properties": {
"hostname": {
"type": "string"
},
"ip": {
"type": "string"
}
}
}
]
}
}
}
} }
} }
...@@ -14,6 +14,10 @@ ...@@ -14,6 +14,10 @@
], ],
"acl_categories": [ "acl_categories": [
"CONNECTION" "CONNECTION"
] ],
"reply_schema": {
"description": "Number of total commands in this Redis server.",
"type": "integer"
}
} }
} }
...@@ -18,6 +18,187 @@ ...@@ -18,6 +18,187 @@
"command_tips": [ "command_tips": [
"NONDETERMINISTIC_OUTPUT_ORDER" "NONDETERMINISTIC_OUTPUT_ORDER"
], ],
"reply_schema": {
"description": "A map where each key is a command name, and each value is the documentary information",
"type": "object",
"additionalProperties": false,
"patternProperties": {
"^.*$": {
"type": "object",
"additionalProperties": false,
"properties": {
"summary": {
"description": "short command description",
"type": "string"
},
"since": {
"description": "the Redis version that added the command (or for module commands, the module version).",
"type": "string"
},
"group": {
"description": "the functional group to which the command belongs",
"oneOf": [
{
"const": "bitmap"
},
{
"const": "cluster"
},
{
"const": "connection"
},
{
"const": "generic"
},
{
"const": "geo"
},
{
"const": "hash"
},
{
"const": "hyperloglog"
},
{
"const": "list"
},
{
"const": "module"
},
{
"const": "pubsub"
},
{
"const": "scripting"
},
{
"const": "sentinel"
},
{
"const": "server"
},
{
"const": "set"
},
{
"const": "sorted-set"
},
{
"const": "stream"
},
{
"const": "string"
},
{
"const": "transactions"
}
]
},
"complexity": {
"description": "a short explanation about the command's time complexity.",
"type": "string"
},
"module": {
"type": "string"
},
"doc_flags": {
"description": "an array of documentation flags",
"type": "array",
"items": {
"oneOf": [
{
"description": "the command is deprecated.",
"const": "deprecated"
},
{
"description": "a system command that isn't meant to be called by users.",
"const": "syscmd"
}
]
}
},
"deprecated_since": {
"description": "the Redis version that deprecated the command (or for module commands, the module version)",
"type": "string"
},
"replaced_by": {
"description": "the alternative for a deprecated command.",
"type": "string"
},
"history": {
"description": "an array of historical notes describing changes to the command's behavior or arguments.",
"type": "array",
"items": {
"type": "array",
"minItems": 2,
"maxItems": 2,
"items": [
{
"type": "string",
"description": "The Redis version that the entry applies to."
},
{
"type": "string",
"description": "The description of the change."
}
]
}
},
"arguments": {
"description": "an array of maps that describe the command's arguments.",
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"properties": {
"name": {
"type": "string"
},
"type": {
"type": "string"
},
"display_text": {
"type": "string"
},
"key_spec_index": {
"type": "integer"
},
"token": {
"type": "string"
},
"summary": {
"type": "string"
},
"since": {
"type": "string"
},
"deprecated_since": {
"type": "string"
},
"flags": {
"type": "array",
"items": {
"type": "string"
}
},
"arguments": {
"type": "array"
}
}
}
},
"reply_schema": {
"description": "command reply schema",
"type": "object"
},
"subcommands": {
"description": "A map where each key is a subcommand, and each value is the documentary information",
"$ref": "#"
}
}
}
}
},
"arguments": [ "arguments": [
{ {
"name": "command-name", "name": "command-name",
......
...@@ -15,6 +15,14 @@ ...@@ -15,6 +15,14 @@
"acl_categories": [ "acl_categories": [
"CONNECTION" "CONNECTION"
], ],
"reply_schema": {
"description": "List of keys from the given Redis command.",
"type": "array",
"items": {
"type": "string"
},
"uniqueItems": true
},
"arguments": [ "arguments": [
{ {
"name": "command", "name": "command",
......
...@@ -15,6 +15,30 @@ ...@@ -15,6 +15,30 @@
"acl_categories": [ "acl_categories": [
"CONNECTION" "CONNECTION"
], ],
"reply_schema": {
"description": "List of keys from the given Redis command and their usage flags.",
"type": "array",
"uniqueItems": true,
"items": {
"type": "array",
"minItems": 2,
"maxItems": 2,
"items": [
{
"description": "Key name",
"type": "string"
},
{
"description": "Set of key flags",
"type": "array",
"minItems": 1,
"items": {
"type": "string"
}
}
]
}
},
"arguments": [ "arguments": [
{ {
"name": "command", "name": "command",
......
...@@ -14,6 +14,13 @@ ...@@ -14,6 +14,13 @@
], ],
"acl_categories": [ "acl_categories": [
"CONNECTION" "CONNECTION"
] ],
"reply_schema": {
"type": "array",
"description": "Helpful text about subcommands.",
"items": {
"type": "string"
}
}
} }
} }
...@@ -31,6 +31,183 @@ ...@@ -31,6 +31,183 @@
"optional": true, "optional": true,
"multiple": true "multiple": true
} }
],
"reply_schema": {
"type": "array",
"items": {
"oneOf": [
{
"description": "command does not exist",
"type": "null"
},
{
"description": "command info array output",
"type": "array",
"minItems": 10,
"maxItems": 10,
"items": [
{
"description": "command name",
"type": "string"
},
{
"description": "command arity",
"type": "integer"
},
{
"description": "command flags",
"type": "array",
"items": {
"description": "command flag",
"type": "string"
}
},
{
"description": "command first key index",
"type": "integer"
},
{
"description": "command last key index",
"type": "integer"
},
{
"description": "command key step index",
"type": "integer"
},
{
"description": "command categories",
"type": "array",
"items": {
"description": "command category",
"type": "string"
}
},
{
"description": "command tips",
"type": "array",
"items": {
"description": "command tip",
"type": "string"
}
},
{
"description": "command key specs",
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"properties": {
"notes": {
"type": "string"
},
"flags": {
"type": "array",
"items": {
"type": "string"
}
},
"begin_search": {
"type": "object",
"additionalProperties": false,
"properties": {
"type": {
"type": "string"
},
"spec": {
"anyOf": [
{
"description": "unknown type, empty map",
"type": "object",
"additionalProperties": false
},
{
"description": "index type",
"type": "object",
"additionalProperties": false,
"properties": {
"index": {
"type": "integer"
}
}
},
{
"description": "keyword type",
"type": "object",
"additionalProperties": false,
"properties": {
"keyword": {
"type": "string"
},
"startfrom": {
"type": "integer"
}
}
}
] ]
} }
}
},
"find_keys": {
"type": "object",
"additionalProperties": false,
"properties": {
"type": {
"type": "string"
},
"spec": {
"anyOf": [
{
"description": "unknown type",
"type": "object",
"additionalProperties": false
},
{
"description": "range type",
"type": "object",
"additionalProperties": false,
"properties": {
"lastkey": {
"type": "integer"
},
"keystep": {
"type": "integer"
},
"limit": {
"type": "integer"
}
}
},
{
"description": "keynum type",
"type": "object",
"additionalProperties": false,
"properties": {
"keynumidx": {
"type": "integer"
},
"firstkey": {
"type": "integer"
},
"keystep": {
"type": "integer"
}
}
}
]
}
}
}
}
}
},
{
"type": "array",
"description": "subcommands"
}
]
}
]
}
}
}
} }
...@@ -42,6 +42,14 @@ ...@@ -42,6 +42,14 @@
} }
] ]
} }
] ],
"reply_schema": {
"type": "array",
"items": {
"description": "command name",
"type": "string"
},
"uniqueItems": true
}
} }
} }
...@@ -19,6 +19,12 @@ ...@@ -19,6 +19,12 @@
"LOADING", "LOADING",
"STALE" "STALE"
], ],
"reply_schema": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"arguments": [ "arguments": [
{ {
"name": "parameter", "name": "parameter",
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment