[ 
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: hdfs-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org

Reply via email to