You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@beam.apache.org by "Jing Chen (Jira)" <ji...@apache.org> on 2019/11/06 08:53:00 UTC

[jira] [Commented] (BEAM-7732) Allow access to SpannerOptions in Beam

    [ https://issues.apache.org/jira/browse/BEAM-7732?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16968186#comment-16968186 ] 

Jing Chen commented on BEAM-7732:
---------------------------------

i am curious if the issue is still open, [~nielm]

> 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: 3.5h
>  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)