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

JdbcIO: WriteWithResult not works as expected when maps ResultSet

Details

    • Improvement
    • Status: Open
    • P2
    • Resolution: Unresolved
    • 2.34.0, 2.35.0, 2.36.0, 2.37.0, 2.38.0
    • None
    • io-java-jdbc
    • None

    Description

      WriteWithResult  [1] in org.apache.beam.sdk.io.jdbc.JdbcIO [2] works in different way than expected. Difference lies in implementation of approach to row mappers in WriteFn and way how processRecord method works [3]. Current implementation left for developer responsibility for processing returned result set from write operation when result can be empty, one or many. Instead result should be iterated when next value is available, like for ReadFn [4]. Issue exists since improvement: https://issues.apache.org/jira/browse/BEAM-11873 
      In the attachment diff with possible solution.

      [1]: https://github.com/apache/beam/blob/8d3b4bbaa942d62ac16b7ca7ff8858e102497b46/sdks/java/io/jdbc/src/main/java/org/apache/beam/sdk/io/jdbc/JdbcIO.java#L1551 

      [2]: https://github.com/apache/beam/blob/master/sdks/java/io/jdbc/src/main/java/org/apache/beam/sdk/io/jdbc/JdbcIO.java 

      [3]: https://github.com/apache/beam/blob/8d3b4bbaa942d62ac16b7ca7ff8858e102497b46/sdks/java/io/jdbc/src/main/java/org/apache/beam/sdk/io/jdbc/JdbcIO.java#L2407-L2423 

      [4]: https://github.com/apache/beam/blob/8d3b4bbaa942d62ac16b7ca7ff8858e102497b46/sdks/java/io/jdbc/src/main/java/org/apache/beam/sdk/io/jdbc/JdbcIO.java#L1370-L1373 

       

      Attachments

        1. SolutionProposal.png
          59 kB
          Damian

        Activity

          People

            Unassigned Unassigned
            damian_jsck Damian

            Dates

              Created:
              Updated:

              Slack

                Issue deployment