JdbcIO: WriteWithResult not works as expected when maps ResultSet
- Dominant language
- Java
- Stars
- 8.7k
- Forks
- 4.7k
- Avg merge
- 1d 20h
- Merged PRs (30d)
- 196
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](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](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](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](https://github.com/apache/beam/blob/8d3b4bbaa942d62ac16b7ca7ff8858e102497b46/sdks/java/io/jdbc/src/main/java/org/apache/beam/sdk/io/jdbc/JdbcIO.java#L1370-L1373)
Imported from Jira [BEAM-14432](https://issues.apache.org/jira/browse/BEAM-14432). Original Jira may contain additional context.
Reported by: damian_jsck.
Contributor guide
Assessment
This issue has not been assessed yet.