Hello Zoltan Chovan, Alexey Serbin, Ashwani Raina, Kudu Jenkins, Abhishek 
Chennaka,

I'd like you to reexamine a change. Please visit

    http://gerrit.cloudera.org:8080/24475

to look at the new patch set (#3).

Change subject: KUDU-3785: Fix CLI flag validator failure
......................................................................

KUDU-3785: Fix CLI flag validator failure

A customer issue was discovered during rolling restarts where
the tserver flagfile is passed to CLI commands (e.g. kudu fs
dump --flagfile=tserver.flags). The CLI previously inflated
rpc_max_message_size to ~2GB via SET_FLAGS_DEFAULT in tool_main.cc
to accommodate large RPC responses. This caused the
GROUP_FLAG_VALIDATOR in op_tracker.cc to reject any flagfile that
set tablet_transaction_memory_limit_mb below 2GB (e.g. 256MB <
2GB -> failure).

The root cause is that inflating rpc_max_message_size as a global
flag is a layering violation: it's a client-side concern that
pollutes process-wide state and triggers server-side validators.

The fix moves the large message size into BuildMessenger(), which
is the single chokepoint for all CLI RPC messengers. If the user
has not explicitly set --rpc_max_message_size, the messenger gets
min(INT32_MAX, available_memory); otherwise their explicit value
is honored. The global flag is never mutated, so the validator
sees the compiled default (50MB) and passes regardless of flagfile
contents. Server subcommands are unaffected since they build their
own messengers through the normal server path.

A regression test verifies the flagfile scenario, and a unit test
confirms BuildMessenger produces a messenger with a large max
message size.

Change-Id: Idd24ec605bd14ce90ed8a5705230ff96d77d0d64
---
M src/kudu/tools/kudu-tool-test.cc
M src/kudu/tools/tool_action_common.cc
M src/kudu/tools/tool_main.cc
3 files changed, 77 insertions(+), 42 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/75/24475/3
--
To view, visit http://gerrit.cloudera.org:8080/24475
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Idd24ec605bd14ce90ed8a5705230ff96d77d0d64
Gerrit-Change-Number: 24475
Gerrit-PatchSet: 3
Gerrit-Owner: Marton Greber <[email protected]>
Gerrit-Reviewer: Abhishek Chennaka <[email protected]>
Gerrit-Reviewer: Alexey Serbin <[email protected]>
Gerrit-Reviewer: Ashwani Raina <[email protected]>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Marton Greber <[email protected]>
Gerrit-Reviewer: Zoltan Chovan <[email protected]>

Reply via email to