Alexey Serbin created KUDU-3575:
-----------------------------------

             Summary: Update kudu::tools::ParseValue() to handle all supported 
column types
                 Key: KUDU-3575
                 URL: https://issues.apache.org/jira/browse/KUDU-3575
             Project: Kudu
          Issue Type: Task
          Components: CLI
    Affects Versions: 1.17.0, 1.16.0, 1.15.0, 1.14.0, 1.13.0, 1.11.1, 1.12.0, 
1.11.0, 1.10.1, 1.10.0, 1.9.0
            Reporter: Alexey Serbin


With 
[0afeddf9e530762e0e47beb7428982763715c746|https://github.com/apache/kudu/commit/0afeddf9e530762e0e47beb7428982763715c746],
 new functionality has been introduced in Kudu 1.9.0.  It's currently used in 
various CLI tools such as {{kudu table scan}}, {{kudu table copy}}, etc.

However, if using predicates, the tool didn't handle all the column types 
available back then in Kudu tables and with adding new types such as DECIMAL 
and VARCHAR, the {{kudu::tools::ParseValue()}} utility function became even 
more outdated.  As a result, an attempt to run corresponding CLI tools against 
tables using predicates on columns of particular types (e.g. UNIXTIME_MICROS) 
results in a crash due to SIGABRT with stack traces like below produced by 
{{kudu table copy}} CLI tool:
{noformat}
F0509 13:08:49.058050 226781 table_scanner.cc:189] unhandled data type 9
*** Check failure stack trace: ***
@ 0x1411c8d google::LogMessage::Fail()
@ 0x141656d google::LogMessage::SendToLog()
@ 0x1411970 google::LogMessage::Flush()
@ 0x14121d9 google::LogMessageFatal::~LogMessageFatal()
@ 0x145d955 kudu::tools::ParseValue()
@ 0x145f1e2 kudu::tools::NewComparisonPredicate()
@ 0x14606b0 kudu::tools::AddPredicate()
@ 0x14610ee kudu::tools::AddPredicates()
@ 0x146297c kudu::tools::TableScanner::StartWork()
@ 0x1465232 kudu::tools::TableScanner::StartCopy()
@ 0xde7415 kudu::tools::(anonymous namespace)::CopyTable()
@ 0xd87dd4 std::_Function_handler<>::_M_invoke()
@ 0x14667b2 kudu::tools::Action::Run()
@ 0xe166b5 kudu::tools::DispatchCommand()
@ 0xe17325 kudu::tools::RunTool()
@ 0xd080c4 main
{noformat}

It's necessary to update implementation of {{kudu::tools::ParseValue()}}  to 
handle all
the supported column types.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to