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

Go Cross-Language UX polish and refactoring

    XMLWordPrintableJSON

    Details

    • Type: Improvement
    • Status: Resolved
    • Priority: P2
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: Not applicable
    • Component/s: cross-language, sdk-go
    • Labels:
      None

      Description

      This is a bug for progress on various small usability and UX improvements to the Go SDK implementation of Cross-Language. I don't feel each one individually is important enough for a Jira, but together it's worth recording progress.

      Tasks included:

      • Adjust user-facing XLang functions so that Sink and Source versions are actually sinks and sources (no outputs and no inputs respectively).
      • Rename SourceInputTag and SinkOutputTag since they are no longer used with source/sink versions of the methods.
      • Adjust beam/xlang.go so that it doesn't need to import job_management protos. Move the proto creation down into the method the proto is passed to (which is xlangx.Expand).
      • Refactor the functions in xlangx/translate.go and how they are used, since right now the functions just get called one after another in sequence.
      • Move as many xlang calls out of universal.go as possible. They should be handled as part of the normal sequence of the SDK, such as in proto marshalling and unmarshalling.
      • Add wrappers around xlang calls in existing examples, to both give a cleaner interface and provide an example of how xlang transforms should be implemented.

        Attachments

          Activity

            People

            • Assignee:
              danoliveira Daniel Oliveira
              Reporter:
              danoliveira Daniel Oliveira
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Time Tracking

                Estimated:
                Original Estimate - Not Specified
                Not Specified
                Remaining:
                Remaining Estimate - 0h
                0h
                Logged:
                Time Spent - 4h 20m
                4h 20m