This is an automated email from the ASF dual-hosted git repository.

michaelsmith pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/impala.git

commit c9ecf8d5943f86ba9f6f8efc8f46c11d847b2d9f
Author: Noemi Pap-Takacs <[email protected]>
AuthorDate: Wed Feb 28 15:00:30 2024 +0100

    IMPALA-12717: Fix error message for missing table descriptor
    
    The error messages for missing table descriptor were malformed due to
    incorrect stringstream usage. The message was given in the constructor
    and the table id overwrote the beginning the following way:
    'ERROR: 0ailed to get table descriptor for table id: '
    The solution is not passing any string to the std::stringstream
    constructor and using only operator<< instead.
    
    Testing: Built a version locally where the table descriptor was
    missing from Iceberg DELETE statement, and verified that the error
    message is 'ERROR: Failed to get table descriptor for table id: 0'.
    
    Change-Id: Iae94efe7f60a2de7f4d9ec47ad9d2c1ee8ad0b41
    Reviewed-on: http://gerrit.cloudera.org:8080/21084
    Reviewed-by: Impala Public Jenkins <[email protected]>
    Tested-by: Impala Public Jenkins <[email protected]>
---
 be/src/exec/hdfs-table-sink.cc          | 4 ++--
 be/src/exec/iceberg-delete-sink-base.cc | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/be/src/exec/hdfs-table-sink.cc b/be/src/exec/hdfs-table-sink.cc
index 26d48c59f..c1a9b3bef 100644
--- a/be/src/exec/hdfs-table-sink.cc
+++ b/be/src/exec/hdfs-table-sink.cc
@@ -110,8 +110,8 @@ Status HdfsTableSink::Prepare(RuntimeState* state, 
MemTracker* parent_mem_tracke
       state->desc_tbl().GetTableDescriptor(table_id_));
 
   if (table_desc_ == nullptr) {
-    stringstream error_msg("Failed to get table descriptor for table id: ");
-    error_msg << table_id_;
+    stringstream error_msg;
+    error_msg << "Failed to get table descriptor for table id: " << table_id_;
     return Status(error_msg.str());
   }
 
diff --git a/be/src/exec/iceberg-delete-sink-base.cc 
b/be/src/exec/iceberg-delete-sink-base.cc
index eaadec4c0..7d3b07d20 100644
--- a/be/src/exec/iceberg-delete-sink-base.cc
+++ b/be/src/exec/iceberg-delete-sink-base.cc
@@ -45,8 +45,8 @@ Status IcebergDeleteSinkBase::Prepare(RuntimeState* state,
   table_desc_ = static_cast<const HdfsTableDescriptor*>(
       state->desc_tbl().GetTableDescriptor(table_id_));
   if (table_desc_ == nullptr) {
-    stringstream error_msg("Failed to get table descriptor for table id: ");
-    error_msg << table_id_;
+    stringstream error_msg;
+    error_msg << "Failed to get table descriptor for table id: " << table_id_;
     return Status(error_msg.str());
   }
 

Reply via email to