Seth pointed out windows bugs with aggregation. I'm struggling to get it to use network filesystems like \VBOXSVR\tmp\agg\rel04\$Y\rbspb_rel04_ect-hope-sci-l2sa_$Y$m$d_v$(v,sep).cdf
and seeing other problems while I'm experimenting on Windows.
For example, I get:
java.io.IOException: Incorrect function.
at java.base/sun.nio.fs.WindowsWatchService$Poller.implRegister(Unknown Source)
at java.base/sun.nio.fs.AbstractPoller.processRequests(Unknown Source)
at java.base/sun.nio.fs.WindowsWatchService$Poller.run(Unknown Source)
at java.base/java.lang.Thread.run(Unknown Source)
java.io.IOException: Incorrect function.
The agg file:////VBOXSVR/tmp/agg/rel04/2017/rbspb_rel04_ect-hope-sci-l2sa_$Y$m$d_v$(v,sep).cdf?L_Ele&timerange=2017-01-10 works, but
file:////VBOXSVR/tmp/agg/rel04/$Y/rbspb_rel04_ect-hope-sci-l2sa_$Y$m$d_v$(v,sep).cdf?L_Ele&timerange=2017-01-10 (with a second $Y) does not.
The bug was where it tries to create the child filesystem's URI. I had to experiment with this, but the only one which appears to work on Windows is to use the File reference to create a child File, and then get the URI from that.
Seth pointed out that it does not work to do completions with aggregations:
The first is completions on the file directly, the second is after a representative file is identified, and is given an incorrect URI:
I put in a getChildFilesystem to contain the logic with a different branch for local filesystems. I was reminded that the FileSystem type cannot change, and it would be neat to support:
file:/tmp/data/$Y/$Y$m.zip/$Y$m$d.dat
and I don't think this would be too hard to do.
This code shows that URI.resolve must not be used for local URIs:
gives the result:
Last edit: Jeremy Faden 2019-03-16
I believe I've found all use of this, and I'll close the ticket.