Uploaded image for project: 'Samza'
  1. Samza
  2. SAMZA-2299

StreamTableJoin Operator should invoke user join function only once

Attach filesAttach ScreenshotVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 1.3
    • None
    • None

    Description

      In StreamTableJoinOperator, we currently invoke the user join function again with null record if the first call to join function returns a null. This is not desirable in use cases for anti-join where subsequent invocation of join function could result in different results.

       

      Optional.ofNullable(value)
        .map(val -> (R) KV.of(key, val)
        .map(record -> joinOpSpec.getJoinFn().apply(message, record))
        .orElseGet(() -> joinOpSpec.getJoinFn().apply(message, null)); // this is the additional invocation that happens if the previous invocation returns a null

      Attachments

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            bharathkk Bharath Kumarasubramanian
            bharathkk Bharath Kumarasubramanian
            Votes:
            0 Vote for this issue
            Watchers:
            1 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 - 40m
                40m

                Slack

                  Issue deployment