Versions Compared

Key

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

Status

Page properties


Discussion thread
Page properties

Document the state by adding a label to the FLIP page with one of "discussion", "accepted", "released", "rejected".

1.18
Discussion threadhere (<- link to https://lists.apache.org/list.html?dev@flink.apache.org)thread/3gcxhnqpsvb85golnlxf9tv5p43xkjg 
Vote threadhere (<- link to https://lists.apache.org/list.html?dev@flink.apache.org)
JIRAhere (<- link to https://issues.apache.org/jira/browse/FLINK-XXXX)
thread/99cw4y50xhvc1h9z7v07j5v1krqcxr27
JIRA

Jira
serverASF JIRA
columnIdsissuekey,summary,issuetype,created,updated,duedate,assignee,reporter,priority,status,resolution
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyFLINK-5336

ReleaseRelease


Please keep the discussion on the mailing list rather than commenting on the wiki (wiki discussions get unwieldy fast).

...

The Path class is currently mutable to support the IOReadableWritable serialization. However, 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. ensure that paths are stored correctly without the possibility of mutation and eliminate the occurrence of subtle errors.

Public Interfaces

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

...

First, add the two static methods to the Path class to support serialization and deserialization. Currently, three classes need to serialize/deserialize the Path using the IOReadableWritable interface: FileSourceSplitSerializer/TestManagedSinkCommittableSerializer/TestManagedFileSourceSplitSerializer. Modify these classes to serialize/deserialize the Path using the two static methods instead of IOReadableWritable.

...

  • What impact (if any) will there be on existing users?
  • For the users who rely on IOReadableWritable for serialization/deserialization to serialize/deserialize the Path will need to migrate to using the serializeToDataOutputView/deserializeFromDataInputView methods in the Path class. This migration shouldn't be difficult.

  • As the implementation method of IOReadableWritable in the Path class is part of the public API, we will deprecate the method 2 releases before removing it.