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,

Reply via email to