Skip to content

Commit b5cb71d

Browse files
supporting more filters for Client List and Client Kill
Signed-off-by: Sarthak Aggarwal <[email protected]>
1 parent 7c58988 commit b5cb71d

File tree

5 files changed

+590
-12
lines changed

5 files changed

+590
-12
lines changed

src/commands.def

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1327,12 +1327,18 @@ struct COMMAND_ARG CLIENT_KILL_filter_new_format_Subargs[] = {
13271327
{MAKE_ARG("laddr",ARG_TYPE_STRING,-1,"LADDR",NULL,"6.2.0",CMD_ARG_OPTIONAL,0,NULL),.display_text="ip:port"},
13281328
{MAKE_ARG("skipme",ARG_TYPE_ONEOF,-1,"SKIPME",NULL,NULL,CMD_ARG_OPTIONAL,2,NULL),.subargs=CLIENT_KILL_filter_new_format_skipme_Subargs},
13291329
{MAKE_ARG("maxage",ARG_TYPE_INTEGER,-1,"MAXAGE",NULL,"8.0.0",CMD_ARG_OPTIONAL,0,NULL)},
1330+
{MAKE_ARG("name",ARG_TYPE_STRING,-1,"NAME",NULL,"8.1.0",CMD_ARG_OPTIONAL,0,NULL)},
1331+
{MAKE_ARG("minidle",ARG_TYPE_INTEGER,-1,"MINIDLE",NULL,"8.1.0",CMD_ARG_OPTIONAL,0,NULL)},
1332+
{MAKE_ARG("flags",ARG_TYPE_STRING,-1,"FLAGS",NULL,"8.1.0",CMD_ARG_OPTIONAL,0,NULL)},
1333+
{MAKE_ARG("pattern",ARG_TYPE_STRING,-1,"PATTERN",NULL,"8.1.0",CMD_ARG_OPTIONAL,0,NULL)},
1334+
{MAKE_ARG("channel",ARG_TYPE_STRING,-1,"CHANNEL",NULL,"8.1.0",CMD_ARG_OPTIONAL,0,NULL)},
1335+
{MAKE_ARG("shardchannel",ARG_TYPE_STRING,-1,"SHARDCHANNEL",NULL,"8.1.0",CMD_ARG_OPTIONAL,0,NULL)},
13301336
};
13311337

13321338
/* CLIENT KILL filter argument table */
13331339
struct COMMAND_ARG CLIENT_KILL_filter_Subargs[] = {
13341340
{MAKE_ARG("old-format",ARG_TYPE_STRING,-1,NULL,NULL,NULL,CMD_ARG_NONE,0,"2.8.12"),.display_text="ip:port"},
1335-
{MAKE_ARG("new-format",ARG_TYPE_ONEOF,-1,NULL,NULL,NULL,CMD_ARG_MULTIPLE,7,NULL),.subargs=CLIENT_KILL_filter_new_format_Subargs},
1341+
{MAKE_ARG("new-format",ARG_TYPE_ONEOF,-1,NULL,NULL,NULL,CMD_ARG_MULTIPLE,13,NULL),.subargs=CLIENT_KILL_filter_new_format_Subargs},
13361342
};
13371343

13381344
/* CLIENT KILL argument table */
@@ -1390,6 +1396,12 @@ struct COMMAND_ARG CLIENT_LIST_Args[] = {
13901396
{MAKE_ARG("laddr",ARG_TYPE_STRING,-1,"LADDR",NULL,"8.1.0",CMD_ARG_OPTIONAL,0,NULL),.display_text="ip:port"},
13911397
{MAKE_ARG("skipme",ARG_TYPE_ONEOF,-1,"SKIPME",NULL,"8.1.0",CMD_ARG_OPTIONAL,2,NULL),.subargs=CLIENT_LIST_skipme_Subargs},
13921398
{MAKE_ARG("maxage",ARG_TYPE_INTEGER,-1,"MAXAGE",NULL,"8.1.0",CMD_ARG_OPTIONAL,0,NULL)},
1399+
{MAKE_ARG("name",ARG_TYPE_STRING,-1,"NAME",NULL,"8.1.0",CMD_ARG_OPTIONAL,0,NULL)},
1400+
{MAKE_ARG("minidle",ARG_TYPE_INTEGER,-1,"MINIDLE",NULL,"8.1.0",CMD_ARG_OPTIONAL,0,NULL)},
1401+
{MAKE_ARG("flags",ARG_TYPE_STRING,-1,"FLAGS",NULL,"8.1.0",CMD_ARG_OPTIONAL,0,NULL)},
1402+
{MAKE_ARG("pattern",ARG_TYPE_STRING,-1,"PATTERN",NULL,"8.1.0",CMD_ARG_OPTIONAL,0,NULL)},
1403+
{MAKE_ARG("channel",ARG_TYPE_STRING,-1,"CHANNEL",NULL,"8.1.0",CMD_ARG_OPTIONAL,0,NULL)},
1404+
{MAKE_ARG("shardchannel",ARG_TYPE_STRING,-1,"SHARDCHANNEL",NULL,"8.1.0",CMD_ARG_OPTIONAL,0,NULL)},
13931405
};
13941406

13951407
/********** CLIENT NO_EVICT ********************/
@@ -1672,7 +1684,7 @@ struct COMMAND_STRUCT CLIENT_Subcommands[] = {
16721684
{MAKE_CMD("import-source","Mark this client as an import source when server is in import mode.","O(1)","8.1.0",CMD_DOC_NONE,NULL,NULL,"connection",COMMAND_GROUP_CONNECTION,CLIENT_IMPORT_SOURCE_History,0,CLIENT_IMPORT_SOURCE_Tips,0,clientCommand,3,CMD_NOSCRIPT|CMD_LOADING|CMD_STALE,ACL_CATEGORY_CONNECTION,CLIENT_IMPORT_SOURCE_Keyspecs,0,NULL,1),.args=CLIENT_IMPORT_SOURCE_Args},
16731685
{MAKE_CMD("info","Returns information about the connection.","O(1)","6.2.0",CMD_DOC_NONE,NULL,NULL,"connection",COMMAND_GROUP_CONNECTION,CLIENT_INFO_History,0,CLIENT_INFO_Tips,1,clientCommand,2,CMD_NOSCRIPT|CMD_LOADING|CMD_STALE|CMD_SENTINEL,ACL_CATEGORY_CONNECTION,CLIENT_INFO_Keyspecs,0,NULL,0)},
16741686
{MAKE_CMD("kill","Terminates open connections.","O(N) where N is the number of client connections","2.4.0",CMD_DOC_NONE,NULL,NULL,"connection",COMMAND_GROUP_CONNECTION,CLIENT_KILL_History,7,CLIENT_KILL_Tips,0,clientCommand,-3,CMD_ADMIN|CMD_NOSCRIPT|CMD_LOADING|CMD_STALE|CMD_SENTINEL,ACL_CATEGORY_CONNECTION,CLIENT_KILL_Keyspecs,0,NULL,1),.args=CLIENT_KILL_Args},
1675-
{MAKE_CMD("list","Lists open connections.","O(N) where N is the number of client connections","2.4.0",CMD_DOC_NONE,NULL,NULL,"connection",COMMAND_GROUP_CONNECTION,CLIENT_LIST_History,7,CLIENT_LIST_Tips,1,clientCommand,-2,CMD_ADMIN|CMD_NOSCRIPT|CMD_LOADING|CMD_STALE|CMD_SENTINEL,ACL_CATEGORY_CONNECTION,CLIENT_LIST_Keyspecs,0,NULL,7),.args=CLIENT_LIST_Args},
1687+
{MAKE_CMD("list","Lists open connections.","O(N) where N is the number of client connections","2.4.0",CMD_DOC_NONE,NULL,NULL,"connection",COMMAND_GROUP_CONNECTION,CLIENT_LIST_History,7,CLIENT_LIST_Tips,1,clientCommand,-2,CMD_ADMIN|CMD_NOSCRIPT|CMD_LOADING|CMD_STALE|CMD_SENTINEL,ACL_CATEGORY_CONNECTION,CLIENT_LIST_Keyspecs,0,NULL,13),.args=CLIENT_LIST_Args},
16761688
{MAKE_CMD("no-evict","Sets the client eviction mode of the connection.","O(1)","7.0.0",CMD_DOC_NONE,NULL,NULL,"connection",COMMAND_GROUP_CONNECTION,CLIENT_NO_EVICT_History,0,CLIENT_NO_EVICT_Tips,0,clientCommand,3,CMD_ADMIN|CMD_NOSCRIPT|CMD_LOADING|CMD_STALE|CMD_SENTINEL,ACL_CATEGORY_CONNECTION,CLIENT_NO_EVICT_Keyspecs,0,NULL,1),.args=CLIENT_NO_EVICT_Args},
16771689
{MAKE_CMD("no-touch","Controls whether commands sent by the client affect the LRU/LFU of accessed keys.","O(1)","7.2.0",CMD_DOC_NONE,NULL,NULL,"connection",COMMAND_GROUP_CONNECTION,CLIENT_NO_TOUCH_History,0,CLIENT_NO_TOUCH_Tips,0,clientCommand,3,CMD_NOSCRIPT|CMD_LOADING|CMD_STALE,ACL_CATEGORY_CONNECTION,CLIENT_NO_TOUCH_Keyspecs,0,NULL,1),.args=CLIENT_NO_TOUCH_Args},
16781690
{MAKE_CMD("pause","Suspends commands processing.","O(1)","3.0.0",CMD_DOC_NONE,NULL,NULL,"connection",COMMAND_GROUP_CONNECTION,CLIENT_PAUSE_History,1,CLIENT_PAUSE_Tips,0,clientCommand,-3,CMD_ADMIN|CMD_NOSCRIPT|CMD_LOADING|CMD_STALE|CMD_SENTINEL,ACL_CATEGORY_CONNECTION,CLIENT_PAUSE_Keyspecs,0,NULL,2),.args=CLIENT_PAUSE_Args},

src/commands/client-kill.json

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,10 @@
3535
[
3636
"8.0.0",
3737
"Replaced `master` `TYPE` with `primary`. `master` still supported for backward compatibility."
38+
],
39+
[
40+
"8.1.0",
41+
"Added filters NAME, MINIDLE, FLAGS, PATTERN, CHANNEL and SHARDCHANNEL "
3842
]
3943
],
4044
"command_flags": [
@@ -157,6 +161,48 @@
157161
"type": "integer",
158162
"optional": true,
159163
"since": "8.0.0"
164+
},
165+
{
166+
"token": "NAME",
167+
"name": "name",
168+
"type": "string",
169+
"optional": true,
170+
"since": "8.1.0"
171+
},
172+
{
173+
"token": "MINIDLE",
174+
"name": "minidle",
175+
"type": "integer",
176+
"optional": true,
177+
"since": "8.1.0"
178+
},
179+
{
180+
"token": "FLAGS",
181+
"name": "flags",
182+
"type": "string",
183+
"optional": true,
184+
"since": "8.1.0"
185+
},
186+
{
187+
"token": "PATTERN",
188+
"name": "pattern",
189+
"type": "string",
190+
"optional": true,
191+
"since": "8.1.0"
192+
},
193+
{
194+
"token": "CHANNEL",
195+
"name": "channel",
196+
"type": "string",
197+
"optional": true,
198+
"since": "8.1.0"
199+
},
200+
{
201+
"token": "SHARDCHANNEL",
202+
"name": "shardchannel",
203+
"type": "string",
204+
"optional": true,
205+
"since": "8.1.0"
160206
}
161207
]
162208
}

src/commands/client-list.json

Lines changed: 43 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@
3838
],
3939
[
4040
"8.1.0",
41-
"Added filters like USER, ADDR, LADDR, SKIPME, and MAXAGE"
41+
"Added filters like USER, ADDR, LADDR, SKIPME, MAXAGE, NAME, MINIDLE, FLAGS, PATTERN, CHANNEL and SHARDCHANNEL "
4242
]
4343
],
4444
"command_flags": [
@@ -144,6 +144,48 @@
144144
"type": "integer",
145145
"optional": true,
146146
"since": "8.1.0"
147+
},
148+
{
149+
"token": "NAME",
150+
"name": "name",
151+
"type": "string",
152+
"optional": true,
153+
"since": "8.1.0"
154+
},
155+
{
156+
"token": "MINIDLE",
157+
"name": "minidle",
158+
"type": "integer",
159+
"optional": true,
160+
"since": "8.1.0"
161+
},
162+
{
163+
"token": "FLAGS",
164+
"name": "flags",
165+
"type": "string",
166+
"optional": true,
167+
"since": "8.1.0"
168+
},
169+
{
170+
"token": "PATTERN",
171+
"name": "pattern",
172+
"type": "string",
173+
"optional": true,
174+
"since": "8.1.0"
175+
},
176+
{
177+
"token": "CHANNEL",
178+
"name": "channel",
179+
"type": "string",
180+
"optional": true,
181+
"since": "8.1.0"
182+
},
183+
{
184+
"token": "SHARDCHANNEL",
185+
"name": "shardchannel",
186+
"type": "string",
187+
"optional": true,
188+
"since": "8.1.0"
147189
}
148190
]
149191
}

0 commit comments

Comments
 (0)