diff --git a/.kokoro/release/drop.cfg b/.kokoro/release/drop.cfg
index 220c949ad1..0eeb645725 100644
--- a/.kokoro/release/drop.cfg
+++ b/.kokoro/release/drop.cfg
@@ -4,6 +4,3 @@ env_vars: {
key: "TRAMPOLINE_BUILD_FILE"
value: "github/java-bigtable/.kokoro/release/drop.sh"
}
-
-# Download staging properties file.
-gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/java/releases/java-bigtable"
\ No newline at end of file
diff --git a/.kokoro/release/promote.cfg b/.kokoro/release/promote.cfg
index 60c283ca29..0e93aade6b 100644
--- a/.kokoro/release/promote.cfg
+++ b/.kokoro/release/promote.cfg
@@ -4,7 +4,3 @@ env_vars: {
key: "TRAMPOLINE_BUILD_FILE"
value: "github/java-bigtable/.kokoro/release/promote.sh"
}
-
-# Download staging properties file.
-gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/java/releases/java-bigtable"
-
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 993db6f742..ea7ef9a811 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,27 @@
# Changelog
+## [1.7.0](https://www.github.com/googleapis/java-bigtable/compare/v1.6.0...v1.7.0) (2019-11-07)
+
+
+### Features
+
+* add bom ([#50](https://www.github.com/googleapis/java-bigtable/issues/50)) ([f4dd552](https://www.github.com/googleapis/java-bigtable/commit/f4dd552ea00044babe1273e322b8a330f093b2b0))
+
+
+### Bug Fixes
+
+* align version numbers for proto and grpc versions ([#52](https://www.github.com/googleapis/java-bigtable/issues/52)) ([dbfa73a](https://www.github.com/googleapis/java-bigtable/commit/dbfa73a1a336d0afb03e7755d17786216199a851))
+* fix maven test configs to make sure admin tests don't clobber data tests ([#47](https://www.github.com/googleapis/java-bigtable/issues/47)) ([18576f5](https://www.github.com/googleapis/java-bigtable/commit/18576f55c34dbdc4c0ac79639dbc1dbf1ce7affe))
+* fix regression in batch#close silently ignoring entry failures by upgrading to gax to 1.50.0 ([#67](https://www.github.com/googleapis/java-bigtable/issues/67)) ([5aa8769](https://www.github.com/googleapis/java-bigtable/commit/5aa87697a5e8860993a14f4ac42d675c66b3d0ff))
+* handle recovery failures during stream reframing failure ([#46](https://www.github.com/googleapis/java-bigtable/issues/46)) ([a16cb88](https://www.github.com/googleapis/java-bigtable/commit/a16cb8864c0c8be26d34e71dbf261dbfc5e09bac))
+* Prevent integration tests from different profiles from trampling each other ([#69](https://www.github.com/googleapis/java-bigtable/issues/69)) ([638615a](https://www.github.com/googleapis/java-bigtable/commit/638615ae09ec2d311e82d89ea7a78137911f4eb4))
+* use proper scope for DirectPath transitive dependencies ([#59](https://www.github.com/googleapis/java-bigtable/issues/59)) ([1d1c4de](https://www.github.com/googleapis/java-bigtable/commit/1d1c4deb34a85836da2aed7b07359ff923b09835))
+
+
+### Documentation
+
+* cleanup links to java-bigtable and javadoc ([#56](https://www.github.com/googleapis/java-bigtable/issues/56)) ([846a44f](https://www.github.com/googleapis/java-bigtable/commit/846a44fbf9ebd5691a431e79a09a049aea5fd4f0))
+
## [1.6.0](https://www.github.com/googleapis/java-bigtable/compare/1.5.0...v1.6.0) (2019-10-24)
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index ebbb59e531..48b0fa29b0 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -25,4 +25,39 @@ information on using pull requests.
## Community Guidelines
This project follows
-[Google's Open Source Community Guidelines](https://opensource.google.com/conduct/).
\ No newline at end of file
+[Google's Open Source Community Guidelines](https://opensource.google.com/conduct/).
+
+
+## Running Tests
+
+Bigtable integration tests can either be run against an emulator or a real Bigtable instance.
+The target environment can be selected by setting a maven profile. By default it is set to
+`bigtable-emulator-it` and other options are `bigtable-prod-it` and `bigtable-directpath-it`.
+
+To use the `bigtable-prod-it` and `bigtable-directpath-it` environments:
+
+1. Set up the target table using scripts/setup-test-table.sh
+2. Download the JSON service account credentials file from the Google Developer's Console.
+3. Set the environment variable GOOGLE_APPLICATION_CREDENTIALS to the path of the credentials file
+4. Enable the profile and the system properties `bigtable.project`, `bigtable.instance`
+ and `bigtable.table` to created earlier. Example:
+ ```bash
+ mvn verify \
+ -P bigtable-prod-it \
+ -Dbigtable.project=my-project
+ -Dbigtable.instance=my-instance
+ -Dbigtable.table=my-table
+ ```
+
+While developing, it might be helpful to separate running unit tests from integration tests.
+
+```bash
+# To skip integration tests:
+mvn install -DskipITs
+
+# To skip unit tests
+mvn install -DskipUnitTests
+
+# To skip all tests
+mvn install -DskipTests
+```
\ No newline at end of file
diff --git a/README.md b/README.md
index 024b44f11d..a7a16a6039 100644
--- a/README.md
+++ b/README.md
@@ -7,8 +7,7 @@ Java idiomatic client for [Cloud Bigtable][cloud-bigtable].
[](https://www.codacy.com/app/mziccard/google-cloud-java)
- [Product Documentation][bigtable-product-docs]
-- [Client Library Documentation - Data API](https://googleapis.dev/java/google-cloud-clients/latest/com/google/cloud/bigtable/data/v2/package-summary.html)
-- [Client Library Documentation - Admin API](https://googleapis.dev/java/google-cloud-clients/latest/com/google/cloud/bigtable/admin/v2/package-summary.html)
+- [Client Library Documentation](https://googleapis.dev/java/google-cloud-bigtable/latest/index.html)
## Quickstart
@@ -18,16 +17,16 @@ If you are using Maven, add this to your pom.xml file
com.google.cloud
google-cloud-bigtable
- 1.6.0
+ 1.7.0
```
If you are using Gradle, add this to your dependencies
```Groovy
-compile 'com.google.cloud:google-cloud-bigtable:1.6.0'
+compile 'com.google.cloud:google-cloud-bigtable:1.7.0'
```
If you are using SBT, add this to your dependencies
```Scala
-libraryDependencies += "com.google.cloud" % "google-cloud-bigtable" % "1.6.0"
+libraryDependencies += "com.google.cloud" % "google-cloud-bigtable" % "1.7.0"
```
[//]: # ({x-version-update-end})
@@ -162,6 +161,8 @@ try {
}
```
+TIP: If you are experiencing version conflicts with gRPC, see [Version Conflicts](#version-conflicts).
+
## OpenCensus Tracing
Cloud Bigtable client supports [OpenCensus Tracing](https://opencensus.io/tracing/),
@@ -318,6 +319,33 @@ StackdriverStatsExporter.createAndRegister(
BigtableDataSettings.enableOpenCensusStats();
```
+## Version Conflicts
+
+google-cloud-bigtable depends on gRPC directly which may conflict with the versions brought
+in by other libraries, for example Apache Beam. This happens because internal dependencies
+between gRPC libraries are pinned to an exact version of grpc-core
+(see [here](https://github.com/grpc/grpc-java/commit/90db93b990305aa5a8428cf391b55498c7993b6e)).
+If both google-cloud-bigtable and the other library bring in two gRPC libraries that depend
+on the different versions of grpc-core, then dependency resolution will fail.
+The easiest way to fix this is to depend on the gRPC bom, which will force all the gRPC
+transitive libraries to use the same version.
+
+Add the following to your project's pom.xml.
+
+```
+
+
+
+ io.grpc
+ grpc-bom
+ 1.24.1
+ pom
+ import
+
+
+
+```
+
## Troubleshooting
To get help, follow the instructions in the [shared Troubleshooting
@@ -335,9 +363,6 @@ Java 7 or above is required for using this client.
This library follows [Semantic Versioning](http://semver.org/).
-It is currently in major version zero (`0.y.z`), which means that anything may
-change at any time and the public API should not be considered stable.
-
## Contributing
Contributions to this library are always welcome and highly encouraged.
diff --git a/google-cloud-bigtable-bom/pom.xml b/google-cloud-bigtable-bom/pom.xml
new file mode 100644
index 0000000000..cc74734ca5
--- /dev/null
+++ b/google-cloud-bigtable-bom/pom.xml
@@ -0,0 +1,116 @@
+
+
+ 4.0.0
+ com.google.cloud
+ google-cloud-bigtable-bom
+ 1.7.0
+ pom
+
+ com.google.cloud
+ google-cloud-shared-config
+ 0.2.1
+
+
+ Google Cloud Bigtable BOM
+ https://github.com/googleapis/java-bigtable
+
+ BOM for Google Cloud Bigtable
+
+
+
+ Google LLC
+
+
+
+
+ chingor13
+ Jeff Ching
+ chingor@google.com
+ Google LLC
+
+ Developer
+
+
+
+ igorberstein
+ Igor Bernstein
+ igorbernstein@google.com
+ Google LLC
+
+ Developer
+
+
+
+
+
+ scm:git:https://github.com/googleapis/java-bigtable.git
+ scm:git:git@github.com:googleapis/java-bigtable.git
+ https://github.com/googleapis/java-bigtable
+
+
+
+
+ sonatype-nexus-snapshots
+ https://oss.sonatype.org/content/repositories/snapshots
+
+
+ sonatype-nexus-staging
+ https://oss.sonatype.org/service/local/staging/deploy/maven2/
+
+
+
+
+
+ The Apache Software License, Version 2.0
+ http://www.apache.org/licenses/LICENSE-2.0.txt
+ repo
+
+
+
+
+
+
+ com.google.cloud
+ google-cloud-bigtable
+ 1.7.0
+
+
+ com.google.cloud
+ google-cloud-bigtable-emulator
+ 0.116.0
+
+
+ com.google.api.grpc
+ grpc-google-cloud-bigtable-admin-v2
+ 1.7.0
+
+
+ com.google.api.grpc
+ grpc-google-cloud-bigtable-v2
+ 1.7.0
+
+
+ com.google.api.grpc
+ proto-google-cloud-bigtable-admin-v2
+ 1.7.0
+
+
+ com.google.api.grpc
+ proto-google-cloud-bigtable-v2
+ 1.7.0
+
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-checkstyle-plugin
+
+ true
+
+
+
+
+
\ No newline at end of file
diff --git a/google-cloud-bigtable-emulator/pom.xml b/google-cloud-bigtable-emulator/pom.xml
index 00ba8c98be..ede19ae289 100644
--- a/google-cloud-bigtable-emulator/pom.xml
+++ b/google-cloud-bigtable-emulator/pom.xml
@@ -5,7 +5,7 @@
4.0.0
google-cloud-bigtable-emulator
- 0.115.0
+ 0.116.0
Google Cloud Java - Bigtable Emulator
https://github.com/googleapis/java-bigtable
@@ -14,7 +14,7 @@
com.google.cloud
google-cloud-bigtable-parent
- 1.6.0
+ 1.7.0
scm:git:git@github.com:googleapis/java-bigtable.git
diff --git a/google-cloud-bigtable/pom.xml b/google-cloud-bigtable/pom.xml
index 8d3ae2850a..23c66909d0 100644
--- a/google-cloud-bigtable/pom.xml
+++ b/google-cloud-bigtable/pom.xml
@@ -2,20 +2,25 @@
4.0.0
google-cloud-bigtable
- 1.6.0
+ 1.7.0
jar
Google Cloud Bigtable
- https://github.com/googleapis/google-cloud-java/tree/master/google-cloud-clients/google-cloud-bigtable
+ https://github.com/googleapis/java-bigtable
Java idiomatic client for Google Cloud Bigtable.
com.google.cloud
google-cloud-bigtable-parent
- 1.6.0
+ 1.7.0
google-cloud-bigtable
+
+
+ false
+ ${skipTests}
+
+ io.grpc
+ grpc-stub
+ runtime
+
io.grpc
grpc-api
@@ -162,11 +177,6 @@
truth
test
-
- io.grpc
- grpc-stub
- test
-
io.grpc
grpc-testing
@@ -206,9 +216,11 @@
emulator
- com.google.cloud.bigtable.data.v2.it.**
- com.google.cloud.bigtable.admin.v2.it.**
+
+ com.google.cloud.bigtable.**.it.*IT
+
${project.build.directory}/failsafe-reports/failsafe-summary-emulator-it.xml
+ ${project.build.directory}/failsafe-reports/emulator-it
@@ -232,11 +244,13 @@
- prod
+ cloud
- com.google.cloud.bigtable.data.v2.it.**
- com.google.cloud.bigtable.admin.v2.it.**
+
+ com.google.cloud.bigtable.**.it.*IT
+
${project.build.directory}/failsafe-reports/failsafe-summary-prod-it.xml
+ ${project.build.directory}/failsafe-reports/prod-it
@@ -260,17 +274,25 @@
- prod
+ cloud
true
+
+
+
+ testdirectpath-bigtable.sandbox.googleapis.com:443
+ test-bigtableadmin.sandbox.googleapis.com:443
bigtable
-
- com.google.cloud.bigtable.data.v2.it.**
+
+
+ com.google.cloud.bigtable.data.v2.it.*IT
+
${project.build.directory}/failsafe-reports/failsafe-summary-directpath-it.xml
+ ${project.build.directory}/failsafe-reports/directpath-it
@@ -313,31 +335,6 @@
-
-
- maven-clean-plugin
- 2.5
-
-
- clean-old-reports
-
- clean
-
- pre-integration-test
-
- true
-
-
- ${project.build.directory}/failsafe-reports
-
-
-
-
-
-
-
org.apache.maven.plugins
maven-failsafe-plugin
@@ -369,6 +366,8 @@
+
+ ${skipUnitTests}
+ 1.7.0
grpc-google-cloud-bigtable-admin-v2
GRPC library for grpc-google-cloud-bigtable-admin-v2
com.google.cloud
google-cloud-bigtable-parent
- 1.6.0
+ 1.7.0
diff --git a/grpc-google-cloud-bigtable-v2/pom.xml b/grpc-google-cloud-bigtable-v2/pom.xml
index 4de12ea8d2..1ebb1045cf 100644
--- a/grpc-google-cloud-bigtable-v2/pom.xml
+++ b/grpc-google-cloud-bigtable-v2/pom.xml
@@ -4,13 +4,13 @@
4.0.0
com.google.api.grpc
grpc-google-cloud-bigtable-v2
- 0.82.0
+ 1.7.0
grpc-google-cloud-bigtable-v2
GRPC library for grpc-google-cloud-bigtable-v2
com.google.cloud
google-cloud-bigtable-parent
- 1.6.0
+ 1.7.0
diff --git a/pom.xml b/pom.xml
index a35bf6d68c..2378b96b63 100644
--- a/pom.xml
+++ b/pom.xml
@@ -4,7 +4,7 @@
google-cloud-bigtable-parent
pom
- 1.6.0
+ 1.7.0
Google Cloud Bigtable Parent
https://github.com/googleapis/java-bigtable
@@ -154,11 +154,12 @@
https://googleapis.dev/java/google-api-grpc/latest
1.7
- 1.49.1
+ 1.50.0
1.8.1
1.17.0
1.91.3
- 1.24.1
+
+ 1.25.0
28.1-android
0.24.0
3.10.0
@@ -194,27 +195,27 @@
com.google.cloud
google-cloud-bigtable-emulator
- 0.115.0
+ 0.116.0
com.google.api.grpc
grpc-google-cloud-bigtable-admin-v2
- 0.82.0
+ 1.7.0
com.google.api.grpc
grpc-google-cloud-bigtable-v2
- 0.82.0
+ 1.7.0
com.google.api.grpc
proto-google-cloud-bigtable-admin-v2
- 0.82.0
+ 1.7.0
com.google.api.grpc
proto-google-cloud-bigtable-v2
- 0.82.0
+ 1.7.0
@@ -380,6 +381,7 @@
grpc-google-cloud-bigtable-admin-v2
google-cloud-bigtable
google-cloud-bigtable-emulator
+ google-cloud-bigtable-bom
diff --git a/proto-google-cloud-bigtable-admin-v2/pom.xml b/proto-google-cloud-bigtable-admin-v2/pom.xml
index be1244d80f..23476197cc 100644
--- a/proto-google-cloud-bigtable-admin-v2/pom.xml
+++ b/proto-google-cloud-bigtable-admin-v2/pom.xml
@@ -4,13 +4,13 @@
4.0.0
com.google.api.grpc
proto-google-cloud-bigtable-admin-v2
- 0.82.0
+ 1.7.0
proto-google-cloud-bigtable-admin-v2
PROTO library for proto-google-cloud-bigtable-admin-v2
com.google.cloud
google-cloud-bigtable-parent
- 1.6.0
+ 1.7.0
diff --git a/proto-google-cloud-bigtable-v2/pom.xml b/proto-google-cloud-bigtable-v2/pom.xml
index f86dd1be57..4d404e0162 100644
--- a/proto-google-cloud-bigtable-v2/pom.xml
+++ b/proto-google-cloud-bigtable-v2/pom.xml
@@ -4,13 +4,13 @@
4.0.0
com.google.api.grpc
proto-google-cloud-bigtable-v2
- 0.82.0
+ 1.7.0
proto-google-cloud-bigtable-v2
PROTO library for proto-google-cloud-bigtable-v2
com.google.cloud
google-cloud-bigtable-parent
- 1.6.0
+ 1.7.0
diff --git a/google-cloud-bigtable/scripts/setup-test-table.sh b/scripts/setup-test-table.sh
similarity index 74%
rename from google-cloud-bigtable/scripts/setup-test-table.sh
rename to scripts/setup-test-table.sh
index 6321c1154c..c8bb1e2a62 100755
--- a/google-cloud-bigtable/scripts/setup-test-table.sh
+++ b/scripts/setup-test-table.sh
@@ -36,13 +36,7 @@ for ADMIN_HOST in "${ADMIN_HOSTS[@]}"; do
fi
# Ensure that the table exists
- if ! call_cbt -instance ${INSTANCE_ID} ls | grep -q "^${TABLE_ID}\$"; then
- call_cbt createtable ${TABLE_ID}
- fi
-
- # Ensure that the family exists
- if ! call_cbt ls "${TABLE_ID}" | grep -q "^$FAMILY\b"; then
- call_cbt createfamily "${TABLE_ID}" "${FAMILY}"
- call_cbt setgcpolicy "${TABLE_ID}" "${FAMILY}" maxversions=1 maxage=1h
+ if ! call_cbt -instance "$INSTANCE_ID" ls | grep -q "^${TABLE_ID}\$"; then
+ call_cbt createtable "$TABLE_ID" "families=$FAMILY:maxversions=1||maxage=1h"
fi
done
diff --git a/synth.metadata b/synth.metadata
index 2071b47d87..3b7fe802cc 100644
--- a/synth.metadata
+++ b/synth.metadata
@@ -1,19 +1,19 @@
{
- "updateTime": "2019-10-23T07:53:18.358413Z",
+ "updateTime": "2019-10-26T07:53:02.643440Z",
"sources": [
{
"generator": {
"name": "artman",
- "version": "0.40.2",
- "dockerImage": "googleapis/artman@sha256:3b8f7d9b4c206843ce08053474f5c64ae4d388ff7d995e68b59fb65edf73eeb9"
+ "version": "0.40.3",
+ "dockerImage": "googleapis/artman@sha256:c805f50525f5f557886c94ab76f56eaa09cb1da58c3ee95111fd34259376621a"
}
},
{
"git": {
"name": "googleapis",
"remote": "https://github.com/googleapis/googleapis.git",
- "sha": "0d0dc5172f16c9815a5eda6e99408fb96282f608",
- "internalRef": "276178557"
+ "sha": "d27a44798506d28e8e6d874bd128da43f45f74c4",
+ "internalRef": "276716410"
}
},
{
diff --git a/versions.txt b/versions.txt
index 91d60a313b..9bc4b483e2 100644
--- a/versions.txt
+++ b/versions.txt
@@ -1,9 +1,9 @@
# Format:
# module:released-version:current-version
-google-cloud-bigtable:1.6.0:1.6.0
-grpc-google-cloud-bigtable-admin-v2:0.82.0:0.82.0
-grpc-google-cloud-bigtable-v2:0.82.0:0.82.0
-proto-google-cloud-bigtable-admin-v2:0.82.0:0.82.0
-proto-google-cloud-bigtable-v2:0.82.0:0.82.0
-google-cloud-bigtable-emulator:0.115.0:0.115.0
+google-cloud-bigtable:1.7.0:1.7.0
+grpc-google-cloud-bigtable-admin-v2:1.7.0:1.7.0
+grpc-google-cloud-bigtable-v2:1.7.0:1.7.0
+proto-google-cloud-bigtable-admin-v2:1.7.0:1.7.0
+proto-google-cloud-bigtable-v2:1.7.0:1.7.0
+google-cloud-bigtable-emulator:0.116.0:0.116.0