[Bug]: multi_process_shared.py should not provide a default tag value

What happened?

Right now, MultiProcessShared accepts a tag input -

- that is set to None by default.

When the tag is set to None, it is set to a random value -

self._tag = tag or uuid.uuid4().hex

- since each process picks a different value, the object is not actually shared across processes (a shared instance of the object is instead created for each individual process).

Tag should not be None by default and probably should not even be optional since this is a misleading behavior. Note that this will be a breaking change for some users (if there are any), but those users are probably relying on buggy behavior anyways.

Issue Priority

Priority: 2 (default / most bugs should be filed as P2)

Issue Components

  • Component: Python SDK
  • Component: Java SDK
  • Component: Go SDK
  • Component: Typescript SDK
  • Component: IO connector
  • Component: Beam examples
  • Component: Beam playground
  • Component: Beam katas
  • Component: Website
  • Component: Spark Runner
  • Component: Flink Runner
  • Component: Samza Runner
  • Component: Twister2 Runner
  • Component: Hazelcast Jet Runner
  • Component: Google Cloud Dataflow Runner