Uh oh!
There was an error while loading. Please reload this page.
ARROW-6720: [C++] Add HDFS implementation to filesystem layer - #5820
ARROW-6720: [C++] Add HDFS implementation to filesystem layer#5820pitrou wants to merge 3 commits into
Conversation
05512af to
cf6f3feCompare8423502 to
9793132Comparepitrou
commented
Nov 13, 2019
@nealrichardson Will need your help for the R AppVeyor failure: |
nealrichardson
commented
Nov 13, 2019
Looks like ARROW_FILESYSTEM now requires a new dependency? Is it vendored? |
pitrou
commented
Nov 13, 2019
It's built by the Arrow build chain, but it's not in the packages used by R-Arrow ("rarow"?) on Windows. It seems to work elsewhere, including R Ubuntu here: https://github.com/apache/arrow/pull/5820/checks?check_run_id=301764483 |
nealrichardson
commented
Nov 13, 2019
Yes but Windows is "special". I'll dig in a bit and see if I can understand what the deal is. Alternatively, is uriparser needed for all of filesystem or just HDFS? |
pitrou
commented
Nov 13, 2019
It's needed for all of filesystem (it's needed for Flight too). |
nealrichardson
commented
Nov 13, 2019
🤔 there's also this message higher up: https://ci.appveyor.com/project/pitrou/arrow/builds/28838764#L1576 |
pitrou
commented
Nov 13, 2019
It says "Building uriparser from source" which is expected at this point. |
nealrichardson
commented
Nov 13, 2019
Ok, and on master it's not building uriparser (cf. https://ci.appveyor.com/project/ApacheSoftwareFoundation/arrow/builds/28838835/job/788gr6gydfhrdk4v?fullLog=true) Have you tried without adding Maybe it's bundled somehow and not needed? Otherwise, where does it get built to? |
nealrichardson
commented
Nov 13, 2019
@ursabot crossbow submit macos-r-autobrew |
pitrou
commented
Nov 13, 2019
Yes, it fails with a link error: https://ci.appveyor.com/project/ApacheSoftwareFoundation/arrow/builds/28836148/job/o95eh8ft96n3n0pl#L3348 |
ursabot
commented
Nov 13, 2019
AMD64 Conda Crossbow Submit (#76833) builder has been succeeded. Revision: 9793132e05e5b674c492fe9e64f442239cd2266c Submitted crossbow builds: ursa-labs/crossbow @ ursabot-324
|
nealrichardson
commented
Nov 13, 2019
Ok so we need it. We're building it and that seems not to error, but it's not getting bundled with the build. That is, we're dealing with https://github.com/apache/arrow/blob/master/ci/appveyor-build-r.sh, which calls https://github.com/apache/arrow/blob/master/ci/PKGBUILD and https://github.com/apache/arrow/blob/master/ci/windows-pkg-arrow-for-r.sh. |
pitrou
commented
Nov 13, 2019
Does it bundle other dependencies such as double-conversion? |
nealrichardson
commented
Nov 13, 2019
double-conversion is an external dependency, so that gets downloaded and bundled here: https://github.com/apache/arrow/blob/master/ci/windows-pkg-arrow-for-r.sh#L61 |
nealrichardson
commented
Nov 13, 2019
If we don't want to use the vendored uriparser, we could port https://github.com/msys2/MINGW-packages/blob/master/mingw-w64-uriparser/PKGBUILD to the |
pitrou
commented
Nov 13, 2019
I'm not sure what you mean by that. Personally, I have no preference :-) I just don't know how to do it. |
nealrichardson
commented
Nov 13, 2019
Neither do I :) cf. #5814 |
nealrichardson
commented
Nov 13, 2019
Locally it gets built into |
nealrichardson
commented
Nov 14, 2019
Looks like we have the same problem on macOS: https://travis-ci.org/ursa-labs/crossbow/builds/611598498#L831 |
pitrou
commented
Nov 14, 2019
Can I get you to handle the issue? |
nealrichardson
commented
Nov 14, 2019
Realistically I can’t commit to doing it before going on vacation. But it doesn’t require me, there’s no other special R knowledge needed, I think we just need to mv the built liburiparser to the right directory. |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
This function should take the path as parameter and return FileStats directly, would make thing more natural.
There was a problem hiding this comment.
No, because it acts on an existing FileStats. I mean other members have been set by the caller.
Uh oh!
There was an error while loading. Please reload this page.
nealrichardson
commented
Nov 15, 2019
@pitrou I did some exploration in the Appveyor build and I think I see how to grab the liburiparser that we build; however, it seems that we build a .dll but for R we need a static library. I see there is a uriparser cmake flag |
bkietz
commented
Nov 15, 2019
@nealrichardson that flag is already set to off when building uriparser; it really looks like we're trying to always build it static |
nealrichardson
commented
Nov 15, 2019
And yet I see liburiparser-1.dll is what is made on Appveyor: https://ci.appveyor.com/project/nealrichardson/arrow/builds/28875888?fullLog=true#L1177 Locally I do see liburiparser.a though. |
nealrichardson
commented
Nov 15, 2019
Maybe there's another flag needed somewhere for mingw? https://stackoverflow.com/a/42979732/11897522 |
bkietz
commented
Nov 18, 2019
there was a merge conflict due to ARROW-6633. I've rebased |
pitrou
commented
Nov 20, 2019
I've rebased for the uriparser vendoring, this should fix the R build on Windows. |
bkietz
left a comment
There was a problem hiding this comment.
CI is green, I'll merge this now
Based on initial work by @xuechendi.