Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The Path class is currently mutable to support the IOReadableWritable serialization, but many parts of the code assume that the Path is immutable. The mutable Path class is prone to subtle errors. By making the URI in the Path class immutable, we can properly store configured paths without the risk of them being mutated as side effects. 

Public Interfaces

Modify the Path class to no longer implement the IOReadableWritable interface.

Add two static methods to the Path class to support serializing to DataInputView and deserializing from DataOutputView:

public static Path deserializeFromDataInputView(DataInputView in) throws IOException

public static void serializeToDataOutputView(Path path, DataOutputView out) throws IOException

...