question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

[PrestoCPP] HiveInsertTableHandle ctor update causing compilation issue

See original GitHub issue
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX12.1.sdk/usr/include/c++/v1/__bit_reference:15:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX12.1.sdk/usr/include/c++/v1/algorithm:653:
/Library/Developer/CommandLineTools/SDKs/MacOSX12.1.sdk/usr/include/c++/v1/memory:2627:37: error: no matching constructor for initialization of 'facebook::velox::connector::hive::HiveInsertTableHandle'
        ::new ((void*)__get_elem()) _Tp(_VSTD::forward<_Args>(__args)...);
                                    ^   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Library/Developer/CommandLineTools/SDKs/MacOSX12.1.sdk/usr/include/c++/v1/memory:3385:55: note: in instantiation of function template specialization 'std::__1::__shared_ptr_emplace<facebook::velox::connector::hive::HiveInsertTableHandle, std::__1::allocator<facebook::velox::connector::hive::HiveInsertTableHandle>>::__shared_ptr_emplace<std::__1::__fs::filesystem::path &>' requested here
    ::new ((void*)_VSTD::addressof(*__guard.__get())) _ControlBlock(__a, _VSTD::forward<_Args>(__args)...);
                                                      ^
/Library/Developer/CommandLineTools/SDKs/MacOSX12.1.sdk/usr/include/c++/v1/memory:3394:19: note: in instantiation of function template specialization 'std::__1::allocate_shared<facebook::velox::connector::hive::HiveInsertTableHandle, std::__1::allocator<facebook::velox::connector::hive::HiveInsertTableHandle>, std::__1::__fs::filesystem::path &, void>' requested here
    return _VSTD::allocate_shared<_Tp>(allocator<_Tp>(), _VSTD::forward<_Args>(__args)...);
                  ^
/Users/karteek/workspace/kart_presto/presto-native-execution/presto_cpp/main/types/PrestoToVeloxQueryPlan.cpp:1650:12: note: in instantiation of function template specialization 'std::__1::make_shared<facebook::velox::connector::hive::HiveInsertTableHandle, std::__1::__fs::filesystem::path &, void>' requested here
      std::make_shared<velox::connector::hive::HiveInsertTableHandle>(filePath);
           ^
/Users/karteek/workspace/kart_presto/presto-native-execution/velox/velox/connectors/hive/HiveConnector.h:158:7: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'std::__1::__fs::filesystem::path' to 'const facebook::velox::connector::hive::HiveInsertTableHandle' for 1st argument
class HiveInsertTableHandle : public ConnectorInsertTableHandle {
      ^
/Users/karteek/workspace/kart_presto/presto-native-execution/velox/velox/connectors/hive/HiveConnector.h:160:3: note: candidate constructor not viable: requires 2 arguments, but 1 was provided
  HiveInsertTableHandle(
  ^
1 error generated.

I was trying to advance the velox submodule and I see these errors. The HiveInsertTableHandle constructor was modifled here:https://github.com/facebookincubator/velox/pull/2831

The constructor now accepts a LocationHandle and vector<std::shared_pr<const HiveColumnHandle>>. But, what is available is

struct HiveOutputTableHandle : public ConnectorOutputTableHandle {
  String schemaName = {};
  String tableName = {};
  List<HiveColumnHandle> inputColumns = {}; --> not a vector of shared_ptr

Looks like the initialization of this vector happens here in presto-native-execution/presto_cpp/presto_protocol/presto_protocol.cpp, which is a generated code.

void from_json(const json& j, HiveBucketHandle& p) {
  from_json_key(
      j,
      "columns",
      p.columns,
      "HiveBucketHandle",
      "List<HiveColumnHandle>",
      "columns");

Issue Analytics

  • State:closed
  • Created a year ago
  • Comments:5 (4 by maintainers)

github_iconTop GitHub Comments

1reaction
gggrace14commented, Nov 8, 2022

https://github.com/prestodb/presto/pull/18490 is supposed to fix it, and the PR was merged by Nov 6 night. Can you pull the latest master HEAD and help check if the build can go through? Thanks. Sorry for blocking. We’ve just consolidated way to make non-breaking change.

0reactions
yzhang1991commented, Nov 10, 2022

@karteekmurthys should we close this issue?

Read more comments on GitHub >

github_iconTop Results From Across the Web

Prestodb Presto Statistics & Issues - Codesti
Issue Title State Comments Created Date Updated Date Please provide ARM64 docker image open 0 2022‑12‑01 2022‑11‑26 Can Raptorx support kudu Connector open 1 2022‑11‑28...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found