[ https://issues.apache.org/jira/browse/BEAM-7732?focusedWorklogId=325506&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-325506 ]
ASF GitHub Bot logged work on BEAM-7732: ---------------------------------------- Author: ASF GitHub Bot Created on: 09/Oct/19 06:55 Start Date: 09/Oct/19 06:55 Worklog Time Spent: 10m Work Description: nielm commented on issue #9048: [BEAM-7732] Enable setting custom SpannerOptions. URL: https://github.com/apache/beam/pull/9048#issuecomment-539864860 Reopen ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org Issue Time Tracking ------------------- Worklog Id: (was: 325506) Time Spent: 2h 10m (was: 2h) > Allow access to SpannerOptions in Beam > -------------------------------------- > > Key: BEAM-7732 > URL: https://issues.apache.org/jira/browse/BEAM-7732 > Project: Beam > Issue Type: Improvement > Components: io-java-gcp > Affects Versions: 2.12.0, 2.13.0 > Reporter: Niel Markwick > Priority: Minor > Time Spent: 2h 10m > Remaining Estimate: 0h > > Beam hides the > [SpannerOptions|https://github.com/googleapis/google-cloud-java/blob/master/google-cloud-clients/google-cloud-spanner/src/main/java/com/google/cloud/spanner/SpannerOptions.java] > object behind a > [SpannerConfig|https://github.com/apache/beam/blob/master/sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/spanner/SpannerConfig.java] > object because the SpannerOptions object is not serializable. > This means that the only options that can be set are those that can be > specified in SpannerConfig - limited to host, project, instance, database. > Suggestion: add the possibility to set a SpannerOptionsFactory in > SpannerConfig: > {code:java} > public interface SpannerOptionsFactory extends Serializable { > public SpannerOptions create(); > } > {code} > This would allow the user use this factory class to specify custom > SpannerOptions before they are passed onto the connectToSpanner() method; > connectToSpanner() would then become: > {code:java} > public SpannerAccessor connectToSpanner() { > > SpannerOptions.Builder builder = spannerOptionsFactory.create().toBuilder(); > // rest of connectToSpanner follows, setting project, host, etc. > {code} > -- This message was sent by Atlassian Jira (v8.3.4#803005)