Uploaded image for project: 'Beam'
  1. Beam
  2. BEAM-2283

Consider using actual URIs instead of Strings/ResourceIds in relation to FileSystems

Details

    Description

      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.

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              lcwik Luke Cwik
              Votes:
              4 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: