From eedb8b172474dd7776d9bbb0f2954a1394027289 Mon Sep 17 00:00:00 2001 From: Shay Fadida Date: Wed, 21 Sep 2022 08:10:03 +0300 Subject: Fix missing sections for INFO ALL with module (#11291) When using `INFO ALL
`, when `section` is a specific module section. Redis will not print the additional section(s). The fix in this case, will search the modules info sections if the user provided additional sections to `ALL`. Co-authored-by: Oran Agra --- src/server.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'src/server.c') diff --git a/src/server.c b/src/server.c index 797c79fc3..a1f8eca78 100644 --- a/src/server.c +++ b/src/server.c @@ -6010,9 +6010,13 @@ sds genRedisInfoString(dict *section_dict, int all_sections, int everything) { } /* Get info from modules. - * if user asked for "everything" or "modules", or a specific section - * that's not found yet. */ - if (everything || dictFind(section_dict, "modules") != NULL || sections < (int)dictSize(section_dict)) { + * Returned when the user asked for "everything", "modules", or a specific module section. + * We're not aware of the module section names here, and we rather avoid the search when we can. + * so we proceed if there's a requested section name that's not found yet, or when the user asked + * for "all" with any additional section names. */ + if (everything || dictFind(section_dict, "modules") != NULL || sections < (int)dictSize(section_dict) || + (all_sections && dictSize(section_dict))) + { info = modulesCollectInfo(info, everything || dictFind(section_dict, "modules") != NULL ? NULL: section_dict, -- cgit v1.2.1