This is an automated email from the ASF dual-hosted git repository.
alexey pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/kudu.git
The following commit(s) were added to refs/heads/master by this push:
new 468897755 KUDU-1261 fix logging in AsyncAlterTable::SendRequest()
468897755 is described below
commit 468897755969d686fb08386f42f7835685e7953a
Author: Alexey Serbin <[email protected]>
AuthorDate: Thu Dec 4 19:46:51 2025 -0800
KUDU-1261 fix logging in AsyncAlterTable::SendRequest()
This is a benign issue, but it might be confusing seeing warnings like
below when tables with no array columns are being altered:
W20251204 22:27:13.216799 74859 catalog_manager.cc:5107] could not
convert tablet's e0095f443bdf45b28951fe4ef72a0c0b schema from PB: OK
Change-Id: Iee7d0bc62b6be2cd6721ae361ec3d92b870f288a
Reviewed-on: http://gerrit.cloudera.org:8080/23749
Tested-by: Kudu Jenkins
Reviewed-by: Abhishek Chennaka <[email protected]>
---
src/kudu/master/catalog_manager.cc | 17 +++++++++++------
1 file changed, 11 insertions(+), 6 deletions(-)
diff --git a/src/kudu/master/catalog_manager.cc
b/src/kudu/master/catalog_manager.cc
index c651798fb..72242a657 100644
--- a/src/kudu/master/catalog_manager.cc
+++ b/src/kudu/master/catalog_manager.cc
@@ -5091,15 +5091,20 @@ class AsyncAlterTable : public RetryingTSRpcTask {
l.Unlock();
+ // A sanity check: the ARRAY_1D_COLUMN_TYPE service feature shouldn't be
+ // there yet, even if the schema has nested columns; the feature is added
+ // below in the latter case.
+ DCHECK(!ContainsKey(rpc_.required_server_features(),
+ TabletServerFeatures::ARRAY_1D_COLUMN_TYPE));
Schema schema;
const auto s = SchemaFromPB(req.schema(), &schema);
- if (PREDICT_TRUE(s.ok()) && schema.has_nested_columns()) {
- DCHECK(!ContainsKey(rpc_.required_server_features(),
- TabletServerFeatures::ARRAY_1D_COLUMN_TYPE));
- rpc_.RequireServerFeature(TabletServerFeatures::ARRAY_1D_COLUMN_TYPE);
- } else {
+ if (PREDICT_FALSE(!s.ok())) {
KLOG_EVERY_N_SECS(WARNING, 60) << Substitute(
- "could not convert tablet's $0 schema from PB: $1", req.tablet_id(),
s.ToString());
+ "could not convert tablet's $0 schema from PB: $1",
+ req.tablet_id(), s.ToString());
+ } else if (schema.has_nested_columns()) {
+ // Require corresponding service features at the tablet server.
+ rpc_.RequireServerFeature(TabletServerFeatures::ARRAY_1D_COLUMN_TYPE);
}
VLOG(1) << Substitute("Sending $0 request to $1 (attempt $2): $3",
type_name(), target_ts_desc_->ToString(), attempt,