[jira] [Commented] (BEAM-5420) BigtableIO tries to get runtime parameters when collecting display data at pipeline construction time

2018-09-26 Thread Kevin Si (JIRA)


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

Kevin Si commented on BEAM-5420:


Or we use the following method to get display data from runtime parameters. The 
point is it shouldn't call the get() method.

 

/** Create a display item for the specified key and \{@link ValueProvider}. */
 public static ItemSpec item(String key, @Nullable ValueProvider value) {
 if (value == null) {
 return item(key, Type.STRING, null);
 }
 if (value.isAccessible()) {
 Object got = value.get();
 if (got == null) {
 return item(key, Type.STRING, null);
 }
 Type type = inferType(got);
 if (type != null) {
 return item(key, type, got);
 }
 }
 // General case: not null and type not inferable. Fall back to toString of the 
VP itself.
 return item(key, Type.STRING, String.valueOf(value));
 }

> BigtableIO tries to get runtime parameters when collecting display data at 
> pipeline construction time
> -
>
> Key: BEAM-5420
> URL: https://issues.apache.org/jira/browse/BEAM-5420
> Project: Beam
>  Issue Type: Bug
>  Components: io-java-gcp
>Reporter: Kevin Si
>Assignee: Chamikara Jayalath
>Priority: Minor
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> For example: 
> [https://github.com/apache/beam/blob/master/sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/bigtable/BigtableConfig.java#L165]
> At Dataflow pipeline construction time calling getProjectId() gives an error.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (BEAM-5420) BigtableIO tries to get runtime parameters when collecting display data at pipeline construction time

2018-09-26 Thread Kevin Si (JIRA)


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

Kevin Si commented on BEAM-5420:


The reason is that the display data is read at pipeline construction time only 
and never get updated at runtime. This means that the UI will show these dummy 
values, which is super ugly.
I am going to update the logic and remove runtime parameters from the display 
data.

> BigtableIO tries to get runtime parameters when collecting display data at 
> pipeline construction time
> -
>
> Key: BEAM-5420
> URL: https://issues.apache.org/jira/browse/BEAM-5420
> Project: Beam
>  Issue Type: Bug
>  Components: io-java-gcp
>Reporter: Kevin Si
>Assignee: Chamikara Jayalath
>Priority: Minor
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> For example: 
> [https://github.com/apache/beam/blob/master/sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/bigtable/BigtableConfig.java#L165]
> At Dataflow pipeline construction time calling getProjectId() gives an error.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (BEAM-5420) BigtableIO tries to get runtime parameters when collecting display data at pipeline construction time

2018-09-25 Thread Kevin Si (JIRA)


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

Kevin Si commented on BEAM-5420:


This is the error we get if we try to access runtime parameters when getting 
display data:

2018-09-25 08:15:55 INFO DataflowRunner:706 - Executing pipeline on the 
Dataflow Service, which will have billing implications related to Google 
Compute Engine usage and other Google Cloud Services.
2018-09-25 08:15:55 INFO PackageUtil:315 - Uploading 1 files from 
PipelineOptions.filesToStage to staging location to prepare for execution.
2018-09-25 08:15:55 INFO PackageUtil:242 - Uploading 
/usr/local/google/_blaze_kevinsi/f06b53e3e81897f185aef98ca1141c77/execroot/google3/blaze-out/k8-fastbuild/bin/cloud/dataflow/testing/integration/teleport/teleport_bigtable_export_import_avro_file_uif_generate_template.runfiles/google3/third_party/java_src/cloud/teleport/teleport-all-bundled.jar
 to 
gs://deft-guitar-sandbox-e2e-test/df2-teleport-bigtable-to-avro-file-generate-template-prod/09250815492298/staging/teleport-all-bundled-Lato7X_J6JWX3aVWaViZHg.jar
2018-09-25 08:16:12 INFO PackageUtil:389 - Staging files complete: 0 files 
cached, 1 files newly uploaded
Exception in thread "main" 
org.apache.beam.sdk.transforms.display.DisplayData$InternalBuilder$PopulateDisplayDataException:
 Error while populating display data for component 
'org.apache.beam.sdk.io.gcp.bigtable.BigtableIO$BigtableSource': Value only 
available at runtime, but accessed from a non-runtime context: 
RuntimeValueProvider\{propertyName=bigtableTableId, default=null}
 at 
org.apache.beam.sdk.transforms.display.DisplayData$InternalBuilder.include(DisplayData.java:792)
 at 
org.apache.beam.sdk.transforms.display.DisplayData$InternalBuilder.include(DisplayData.java:741)
 at org.apache.beam.sdk.io.Read$Bounded.populateDisplayData(Read.java:119)
 at 
org.apache.beam.sdk.transforms.display.DisplayData$InternalBuilder.include(DisplayData.java:783)
 at 
org.apache.beam.sdk.transforms.display.DisplayData$InternalBuilder.access$100(DisplayData.java:711)
 at org.apache.beam.sdk.transforms.display.DisplayData.from(DisplayData.java:78)
 at 
org.apache.beam.runners.core.construction.PTransformTranslation.translateAppliedPTransform(PTransformTranslation.java:381)
 at 
org.apache.beam.runners.core.construction.PTransformTranslation$KnownTransformPayloadTranslator.translate(PTransformTranslation.java:323)
 at 
org.apache.beam.runners.core.construction.PTransformTranslation.toProto(PTransformTranslation.java:141)
 at 
org.apache.beam.runners.core.construction.SdkComponents.registerPTransform(SdkComponents.java:97)
 at 
org.apache.beam.runners.core.construction.PipelineTranslation$1.visitPrimitiveTransform(PipelineTranslation.java:72)
 at 
org.apache.beam.sdk.runners.TransformHierarchy$Node.visit(TransformHierarchy.java:657)
 at 
org.apache.beam.sdk.runners.TransformHierarchy$Node.visit(TransformHierarchy.java:649)
 at 
org.apache.beam.sdk.runners.TransformHierarchy$Node.visit(TransformHierarchy.java:649)
 at 
org.apache.beam.sdk.runners.TransformHierarchy$Node.access$600(TransformHierarchy.java:311)
 at 
org.apache.beam.sdk.runners.TransformHierarchy.visit(TransformHierarchy.java:245)
 at org.apache.beam.sdk.Pipeline.traverseTopologically(Pipeline.java:458)
 at 
org.apache.beam.runners.core.construction.PipelineTranslation.toProto(PipelineTranslation.java:44)
 at 
org.apache.beam.runners.dataflow.DataflowPipelineTranslator.translate(DataflowPipelineTranslator.java:164)
 at org.apache.beam.runners.dataflow.DataflowRunner.run(DataflowRunner.java:732)
 at org.apache.beam.runners.dataflow.DataflowRunner.run(DataflowRunner.java:177)
 at org.apache.beam.sdk.Pipeline.run(Pipeline.java:313)
 at org.apache.beam.sdk.Pipeline.run(Pipeline.java:299)
 at 
com.google.cloud.teleport.bigtable.BigtableToAvro.main(BigtableToAvro.java:95)
Caused by: java.lang.IllegalStateException: Value only available at runtime, 
but accessed from a non-runtime context: 
RuntimeValueProvider\{propertyName=bigtableTableId, default=null}
 at 
org.apache.beam.sdk.options.ValueProvider$RuntimeValueProvider.get(ValueProvider.java:228)
 at 
org.apache.beam.sdk.io.gcp.bigtable.BigtableIO$BigtableSource.populateDisplayData(BigtableIO.java:1098)
 at 
org.apache.beam.sdk.transforms.display.DisplayData$InternalBuilder.include(DisplayData.java:783)
 ... 23 more

> BigtableIO tries to get runtime parameters when collecting display data at 
> pipeline construction time
> -
>
> Key: BEAM-5420
> URL: https://issues.apache.org/jira/browse/BEAM-5420
> Project: Beam
>  Issue Type: Bug
>  Components: io-java-gcp
>Reporter: Kevin Si
>Assignee: Chamikara Jayalath
>Priority: Minor
>
> For example: 
> 

[jira] [Created] (BEAM-5420) BigtableIO tries to get runtime parameters when collecting display data at pipeline construction time

2018-09-18 Thread Kevin Si (JIRA)
Kevin Si created BEAM-5420:
--

 Summary: BigtableIO tries to get runtime parameters when 
collecting display data at pipeline construction time
 Key: BEAM-5420
 URL: https://issues.apache.org/jira/browse/BEAM-5420
 Project: Beam
  Issue Type: Bug
  Components: io-java-gcp
Reporter: Kevin Si
Assignee: Chamikara Jayalath


For example: 
[https://github.com/apache/beam/blob/master/sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/bigtable/BigtableConfig.java#L165]

At Dataflow pipeline construction time calling getProjectId() gives an error.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (BEAM-5364) BigtableIO source tries to validate table ID even though validation is turned off

2018-09-12 Thread Kevin Si (JIRA)


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

Kevin Si commented on BEAM-5364:


I will send out a PR to fix this. The change should be small.

>  BigtableIO source tries to validate table ID even though validation is 
> turned off
> --
>
> Key: BEAM-5364
> URL: https://issues.apache.org/jira/browse/BEAM-5364
> Project: Beam
>  Issue Type: Bug
>  Components: io-java-gcp
>Reporter: Kevin Si
>Assignee: Chamikara Jayalath
>Priority: Minor
>
> [https://github.com/apache/beam/blob/master/sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/bigtable/BigtableIO.java#L1084|https://www.google.com/url?q=https://github.com/apache/beam/blob/master/sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/bigtable/BigtableIO.java%23L1084=D=AFQjCNEfHprTOvnwAwFSrXwUuLvc__JBWg]
> The validation can be turned off with following:
> BigtableIO.read()
>             .withoutValidation() // skip validation when constructing the 
> pipelline.
> A Dataflow template cannot be constructed due to this validation failure.
>  
> Error log when trying to construct a template:
> Exception in thread "main" java.lang.IllegalArgumentException: tableId was 
> not supplied
>         at 
> com.google.common.base.Preconditions.checkArgument(Preconditions.java:122)
>         at 
> org.apache.beam.sdk.io.gcp.bigtable.BigtableIO$BigtableSource.validate(BigtableIO.java:1084)
>         at org.apache.beam.sdk.io.Read$Bounded.expand(Read.java:95)
>         at org.apache.beam.sdk.io.Read$Bounded.expand(Read.java:85)
>         at org.apache.beam.sdk.Pipeline.applyInternal(Pipeline.java:537)
>         at org.apache.beam.sdk.Pipeline.applyTransform(Pipeline.java:471)
>         at org.apache.beam.sdk.values.PBegin.apply(PBegin.java:44)
>         at org.apache.beam.sdk.Pipeline.apply(Pipeline.java:167)
>         at 
> org.apache.beam.sdk.io.gcp.bigtable.BigtableIO$Read.expand(BigtableIO.java:423)
>         at 
> org.apache.beam.sdk.io.gcp.bigtable.BigtableIO$Read.expand(BigtableIO.java:179)
>         at org.apache.beam.sdk.Pipeline.applyInternal(Pipeline.java:537)
>         at org.apache.beam.sdk.Pipeline.applyTransform(Pipeline.java:488)
>         at org.apache.beam.sdk.values.PBegin.apply(PBegin.java:56)
>         at org.apache.beam.sdk.Pipeline.apply(Pipeline.java:182)
>         at 
> com.google.cloud.teleport.bigtable.BigtableToAvro.main(BigtableToAvro.java:89)



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (BEAM-5364) BigtableIO source tries to validate table ID even though validation is turned off

2018-09-12 Thread Kevin Si (JIRA)


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

Kevin Si commented on BEAM-5364:


Sorry! I meant to say a blocker for "Cloud Bigtable Avro import and export 
Dataflow Template".

I set the priority to "Minor".

>  BigtableIO source tries to validate table ID even though validation is 
> turned off
> --
>
> Key: BEAM-5364
> URL: https://issues.apache.org/jira/browse/BEAM-5364
> Project: Beam
>  Issue Type: Bug
>  Components: io-java-gcp
>Reporter: Kevin Si
>Assignee: Chamikara Jayalath
>Priority: Minor
>
> [https://github.com/apache/beam/blob/master/sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/bigtable/BigtableIO.java#L1084|https://www.google.com/url?q=https://github.com/apache/beam/blob/master/sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/bigtable/BigtableIO.java%23L1084=D=AFQjCNEfHprTOvnwAwFSrXwUuLvc__JBWg]
> The validation can be turned off with following:
> BigtableIO.read()
>             .withoutValidation() // skip validation when constructing the 
> pipelline.
> A Dataflow template cannot be constructed due to this validation failure.
>  
> Error log when trying to construct a template:
> Exception in thread "main" java.lang.IllegalArgumentException: tableId was 
> not supplied
>         at 
> com.google.common.base.Preconditions.checkArgument(Preconditions.java:122)
>         at 
> org.apache.beam.sdk.io.gcp.bigtable.BigtableIO$BigtableSource.validate(BigtableIO.java:1084)
>         at org.apache.beam.sdk.io.Read$Bounded.expand(Read.java:95)
>         at org.apache.beam.sdk.io.Read$Bounded.expand(Read.java:85)
>         at org.apache.beam.sdk.Pipeline.applyInternal(Pipeline.java:537)
>         at org.apache.beam.sdk.Pipeline.applyTransform(Pipeline.java:471)
>         at org.apache.beam.sdk.values.PBegin.apply(PBegin.java:44)
>         at org.apache.beam.sdk.Pipeline.apply(Pipeline.java:167)
>         at 
> org.apache.beam.sdk.io.gcp.bigtable.BigtableIO$Read.expand(BigtableIO.java:423)
>         at 
> org.apache.beam.sdk.io.gcp.bigtable.BigtableIO$Read.expand(BigtableIO.java:179)
>         at org.apache.beam.sdk.Pipeline.applyInternal(Pipeline.java:537)
>         at org.apache.beam.sdk.Pipeline.applyTransform(Pipeline.java:488)
>         at org.apache.beam.sdk.values.PBegin.apply(PBegin.java:56)
>         at org.apache.beam.sdk.Pipeline.apply(Pipeline.java:182)
>         at 
> com.google.cloud.teleport.bigtable.BigtableToAvro.main(BigtableToAvro.java:89)



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (BEAM-5364) BigtableIO source tries to validate table ID even though validation is turned off

2018-09-12 Thread Kevin Si (JIRA)


 [ 
https://issues.apache.org/jira/browse/BEAM-5364?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Kevin Si updated BEAM-5364:
---
Priority: Minor  (was: Blocker)

>  BigtableIO source tries to validate table ID even though validation is 
> turned off
> --
>
> Key: BEAM-5364
> URL: https://issues.apache.org/jira/browse/BEAM-5364
> Project: Beam
>  Issue Type: Bug
>  Components: io-java-gcp
>Reporter: Kevin Si
>Assignee: Chamikara Jayalath
>Priority: Minor
>
> [https://github.com/apache/beam/blob/master/sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/bigtable/BigtableIO.java#L1084|https://www.google.com/url?q=https://github.com/apache/beam/blob/master/sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/bigtable/BigtableIO.java%23L1084=D=AFQjCNEfHprTOvnwAwFSrXwUuLvc__JBWg]
> The validation can be turned off with following:
> BigtableIO.read()
>             .withoutValidation() // skip validation when constructing the 
> pipelline.
> A Dataflow template cannot be constructed due to this validation failure.
>  
> Error log when trying to construct a template:
> Exception in thread "main" java.lang.IllegalArgumentException: tableId was 
> not supplied
>         at 
> com.google.common.base.Preconditions.checkArgument(Preconditions.java:122)
>         at 
> org.apache.beam.sdk.io.gcp.bigtable.BigtableIO$BigtableSource.validate(BigtableIO.java:1084)
>         at org.apache.beam.sdk.io.Read$Bounded.expand(Read.java:95)
>         at org.apache.beam.sdk.io.Read$Bounded.expand(Read.java:85)
>         at org.apache.beam.sdk.Pipeline.applyInternal(Pipeline.java:537)
>         at org.apache.beam.sdk.Pipeline.applyTransform(Pipeline.java:471)
>         at org.apache.beam.sdk.values.PBegin.apply(PBegin.java:44)
>         at org.apache.beam.sdk.Pipeline.apply(Pipeline.java:167)
>         at 
> org.apache.beam.sdk.io.gcp.bigtable.BigtableIO$Read.expand(BigtableIO.java:423)
>         at 
> org.apache.beam.sdk.io.gcp.bigtable.BigtableIO$Read.expand(BigtableIO.java:179)
>         at org.apache.beam.sdk.Pipeline.applyInternal(Pipeline.java:537)
>         at org.apache.beam.sdk.Pipeline.applyTransform(Pipeline.java:488)
>         at org.apache.beam.sdk.values.PBegin.apply(PBegin.java:56)
>         at org.apache.beam.sdk.Pipeline.apply(Pipeline.java:182)
>         at 
> com.google.cloud.teleport.bigtable.BigtableToAvro.main(BigtableToAvro.java:89)



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Created] (BEAM-5364) BigtableIO source tries to validate table ID even though validation is turned off

2018-09-11 Thread Kevin Si (JIRA)
Kevin Si created BEAM-5364:
--

 Summary:  BigtableIO source tries to validate table ID even though 
validation is turned off
 Key: BEAM-5364
 URL: https://issues.apache.org/jira/browse/BEAM-5364
 Project: Beam
  Issue Type: Bug
  Components: io-java-gcp
Reporter: Kevin Si
Assignee: Chamikara Jayalath


[https://github.com/apache/beam/blob/master/sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/bigtable/BigtableIO.java#L1084|https://www.google.com/url?q=https://github.com/apache/beam/blob/master/sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/bigtable/BigtableIO.java%23L1084=D=AFQjCNEfHprTOvnwAwFSrXwUuLvc__JBWg]

The validation can be turned off with following:
BigtableIO.read()
            .withoutValidation() // skip validation when constructing the 
pipelline.

A Dataflow template cannot be constructed due to this validation failure.

 

Error log when trying to construct a template:

Exception in thread "main" java.lang.IllegalArgumentException: tableId was not 
supplied
        at 
com.google.common.base.Preconditions.checkArgument(Preconditions.java:122)
        at 
org.apache.beam.sdk.io.gcp.bigtable.BigtableIO$BigtableSource.validate(BigtableIO.java:1084)
        at org.apache.beam.sdk.io.Read$Bounded.expand(Read.java:95)
        at org.apache.beam.sdk.io.Read$Bounded.expand(Read.java:85)
        at org.apache.beam.sdk.Pipeline.applyInternal(Pipeline.java:537)
        at org.apache.beam.sdk.Pipeline.applyTransform(Pipeline.java:471)
        at org.apache.beam.sdk.values.PBegin.apply(PBegin.java:44)
        at org.apache.beam.sdk.Pipeline.apply(Pipeline.java:167)
        at 
org.apache.beam.sdk.io.gcp.bigtable.BigtableIO$Read.expand(BigtableIO.java:423)
        at 
org.apache.beam.sdk.io.gcp.bigtable.BigtableIO$Read.expand(BigtableIO.java:179)
        at org.apache.beam.sdk.Pipeline.applyInternal(Pipeline.java:537)
        at org.apache.beam.sdk.Pipeline.applyTransform(Pipeline.java:488)
        at org.apache.beam.sdk.values.PBegin.apply(PBegin.java:56)
        at org.apache.beam.sdk.Pipeline.apply(Pipeline.java:182)
        at 
com.google.cloud.teleport.bigtable.BigtableToAvro.main(BigtableToAvro.java:89)



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (BEAM-5272) Randomize the reduced splits in BigtableIO so that multiple workers may not hit the same tablet server

2018-08-31 Thread Kevin Si (JIRA)


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

Kevin Si commented on BEAM-5272:


https://github.com/apache/beam/pull/6308

> Randomize the reduced splits in BigtableIO so that multiple workers may not 
> hit the same tablet server
> --
>
> Key: BEAM-5272
> URL: https://issues.apache.org/jira/browse/BEAM-5272
> Project: Beam
>  Issue Type: Improvement
>  Components: io-java-gcp
>Reporter: Kevin Si
>Assignee: Chamikara Jayalath
>Priority: Minor
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> Randomize the reduced splits in BigtableIO so that multiple workers may not 
> hit the same tablet server.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Created] (BEAM-5272) Randomize the reduced splits in BigtableIO so that multiple workers may not hit the same tablet server

2018-08-30 Thread Kevin Si (JIRA)
Kevin Si created BEAM-5272:
--

 Summary: Randomize the reduced splits in BigtableIO so that 
multiple workers may not hit the same tablet server
 Key: BEAM-5272
 URL: https://issues.apache.org/jira/browse/BEAM-5272
 Project: Beam
  Issue Type: Improvement
  Components: io-java-gcp
Reporter: Kevin Si
Assignee: Chamikara Jayalath


Randomize the reduced splits in BigtableIO so that multiple workers may not hit 
the same tablet server.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Closed] (BEAM-5256) Update Bigtable dependency

2018-08-29 Thread Kevin Si (JIRA)


 [ 
https://issues.apache.org/jira/browse/BEAM-5256?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Kevin Si closed BEAM-5256.
--
Resolution: Won't Fix

> Update Bigtable dependency
> --
>
> Key: BEAM-5256
> URL: https://issues.apache.org/jira/browse/BEAM-5256
> Project: Beam
>  Issue Type: Improvement
>  Components: dependencies
>Affects Versions: 2.6.0
>Reporter: Kevin Si
>Priority: Minor
> Fix For: 2.7.0
>
>
> According to the following dependency tree, 
> "beam-sdks-java-io-google-cloud-platform" is depending on "bigtable-protos". 
> [INFO] Verbose not supported since maven-dependency-plugin 3.0 [INFO] 
> com.google.cloud.teleport:google-cloud-teleport-java:jar:0.1-SNAPSHOT [INFO] 
> \- org.apache.beam:beam-sdks-java-io-google-cloud-platform:jar:2.6.0:compile 
> [INFO] \- com.google.cloud.bigtable:bigtable-protos:jar:1.0.0-pre3:compile
>  
> Instead, it should depends on:
>  
> com.google.api.grpc
> proto-google-cloud-bigtable-v2
> 0.24.0
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (BEAM-5256) Update Bigtable dependency

2018-08-29 Thread Kevin Si (JIRA)


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

Kevin Si commented on BEAM-5256:


Second thought, we may want to use a different version of Bigtable client, so 
put this change on hold.

> Update Bigtable dependency
> --
>
> Key: BEAM-5256
> URL: https://issues.apache.org/jira/browse/BEAM-5256
> Project: Beam
>  Issue Type: Improvement
>  Components: dependencies
>Affects Versions: 2.6.0
>Reporter: Kevin Si
>Priority: Minor
> Fix For: 2.7.0
>
>
> According to the following dependency tree, 
> "beam-sdks-java-io-google-cloud-platform" is depending on "bigtable-protos". 
> [INFO] Verbose not supported since maven-dependency-plugin 3.0 [INFO] 
> com.google.cloud.teleport:google-cloud-teleport-java:jar:0.1-SNAPSHOT [INFO] 
> \- org.apache.beam:beam-sdks-java-io-google-cloud-platform:jar:2.6.0:compile 
> [INFO] \- com.google.cloud.bigtable:bigtable-protos:jar:1.0.0-pre3:compile
>  
> Instead, it should depends on:
>  
> com.google.api.grpc
> proto-google-cloud-bigtable-v2
> 0.24.0
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Created] (BEAM-5256) Update Bigtable dependency

2018-08-29 Thread Kevin Si (JIRA)
Kevin Si created BEAM-5256:
--

 Summary: Update Bigtable dependency
 Key: BEAM-5256
 URL: https://issues.apache.org/jira/browse/BEAM-5256
 Project: Beam
  Issue Type: Improvement
  Components: dependencies
Affects Versions: 2.6.0
Reporter: Kevin Si
 Fix For: 2.7.0


According to the following dependency tree, 
"beam-sdks-java-io-google-cloud-platform" is depending on "bigtable-protos". 

[INFO] Verbose not supported since maven-dependency-plugin 3.0 [INFO] 
com.google.cloud.teleport:google-cloud-teleport-java:jar:0.1-SNAPSHOT [INFO] \- 
org.apache.beam:beam-sdks-java-io-google-cloud-platform:jar:2.6.0:compile 
[INFO] \- com.google.cloud.bigtable:bigtable-protos:jar:1.0.0-pre3:compile

 

Instead, it should depends on:

 

com.google.api.grpc
proto-google-cloud-bigtable-v2
0.24.0

 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (BEAM-4261) BigtableIO should not try to validate runtime parameters at construction time.

2018-07-23 Thread Kevin Si (JIRA)


 [ 
https://issues.apache.org/jira/browse/BEAM-4261?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Kevin Si updated BEAM-4261:
---
Summary: BigtableIO should not try to validate runtime parameters at 
construction time.  (was: CloudBigtableIO should not try to validate runtime 
parameters at construction time.)

> BigtableIO should not try to validate runtime parameters at construction time.
> --
>
> Key: BEAM-4261
> URL: https://issues.apache.org/jira/browse/BEAM-4261
> Project: Beam
>  Issue Type: Bug
>  Components: io-java-gcp
>Reporter: Kevin Si
>Assignee: Chamikara Jayalath
>Priority: Minor
>   Original Estimate: 48h
>  Remaining Estimate: 48h
>
> The workaround for user is to have some default values set and override them 
> at runtime.
> One example of validating runtime parameter at construction time is 
> following, and there are could be more.
>  
>     @Override
>     public void validate() {
>       ValueProvider tableId = config.getTableId();
>       checkArgument(tableId != null && tableId.isAccessible() && 
> !tableId.get().isEmpty(),
>         "tableId was not supplied");
>     }
>  
> A reported issue on stackoverflow: 
> [https://stackoverflow.com/questions/49595921/valueprovider-type-parameters-not-getting-honored-at-the-template-execution-time]
>  
> One concern I have is that if we disable the validation at construction time, 
> how do we validate it at runtime? Ideally, users should use template 
> parameter metadata for validation, but that is optional.
>  
>  
>  
>  
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (BEAM-4261) CloudBigtableIO should not try to validate runtime parameters at construction time.

2018-05-09 Thread Kevin Si (JIRA)

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

Kevin Si commented on BEAM-4261:


I am not sure. Trying to create template without any runtime parameter 
specified should tell us what parameters are used at construction time.

I found this code:

static void validateTableExists(BigtableConfig config, PipelineOptions options) 
{
  if (config.getValidate() && config.isDataAccessible()) {

      checkNotNull(config.getTableId().get());

     ...

  }

}

 

This is probably something we should be doing at places where we try to 
validate runtime parameters.

Places we shouldn't try to get runtime parameters in BigtableIO.java. 

 
 # Line#995: checkArgument(tableId != null && tableId.isAccessible() && 
!tableId.get().isEmpty(),
 # Line#1003: builder.add(DisplayData.item("tableId", config.getTableId().get())

 

 

> CloudBigtableIO should not try to validate runtime parameters at construction 
> time.
> ---
>
> Key: BEAM-4261
> URL: https://issues.apache.org/jira/browse/BEAM-4261
> Project: Beam
>  Issue Type: Bug
>  Components: io-java-gcp
>Reporter: Kevin Si
>Assignee: Chamikara Jayalath
>Priority: Minor
>   Original Estimate: 48h
>  Remaining Estimate: 48h
>
> The workaround for user is to have some default values set and override them 
> at runtime.
> One example of validating runtime parameter at construction time is 
> following, and there are could be more.
>  
>     @Override
>     public void validate() {
>       ValueProvider tableId = config.getTableId();
>       checkArgument(tableId != null && tableId.isAccessible() && 
> !tableId.get().isEmpty(),
>         "tableId was not supplied");
>     }
>  
> A reported issue on stackoverflow: 
> [https://stackoverflow.com/questions/49595921/valueprovider-type-parameters-not-getting-honored-at-the-template-execution-time]
>  
> One concern I have is that if we disable the validation at construction time, 
> how do we validate it at runtime? Ideally, users should use template 
> parameter metadata for validation, but that is optional.
>  
>  
>  
>  
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (BEAM-4261) CloudBigtableIO should not try to validate runtime parameters at construction time.

2018-05-09 Thread Kevin Si (JIRA)

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

Kevin Si commented on BEAM-4261:


I have not tried withoutValidation(). Maybe that can be a workaround.

I think the point is that that code should *just* work; without extra thinking 
from our user. This means switching off validation should be automated.

> CloudBigtableIO should not try to validate runtime parameters at construction 
> time.
> ---
>
> Key: BEAM-4261
> URL: https://issues.apache.org/jira/browse/BEAM-4261
> Project: Beam
>  Issue Type: Bug
>  Components: io-java-gcp
>Reporter: Kevin Si
>Assignee: Chamikara Jayalath
>Priority: Minor
>   Original Estimate: 48h
>  Remaining Estimate: 48h
>
> The workaround for user is to have some default values set and override them 
> at runtime.
> One example of validating runtime parameter at construction time is 
> following, and there are could be more.
>  
>     @Override
>     public void validate() {
>       ValueProvider tableId = config.getTableId();
>       checkArgument(tableId != null && tableId.isAccessible() && 
> !tableId.get().isEmpty(),
>         "tableId was not supplied");
>     }
>  
> A reported issue on stackoverflow: 
> [https://stackoverflow.com/questions/49595921/valueprovider-type-parameters-not-getting-honored-at-the-template-execution-time]
>  
> One concern I have is that if we disable the validation at construction time, 
> how do we validate it at runtime? Ideally, users should use template 
> parameter metadata for validation, but that is optional.
>  
>  
>  
>  
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Created] (BEAM-4261) CloudBigtableIO should not try to validate runtime parameters at construction time.

2018-05-09 Thread Kevin Si (JIRA)
Kevin Si created BEAM-4261:
--

 Summary: CloudBigtableIO should not try to validate runtime 
parameters at construction time.
 Key: BEAM-4261
 URL: https://issues.apache.org/jira/browse/BEAM-4261
 Project: Beam
  Issue Type: Bug
  Components: io-java-gcp
Reporter: Kevin Si
Assignee: Chamikara Jayalath


The workaround for user is to have some default values set and override them at 
runtime.

One example of validating runtime parameter at construction time is following, 
and there are could be more.

 
    @Override
    public void validate() {
      ValueProvider tableId = config.getTableId();
      checkArgument(tableId != null && tableId.isAccessible() && 
!tableId.get().isEmpty(),
        "tableId was not supplied");
    }
 
A reported issue on stackoverflow: 
[https://stackoverflow.com/questions/49595921/valueprovider-type-parameters-not-getting-honored-at-the-template-execution-time]
 
One concern I have is that if we disable the validation at construction time, 
how do we validate it at runtime? Ideally, users should use template parameter 
metadata for validation, but that is optional.
 
 
 

 

 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)