[
https://issues.apache.org/jira/browse/HDFS-13403?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16441466#comment-16441466
]
Istvan Fajth commented on HDFS-13403:
-------------------------------------
Hello [~James C],
I have run into an error when I tried to build the project on my Mac with `mvn
clean install -Pnative -DskipTests`. The compile failed at ioservice.h with the
following error:
{{ [exec] [ 30%] Building CXX object
main/native/libhdfspp/lib/common/CMakeFiles/common_obj.dir/ioservice_impl.cc.o}}
{{ [exec] In file included from
/Users/xxxx/IdeaProjects/hadoop-apache/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/lib/common/ioservice_impl.cc:19:}}
{{ [exec] In file included from
/Users/xxxx/IdeaProjects/hadoop-apache/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/lib/common/ioservice_impl.h:22:}}
{{ [exec]
/Users/xxxx/IdeaProjects/hadoop-apache/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/include/hdfspp/ioservice.h:109:30:
error: no template named 'function' in namespace 'std'}}
{{ [exec] virtual void PostTask(std::function<void(void)> asyncTask) = 0;}}
{{ [exec] ~~~~~^}}
{{ }}
There are further compile errors as well, if needed I can provide a full output.
After adding #include <functional> to the ioservice.h the error goes away. I am
not sure if it is something in my environment, but the Jenkins build failed
somewhere else, though as I see it have skipped the Apache Hadoop HDFS Native
Client package.
> libhdfs++: Use hdfs::IoService object rather than asio::io_service
> ------------------------------------------------------------------
>
> Key: HDFS-13403
> URL: https://issues.apache.org/jira/browse/HDFS-13403
> Project: Hadoop HDFS
> Issue Type: Task
> Reporter: James Clampffer
> Assignee: James Clampffer
> Priority: Critical
> Attachments: HDFS-13403.000.patch
>
>
> At the moment the hdfs::IoService is a simple wrapper over asio's io_service
> object. I'd like to make this smarter and have it do things like track which
> tasks are queued, validate that dependencies of tasks exist, and monitor
> ioservice throughput and contention. In order to get there we need to use
> have all components in the library to go through the hdfs::IoService rather
> than directly interacting with the asio::io_service. The only time the
> asio::io_service should be used is when calling things like asio::async_write
> that need an io_service&. HDFS-11884 will be able get rid of those remaining
> instances once this work is in place.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]