Neil, thanks for the comments and the pointer! Just looked at the curl_multi_xxx() API. Yeah, I think we should be able to use that API in our async environment. But we need to hook this with our underlying libev/libevent based runtime, which might take a while to finish. I'll create a ticket to track.
In the meantime, I want to unblock people from using some of the new features built on top of the 'curl' based fetcher. Since this is a pretty simple dependency to add, I would suggest that we still proceed adding this dependency. - Jie On Thu, Mar 3, 2016 at 9:37 AM, Neil Conway <neil.con...@gmail.com> wrote: > No objection to about the additional dependency, but using 'curl' > instead of 'libcurl' seems unfortunate. Can you share some more > detailed information about the problems that have been encountered > using libcurl? e.g., was using the curl_multi_xxx() APIs explored? > > Neil > > On Thu, Mar 3, 2016 at 9:10 AM, Jie Yu <yujie....@gmail.com> wrote: > > Hi, > > > > I am proposing making 'curl' a prerequisite when installing Mesos. > > Currently, we require 'libcurl' being present when installing Mesos > > (http://mesos.apache.org/gettingstarted/). However, we found that it > does > > not compose well with our asynchronous runtime environment (i.e., it'll > > block the current worker thread). > > > > Recent work on URI fetcher uses 'curl' directly, instead of using > 'libcurl' > > to fetch artifacts, because it composes well with our async runtime env. > > 'curl' is installed by default in most systems (e.g., OSX, centos, RHEL). > > > > So I am proposing adding 'curl' to our prerequisite list. Let me know if > you > > have any concern on this. I'll update the Getting Started doc if you are > OK > > with this change. > > > > Thanks, > > - Jie > > >