Luke Cwik created BEAM-2283:
-------------------------------
Summary: Consider using actual URIs instead of Strings/ResourceIds
in relation to FileSystems
Key: BEAM-2283
URL: https://issues.apache.org/jira/browse/BEAM-2283
Project: Beam
Issue Type: Improvement
Components: sdk-java-core, sdk-java-extensions, sdk-java-gcp, sdk-py
Reporter: Luke Cwik
We treat things like URIs because we expect them to have a scheme component and
to be able to resolve a parent/child but fail to treat them as URIs in the
internal implementation since our string versions don't go through URI
normalization. This brings up a few issues:
* The cost of implementing and maintaining ResourceIds instead of having users
use a standard URI implementation. This would just require FileSystems to be
able to take a string and give back a URI (to enable them to have custom
implementations in case they extend the concept of URIs with scheme specific
extensions).
* The myriad of bugs that will come up because of improper usage of URI like
strings and the assumptions associated with them (like
https://issues.apache.org/jira/browse/BEAM-2277)
Note that swapping to URIs adds complexity because:
* Resolving URIs with glob expressions needs to be handled carefully
* FileSystems may need to implement a complicated type instead of ResourceId.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)