[
https://issues.apache.org/jira/browse/HBASE-18174?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16041710#comment-16041710
]
Ted Yu commented on HBASE-18174:
--------------------------------
With patch v7 where I use lambda inside RawAsyncTable::CheckAndPut(), I got
linker error:
{code}
/usr/src/hbase/hbase-native-client/buck-out/gen/core/core#default,static/libcore.a(raw-async-table.cc.o):
In function `hbase::RawAsyncTable::CheckAndPut(std::string const&, std::string
const&, std::string const&, std::string const&, hbase::Put const&)':
/usr/src/hbase/hbase-native-client/core/raw-async-table.cc:135: undefined
reference to `hbase::AsyncSingleRequestRpcRetryingCaller<bool>::Call()'
/usr/src/hbase/hbase-native-client/buck-out/gen/core/core#default,static/libcore.a(raw-async-table.cc.o):
In function `void
__gnu_cxx::new_allocator<hbase::AsyncSingleRequestRpcRetryingCaller<bool>
>::construct<hbase::AsyncSingleRequestRpcRetryingCaller<bool>,
std::shared_ptr<hbase::AsyncConnection>&,
std::shared_ptr<folly::HHWheelTimer>&, std::shared_ptr<hbase::pb::TableName>&,
std::string&, hbase::RegionLocateType&, std::function<folly::Future<bool>
(std::shared_ptr<hbase::HBaseRpcController>,
std::shared_ptr<hbase::RegionLocation>, std::shared_ptr<hbase::RpcClient>)>&,
std::chrono::duration<long, std::ratio<1l, 1000000000l> >&, unsigned int&,
std::chrono::duration<long, std::ratio<1l, 1000000000l> >&,
std::chrono::duration<long, std::ratio<1l, 1000000000l> >&, unsigned
int&>(hbase::AsyncSingleRequestRpcRetryingCaller<bool>*,
std::shared_ptr<hbase::AsyncConnection>&,
std::shared_ptr<folly::HHWheelTimer>&, std::shared_ptr<hbase::pb::TableName>&,
std::string&, hbase::RegionLocateType&, std::function<folly::Future<bool>
(std::shared_ptr<hbase::HBaseRpcController>,
std::shared_ptr<hbase::RegionLocation>, std::shared_ptr<hbase::RpcClient>)>&,
std::chrono::duration<long, std::ratio<1l, 1000000000l> >&, unsigned int&,
std::chrono::duration<long, std::ratio<1l, 1000000000l> >&,
std::chrono::duration<long, std::ratio<1l, 1000000000l> >&, unsigned int&)':
/usr/bin/../lib/gcc/x86_64-linux-gnu/5.3.1/../../../../include/c++/5.3.1/ext/new_allocator.h:120:
undefined reference to
`hbase::AsyncSingleRequestRpcRetryingCaller<bool>::AsyncSingleRequestRpcRetryingCaller(std::shared_ptr<hbase::AsyncConnection>,
std::shared_ptr<folly::HHWheelTimer>, std::shared_ptr<hbase::pb::TableName>,
std::string const&, hbase::RegionLocateType, std::function<folly::Future<bool>
(std::shared_ptr<hbase::HBaseRpcController>,
std::shared_ptr<hbase::RegionLocation>, std::shared_ptr<hbase::RpcClient>)>,
std::chrono::duration<long, std::ratio<1l, 1000000000l> >, unsigned int,
std::chrono::duration<long, std::ratio<1l, 1000000000l> >,
std::chrono::duration<long, std::ratio<1l, 1000000000l> >, unsigned int)'
{code}
> Implement Table#checkAndPut()
> -----------------------------
>
> Key: HBASE-18174
> URL: https://issues.apache.org/jira/browse/HBASE-18174
> Project: HBase
> Issue Type: Sub-task
> Reporter: Ted Yu
> Attachments: 18174.v1.txt, 18174.v7.lambda.txt
>
>
> This task is to implement Table#checkAndPut() method
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)