hbase-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "不再散步" <609378...@qq.com>
Subject use thrift2 to access hbase 0.96.10, if I try increment, and disable the table, the code can not throw useful Exception
Date Sat, 28 Feb 2015 02:27:10 GMT
for example:
     1. I use thrift2 put to access table,
     try{
          _client->putMultiple(table, tput_vec); //table is 'member'
     } catch (TTransportException &e) {
         ret = e.getType(); //2 or 3
         g_logger.warn("[%s:%d] [%s] [PUT] TTransportException fail: %s:%d",
                 _thrift_ip, _thrift_port, table.c_str(), e.what(), ret);
     } catch (TException &e) {
         g_logger.error("[%s:%d] [%s] [PUT] fatal error: %s, stop",
                 _thrift_ip, _thrift_port, table.c_str(), e.what());
         ret = -1;
     }‍

     if I disable the table 'member', the code can catch TTransportException:
[27560] 28 Feb 10:25:22 [WARN]   [1130428752] [bus_hbase_util.cc:_put_multiple] [95] [10.13.2.194:9091]
[member] [PUT] TTransportException fail: EAGAIN (timed out):2‍‍


    2. I use thrfit2 increment to access table,
    try{
                    //increment没有批量的接口
                    _client->increment(tresult, table, tincrement);
                 } catch (ATP::TProtocolException &e) {
                     ret = e.getType();
                     g_logger.warn("[%s:%d] [%s] [INCREMENT] TTransportException: %s:%d",
                             _thrift_ip, _thrift_port, table.c_str(), e.what(), ret);
                     goto error_out;
                 } catch (AT::TApplicationException &e) {
                     ret = e.getType();
                     g_logger.warn("[%s:%d] [%s] [INCREMENT] TTransportException: %s:%d",
                            _thrift_ip, _thrift_port, table.c_str(), e.what(), ret);
                     goto error_out;
                 } catch (ATT::TTransportException &e) {
                     ret = e.getType();
                    g_logger.warn("[%s:%d] [%s] [INCREMENT] TTransportException: %s:%d",
                             _thrift_ip, _thrift_port, table.c_str(), e.what(), ret);
                     goto error_out;
                 } catch (AT::TException &e) {
                     g_logger.error("[%s:%d] [%s] [INCREMENT] %s %s:%s %d fatal error: %s,
stop",
                             _thrift_ip, _thrift_port,
                            table.c_str(),
                             hrow->get_hbase_row(),
                             hrow->get_hbase_cf(),
                             hrow->get_hbase_qu(),
                             hrow->get_hbase_increment(),
                             e.what());
                     ret = -1; goto error_out;
                 }‍

         if I disable the table 'member', the code can only catch TException:‍
[27560] 28 Feb 10:00:35 [ERROR]  [1105250640] [bus_hbase_util.cc:send_to_hbase] [233] [10.13.2.194:9091]
[member] [INCREMENT] counter cf:count 1 fatal error: Default TException., stop‍


       WHY I can not catch TTransportException in condition 2, and I can catch TTransportException
in condition 1? Or something wrong with THBaseServiceClient::increment() throw exception
?
Mime
  • Unnamed multipart/alternative (inline, 8-Bit, 0 bytes)
View raw message