Uh oh!
There was an error while loading. Please reload this page.
Bigtable: Introducing new Batching API for Bigtable - #6133
Conversation
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
igorbernstein2
commented
Aug 22, 2019
Can you investigate why the linkage monitor is complaining? |
rahulKQL
commented
Aug 22, 2019
It seems the linkage monitor build was not able to find new |
Codecov Report
@@ Coverage Diff @@## master #6133 +/- ##
============================================
+ Coverage 47.5% 47.51% +0.01% - Complexity 27447 27460 +13
============================================
Files 2523 2526 +3 Lines 274592 274691 +99 Branches 31396 31405 +9 ============================================
+ Hits 130445 130531 +86 - Misses 134514 134527 +13
Partials 9633 9633
Continue to review full report at Codecov.
|
Uh oh!
There was an error while loading. Please reload this page.
rahulKQL
commented
Aug 27, 2019
@igorbernstein2@kolea2 I have added BigtableBatchingCallSettings, Please have a look and let me know your thoughts on this. |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
- Introducing new API `BigtableDataClient#newBulkMutationBatcher(String)`. - Deprecated existing API `BigtableDataClient#newBulkMutationBatcher()`. - Updated BatchingCallSettings to be compatible with new Batching API. - Removed method/class description from deprecation. - Added a new model in RowMutationEntry. - Added MutateRowsBatchingDescriptorV2 to spool the batching response. - Updated JavaDocs, test cases according to latest changes.
- Fix for linkage error on Javadocs - Introduced BigtableBatchingCallSettings which will wrap the underlying gax's BatchingCallSettings. This was done for enabling the bigtable throttling to balance the bigtable clusters performance supposedly for batch jobs while still supporting the live load. - Added null check message for RowMutationEntry - Updated javadoc and access level of getter BigtableBatchingCallSettings
This is a trial fix, as linkage monitor does not seems to be recreated with local build
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
@chingor13 is the linkage build failure because the libraries-bom needs to upgrade gax (through the google-cloud-java bom)? Can we exclude this from the check for now? |
rahulKQL
commented
Aug 27, 2019
The linkage build is failing for below classes which introduced in BOM Coordinates: com.google.cloud:libraries-bom:2.2.1
Newly introduced problems:
Class com.google.api.gax.batching.BatchingDescriptor is not found
referenced from com.google.cloud.bigtable.data.v2.stub.BigtableBatchingCallSettings (google-cloud-bigtable-0.106.1-SNAPSHOT.jar)
referenced from com.google.cloud.bigtable.data.v2.stub.mutaterows.MutateRowsBatchingDescriptorV2 (google-cloud-bigtable-0.106.1-SNAPSHOT.jar)
Class com.google.api.gax.batching.BatchingRequestBuilder is not found
referenced from com.google.cloud.bigtable.data.v2.stub.mutaterows.MutateRowsBatchingDescriptorV2 (google-cloud-bigtable-0.106.1-SNAPSHOT.jar)
Class com.google.api.gax.batching.BatcherImpl is not found
referenced from com.google.cloud.bigtable.data.v2.stub.EnhancedBigtableStub (google-cloud-bigtable-0.106.1-SNAPSHOT.jar)
Class com.google.api.gax.batching.BatchingCallSettings is not found
referenced from com.google.cloud.bigtable.data.v2.stub.BigtableBatchingCallSettings (google-cloud-bigtable-0.106.1-SNAPSHOT.jar)
Class com.google.api.gax.batching.BatchingCallSettings$Builder is not found
referenced from com.google.cloud.bigtable.data.v2.stub.BigtableBatchingCallSettings (google-cloud-bigtable-0.106.1-SNAPSHOT.jar)
Exception in thread "main" com.google.cloud.tools.dependencies.linkagemonitor.LinkageMonitorException: Found 5 new linkage errors
at com.google.cloud.tools.dependencies.linkagemonitor.LinkageMonitor.run(LinkageMonitor.java:105)
at com.google.cloud.tools.dependencies.linkagemonitor.LinkageMonitor.main(LinkageMonitor.java:63) |
igorbernstein2
commented
Aug 27, 2019
elharo
commented
Aug 27, 2019
gax is not part of libraries-bom so it can't be updated there. It only gets pulled in transitively from other dependencies. I don't recommend turning off this check or excluding it. It's likely telling us somehting important that we should address. |
elharo
commented
Aug 27, 2019
Based in the report, this PR seems to lead to user-visible linkage errors because you're using new classes in the latest GAX that are not available in older ones, and those older versions are likely to get pulled into clients' classpaths. |
igorbernstein2
commented
Aug 27, 2019
What is the suggested path for adding new features to gax & using them? Why is the gax version referenced by google-cloud-bom 0.99.0 considered the golden? |
igorbernstein2
commented
Aug 27, 2019
Also please note that bigtable is not GA yet and the binary compatibility breakage is expected |
elharo
commented
Aug 27, 2019
OK, looks like gax is pulled in from google-cloud-bom. libraries-bom has an older verison of google-cloud-bom due to incompatibilities with protobuf. That might be resolved with the next protobuf release, tenatively at the end of this week. |
kolea2
commented
Aug 27, 2019
As discussed, we will merge this in for now while we wait for the libraries-bom to be updated. I retriggered the failed windows build, waiting for that to pass. |
Note changes to the bulk mutation batcher: googleapis/google-cloud-java#6133
* Introducing new Batching API for Bigtable - Introducing new API `BigtableDataClient#newBulkMutationBatcher(String)`. - Deprecated existing API `BigtableDataClient#newBulkMutationBatcher()`. - Updated BatchingCallSettings to be compatible with new Batching API. - Removed method/class description from deprecation. - Added a new model in RowMutationEntry. - Added MutateRowsBatchingDescriptorV2 to spool the batching response. - Updated JavaDocs, test cases according to latest changes. * Addressing minor feedback comments - Fix for linkage error on Javadocs - Introduced BigtableBatchingCallSettings which will wrap the underlying gax's BatchingCallSettings. This was done for enabling the bigtable throttling to balance the bigtable clusters performance supposedly for batch jobs while still supporting the live load. - Added null check message for RowMutationEntry - Updated javadoc and access level of getter BigtableBatchingCallSettings * fix for Linkage monitor This is a trial fix, as linkage monitor does not seems to be recreated with local build * Addressing feedback comments mostly for javadoc and variable names * Annotate BatchingCallSettings with `@Nonnull`
Working towards #3003
BigtableDataClient#newBulkMutationBatcher(String).BigtableDataClient#newBulkMutationBatcher().