apache / apache/beam

JdbcIO: WriteWithResult not works as expected when maps ResultSet

Open
#21,576 0 comments 0 reactions 0 assignees View on GitHub
improvement io java jdbc P2
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.