migrate code from googleapis/nodejs-bigtable#7852
migrate code from googleapis/nodejs-bigtable#7852GautamSharda wants to merge 930 commits intomainfrom
Conversation
| } | ||
|
|
||
| static createPrefixRange(start: string): PrefixRange { | ||
| const prefix = start.replace(new RegExp('[\xff]+$'), ''); |
Check failure
Code scanning / CodeQL
Polynomial regular expression used on uncontrolled data
| userOptions: this.options, | ||
| }, | ||
| ) as string; | ||
| this.qualifiers = this.family![qualifierName] = |
Check warning
Code scanning / CodeQL
Prototype-polluting assignment
| this.projectId, | ||
| undefined, | ||
| ); | ||
| Object.assign(clusters[(cluster as ClusterInfo).id!], { |
Check warning
Code scanning / CodeQL
Prototype-polluting assignment
| } | ||
|
|
||
| if (family! && qualifierName) { | ||
| qualifier = family![qualifierName] = family![qualifierName] || []; |
Check warning
Code scanning / CodeQL
Prototype-polluting assignment
09cbb3d to
c085b4d
Compare
fc33d5e to
033fe4f
Compare
033fe4f to
b142b07
Compare
| repository: googleapis/cloud-bigtable-clients-test | ||
| ref: main | ||
| path: cloud-bigtable-clients-test | ||
| path: handwritten/bigtable/cloud-bigtable-clients-test |
There was a problem hiding this comment.
- For both of this actions lets set the paths, top-level, so that they are only triggered with changes to this directory.
- I think we should prefix each of these workflow file names to
bigtable-*so that we know without reading the file that they relate to bigtable. - Instead of updating the paths you can set the default working-directory for all steps in the action, lets do that instead.
There was a problem hiding this comment.
- Done
- I don't want to do this in this PR because that could break things if we don't also change references to these workflow file names. That seems like unnecessary risk for now given that the other repos we migrated that had conformance tests are not following the proposed naming convention. Perhaps, instead, we could file a bug to change all these names later.
- Done.
| '.kokoro/samples-test.sh', # get to green | ||
| '.kokoro/system-test.sh', | ||
| '.kokoro/test.sh', | ||
| '.mocharc.js', |
There was a problem hiding this comment.
We are now excluding copying this file but I see changes to it above. Is that intentional?
There was a problem hiding this comment.
A change to this file is necessary and I don't want owlbot to overwrite my change.
handwritten/bigtable/README.md
Outdated
| ``` | ||
|
|
||
|
|
||
| ### Using the client library |
There was a problem hiding this comment.
Are we sure we want all of these changes to the README? I am mostly concerned about losing this quickstart and linking to the generated samples instead of the handwritten ones. I wonder if this file should be excluded from copying.
There was a problem hiding this comment.
Sorry -- good catch -- we don't want these changes and I have now preserved the original README.
| @@ -0,0 +1,179 @@ | |||
| // Copyright 2026 Google LLC | |||
There was a problem hiding this comment.
Why are these chnages in your commit. Did something strange happen to the history? Also notice firestore changes.
There was a problem hiding this comment.
Good catch -- I did not squash my commits correctly. Now, the history should be good.
b142b07 to
09cbb3d
Compare
| runs-on: ubuntu-latest | ||
| defaults: | ||
| run: | ||
| working-directory: handwritten/bigtable | ||
| strategy: | ||
| matrix: | ||
| node: [ 18, 20 ] | ||
| steps: | ||
| - uses: actions/checkout@v4 | ||
| - uses: actions/checkout@v4 | ||
| with: | ||
| repository: googleapis/cloud-bigtable-clients-test | ||
| ref: main | ||
| path: handwritten/bigtable/cloud-bigtable-clients-test | ||
| - uses: actions/setup-node@v3 | ||
| with: | ||
| node-version: ${{ matrix.node }} | ||
| - uses: actions/setup-go@v5 | ||
| with: | ||
| go-version: '>=1.20.2' | ||
| - run: chmod +x .kokoro/conformance.sh | ||
| - run: npm install | ||
| - run: go version | ||
| - run: .kokoro/conformance.sh |
Check warning
Code scanning / CodeQL
Workflow does not contain permissions Medium
| runs-on: ubuntu-latest | ||
| defaults: | ||
| run: | ||
| working-directory: handwritten/bigtable | ||
| strategy: | ||
| matrix: | ||
| node: [ 18, 20 ] | ||
| steps: | ||
| - uses: actions/checkout@v4 | ||
| - uses: actions/checkout@v4 | ||
| with: | ||
| repository: googleapis/cloud-bigtable-clients-test | ||
| ref: v0.0.3 | ||
| path: handwritten/bigtable/cloud-bigtable-clients-test | ||
| - uses: actions/setup-node@v3 | ||
| with: | ||
| node-version: ${{ matrix.node }} | ||
| - uses: actions/setup-go@v5 | ||
| with: | ||
| go-version: '>=1.20.2' | ||
| - run: chmod +x .kokoro/mandatory-conformance.sh | ||
| - run: npm install | ||
| - run: go version | ||
| - run: .kokoro/mandatory-conformance.sh No newline at end of file |
Check warning
Code scanning / CodeQL
Workflow does not contain permissions Medium
1c1f62b to
55b21c9
Compare
Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
* fix: manual generate library for ongoing stream on closed client * 🦉 Updates from OwlBot See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
🤖 I have created a release *beep* *boop* --- ### [3.9.2](googleapis/nodejs-bigtable@v3.9.1...v3.9.2) (2022-02-03) ### Bug Fixes * manual generate library for ongoing stream on closed client ([#1011](googleapis/nodejs-bigtable#1011)) ([b6fec4c](googleapis/nodejs-bigtable@b6fec4c)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
…andwritten libraries (#1017) feat: add WarmAndPing request for channel priming PiperOrigin-RevId: 428795660 Source-Link: googleapis/googleapis@6cce671 Source-Link: googleapis/googleapis-gen@2282bc1 Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiMjI4MmJjMWIwODEzNjRlYTc4MzMwMGJlOTFhOGMxNGNiNGE3MThjNCJ9 See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md PiperOrigin-RevId: 429395631 Source-Link: googleapis/googleapis@84594b3 Source-Link: googleapis/googleapis-gen@ed74f97 Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiZWQ3NGY5NzBmZDgyOTE0ODc0ZTZiMjdiMDQ3NjNjZmE2NmJhZmU5YiJ9 See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com> Co-authored-by: Daniel Bruce <djbruce@google.com>
* fix: fix createReadStream retry from sending a full table scan * update comments * add a comment and remove unnecessary if condition * More clean up * lint
🤖 I have created a release *beep* *boop* --- ### [3.9.3](googleapis/nodejs-bigtable@v3.9.2...v3.9.3) (2022-03-16) ### Bug Fixes * fix createReadStream retry from sending a full table scan ([#1026](googleapis/nodejs-bigtable#1026)) ([f926992](googleapis/nodejs-bigtable@f926992)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
#1029) * fix: do not cancel stream after server returned ok or cancelled status * remove comment * lint * lint
🤖 I have created a release *beep* *boop* --- ### [3.9.4](googleapis/nodejs-bigtable@v3.9.3...v3.9.4) (2022-03-16) ### Bug Fixes * do not cancel stream after server returned ok or cancelled status ([#1029](googleapis/nodejs-bigtable#1029)) ([33754a2](googleapis/nodejs-bigtable@33754a2)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
- [ ] Regenerate this pull request now. Committer: @summer-ji-eng PiperOrigin-RevId: 434859890 Source-Link: googleapis/googleapis@bc2432d Source-Link: googleapis/googleapis-gen@930b673 Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiOTMwYjY3MzEwM2U5MjUyM2Y4Y2ZlZDM4ZGVjZDdkM2FmYWU4ZWJlNyJ9
* chore(deps): update dependency gts to v3 * 🦉 Updates from OwlBot See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com> Co-authored-by: Benjamin E. Coe <bencoe@google.com> Co-authored-by: danieljbruce <danieljbruce@users.noreply.github.com>
- [ ] Regenerate this pull request now. PiperOrigin-RevId: 436758628 Source-Link: googleapis/googleapis@92ab86a Source-Link: googleapis/googleapis-gen@931ef11 Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiOTMxZWYxMTRkNWY4NDVhYmYxMTdiZjhlMGEyOTgzNmNhMzAwYjY5NCJ9
… readRows (#1060) * fix: add rpc level retries for mutate * remove debugging logs * add exponential backoff * simplify mutate row retry logic * fix broken tests * ignore checks for retry options * fix lint * comments * reset retry after a succee response * fix lint * fix system test * clean up * add rpc status in mutate rows, and remove http status * remove unnecessary check * remove decorate status * update * fix * correct retry count
#1667) ## Description This change is a follow-up to https://togithub.com/googleapis/nodejs-bigtable/pull/1662/files where we discussed maybe a comment would be helpful for this test. ## Impact Better test readability ## Testing Just comments added
…s used when writing the metrics (#1671) ## Description Adds a test to make sure the universe domain is used when writing metrics. ## Impact Adds a test to ensure metrics are always written to the right place when universe domain is provided. ## Testing Assuming the MetricServiceClient is working properly, this test ensures that universe domain is passed to the metric service client so that metrics will be written to the universe domain endpoint. An even better test would be to set up a project at a different universe domain and check it for metrics after a write to ensure the metrics are actually getting written there, but that setup is a pretty heavy lift. I think the current test gives us enough confidence that the test is working correctly.
…re needed (#1645) ## Description The comments in [this discussion](https://togithub.com/googleapis/nodejs-bigtable/pull/1639#pullrequestreview-3044883797) should be addressed in this PR. ## Impact Makes code cleaner. ## Testing This is just a follow-up on a PR.
… getInstance calls (#1606) ## Description This test confirms that errors will bubble up to the user for getInstances calls which allows us to close b/388499540 as not reproducible. ## Impact Just adding a test to confirm correct client library behaviour ## Additional Information Two files were edited: - One is the test file where we added the new test - The other is the file that defines mock services where we needed to add a mock service for the admin client
## Description
The client side metrics should be enabled by default
## Impact
To meet user needs. Get them using client side metrics by default.
## Testing
The system tests are already a good smoke test. They will start collecting metrics and they will tell us if there is a problem.
Some conformance tests fail due to connection issues when you turn the metrics on though so conformance test changes are necessary. We have to make it so that they don't try to send metrics due to connection issues with the test proxy environment. Here were the failures below:
=== RUN TestReadRows_Generic_CloseClient
(node:4514) MetadataLookupWarning: received unexpected error = All promises were rejected code = UNKNOWN
[Servr log] 2025/08/20 20:02:20 There is 2s sleep on the server side
[Servr log] 2025/08/20 20:02:20 There is 2s sleep on the server side
[Servr log] 2025/08/20 20:02:20 There is 2s sleep on the server side
(node:4514) MetadataLookupWarning: received unexpected error = All promises were rejected code = UNKNOWN
/home/runner/work/nodejs-bigtable/nodejs-bigtable/node_modules/google-gax/node_modules/google-auth-library/build/src/auth/googleauth.js:284
throw new Error(exports.GoogleAuthExceptionMessages.NO_ADC_FOUND);
^
Error: Could not load the default credentials. Browse to https://cloud.google.com/docs/authentication/getting-started for more information.
at GoogleAuth.getApplicationDefaultAsync (/home/runner/work/nodejs-bigtable/nodejs-bigtable/node_modules/google-gax/node_modules/google-auth-library/build/src/auth/googleauth.js:284:15)
at async #determineClient (/home/runner/work/nodejs-bigtable/nodejs-bigtable/node_modules/google-gax/node_modules/google-auth-library/build/src/auth/googleauth.js:732:36)
at async GoogleAuth.getClient (/home/runner/work/nodejs-bigtable/nodejs-bigtable/node_modules/google-gax/node_modules/google-auth-library/build/src/auth/googleauth.js:709:20)
at async GrpcClient._getCredentials (/home/runner/work/nodejs-bigtable/nodejs-bigtable/node_modules/google-gax/build/src/grpc.js:192:24)
at async GrpcClient.createStub (/home/runner/work/nodejs-bigtable/nodejs-bigtable/node_modules/google-gax/build/src/grpc.js:373:23)
Node.js v20.19.4
test_workflow.go:134: The RPC to test proxy encountered error: rpc error: code = Unavailable desc = error reading from server: read tcp 127.0.0.1:48370->127.0.0.1:9999: read: connection reset by peer
test_workflow.go:134: The RPC to test proxy encountered error: rpc error: code = Unavailable desc = error reading from server: read tcp 127.0.0.1:48370->127.0.0.1:9999: read: connection reset by peer
test_workflow.go:134: The RPC to test proxy encountered error: rpc error: code = Unavailable desc = error reading from server: read tcp 127.0.0.1:48370->127.0.0.1:9999: read: connection reset by peer
test_workflow.go:81: cbt client closing failed: rpc error: code = Unavailable desc = error reading from server: read tcp 127.0.0.1:48370->127.0.0.1:9999: read: connection reset by peer
test_workflow.go:81: cbt client closing failed: rpc error: code = Unavailable desc = connection error: desc = "transport: Error while dialing: dial tcp :9999: connect: connection refused"
--- FAIL: TestReadRows_Generic_CloseClient (1.12s)
=== RUN TestReadRows_Generic_DeadlineExceeded
test_workflow.go:68: cbt client creation failed: rpc error: code = Unavailable desc = connection error: desc = "transport: Error while dialing: dial tcp :9999: connect: connection refused"
--- FAIL: TestReadRows_Generic_DeadlineExceeded (0.00s)
=== RUN TestSampleRowKeys_Generic_MultiStreams
test_workflow.go:68: cbt client creation failed: rpc error: code = Unavailable desc = connection error: desc = "transport: Error while dialing: dial tcp :9999: connect: connection refused"
--- FAIL: TestSampleRowKeys_Generic_MultiStreams (0.00s)
=== RUN TestSampleRowKeys_Generic_DeadlineExceeded
test_workflow.go:68: cbt client creation failed: rpc error: code = Unavailable desc = connection error: desc = "transport: Error while dialing: dial tcp :9999: connect: connection refused"
--- FAIL: TestSampleRowKeys_Generic_DeadlineExceeded (0.00s)
FAIL
🤖 I have created a release *beep* *boop* --- ## [6.4.0](https://togithub.com/googleapis/nodejs-bigtable/compare/v6.3.0...v6.4.0) (2025-08-21) ### Features * Enable csm by default ([#1695](https://togithub.com/googleapis/nodejs-bigtable/issues/1695)) ([9744aa3](https://togithub.com/googleapis/nodejs-bigtable/commit/9744aa355e87c2170019c52b58d1045160f19e7c)) * For application latencies timed stream a few cosmetic changes are needed ([#1645](https://togithub.com/googleapis/nodejs-bigtable/issues/1645)) ([75d1a6f](https://togithub.com/googleapis/nodejs-bigtable/commit/75d1a6f5bc8d8cd74214bdf3c9db9d06786f9575)) --- This PR was generated with [Release Please](https://togithub.com/googleapis/release-please). See [documentation](https://togithub.com/googleapis/release-please#release-please).
…dmin client, not the handwritten layer (#1697) * Export the GCRuleMaker class * Use the admin client for the first sample * feat: updated samples to use GCRuleMaker * feat: updated samples to use GCRuleMaker * feat: Update restoreTable sample to use generated client This commit updates the `backups.restore.js` sample to use the `BigtableTableAdminClient` directly for restoring a table from a backup, instead of going through the handwritten `bigtable.instance().createTableFromBackup()` method. This change is based on the design document for the Node.js Bigtable Admin API autogeneration. The corresponding test for the sample in `samples/test/backups.js` has also been updated to pass the correct arguments to the updated sample script. * table id to table name * The rule should be a union - not nested instance of the admin client should be used * Use instance of admin client - not admin client itself * Update the rules so they won’t throw errors * change family.id to family.name * max age has to be at least 1 millisecond * Run linter * Refresh project id token * Get rid of projectId token * revert change to backups method called * Use the admin client for createTable instead * snippets should include admin client * This code snippet should include project fetch * Comment out options * Use the admin client to create a table * Use the generated layer for maxVersions * Don’t use instance.name in parent path * Update the family snippets * Update createTable in the Row samples * Eliminate the need for any default projectId fetch * Don’t hardcode the project id * don’t hardcode project id * commit examples * Don’t create table twice * options is not used. remove it * table admin * Hardcode instance name * delete the examples folder * remove options * add header --------- Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
…o avoid segfault (#1715)
🤖 I have created a release *beep* *boop* --- ## [6.4.1](https://togithub.com/googleapis/nodejs-bigtable/compare/v6.4.0...v6.4.1) (2025-09-09) ### Bug Fixes * Directly import JS-native impl for crc32c on non-x64 platforms to avoid segfault ([#1715](https://togithub.com/googleapis/nodejs-bigtable/issues/1715)) ([9848963](https://togithub.com/googleapis/nodejs-bigtable/commit/98489637befe779df0438f466eecb0428222a29a)) --- This PR was generated with [Release Please](https://togithub.com/googleapis/release-please). See [documentation](https://togithub.com/googleapis/release-please#release-please).
Source-Link: googleapis/synthtool@bfba274 Post-Processor: gcr.io/cloud-devrel-public-resources/owlbot-nodejs:latest@sha256:da8a4a745d5eb96f07fa99a550afe49ac80dcd9b93a8d914e4f1f6f1cda653ff Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
This PR contains the following updates: | Package | Change | Age | Confidence | |---|---|---|---| | [arrify](https://redirect.github.com/sindresorhus/arrify) | [`2.0.0` -> `2.0.1`](https://renovatebot.com/diffs/npm/arrify/2.0.0/2.0.1) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>sindresorhus/arrify (arrify)</summary> ### [`v2.0.1`](https://redirect.github.com/sindresorhus/arrify/releases/tag/v2.0.1) [Compare Source](https://redirect.github.com/sindresorhus/arrify/compare/v2.0.0...v2.0.1) - TypeScript - Fix handling of union types ([#​11](https://redirect.github.com/sindresorhus/arrify/issues/11)) [`e044bd1`](https://redirect.github.com/sindresorhus/arrify/commit/e044bd1) - TypeScript - Add overload for `ReadonlyArray` ([#​7](https://redirect.github.com/sindresorhus/arrify/issues/7)) [`f789ce5`](https://redirect.github.com/sindresorhus/arrify/commit/f789ce5) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 9am and before 3pm" (UTC), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/googleapis/nodejs-bigtable). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMzguMCIsInVwZGF0ZWRJblZlciI6IjQxLjE3LjIiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbXX0=-->
…1739) * build: speculative owlbot.py changes for merging selective clients * test: perhaps trigger owlbot * test: update owlbot staging * build: fix admin excludes and class copying * fix: remove previously added admin clients * build: add new paths for admin clients * fix: shim the old admin locations for now * build: bug fixes, json munging * build: update to owlbot.py processing to fix import errors; typo in test/index.ts * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md * build: remove extraneous admin samples from v2 * build: remove commented out debug code, fix comment --------- Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
* build: generated admin sample support * samples: run owlbot update for samples
…or now (#1743) * build: disable docs test, disable non-critical conformance failures for now * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md * build: move docs change to package.json, add exit 0 * build: bit more heavy-handed attempt to get ci.yaml modified * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md * build: exclude ci.yaml in the right place, try disabling pipefail --------- Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
Source-Link: googleapis/synthtool@36ebc33 Post-Processor: gcr.io/cloud-devrel-public-resources/owlbot-nodejs:latest@sha256:1c50961ec998cd24968d5b2628e8d88a36b612ea881e71bfd171c93cc9d08b9e Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
…code number (#1754) * add the repro code * Adjust the test fixtures * remove the experiment test file * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md * Adjust metrics handler test fixture * Change system test fixtures * Remove only * Change status to OK * Remove only --------- Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
…cloud/bigtable not the customer package version (#1752) ## Description A bug was discovered where the client side metrics being recorded on the backend service had the wrong version number. The version number being recorded actually matched the version number on the customer's package.json file instead of the version number of the Node Bigtable package being used. To correct this, the line of code at https://togithub.com/googleapis/nodejs-bigtable/blob/2a960922747ed0f8d0e798113fd4434852382217/src/client-side-metrics/operation-metrics-collector.ts#L52 which is currently reading the package.json file relative to the working directory of the node process should instead read the package.json file location relative to the location of operation-metrics-collector.ts so that the version number of the Node Bigtable dependency is always recorded instead of the version number from the customer's package.json file. ## Impact Corrects the bug and ensures that the right version number is always recorded for client side metrics. ## Files affected **samples/readSnippets:** A code snippet that will run in the samples test and fail if the metrics handler receives the wrong version of the client library **samples/test/reads.js:** The new samples test that runs the code snippet in readSnippets and fails if the metrics handler receives the wrong version of the client library **src/client-side-metrics/operation-metrics-collector.ts:** The source code changes that ensure the version number recorded will always match the Bigtable client library version number **test-common/test-metrics-handler.ts:** A new class, similar to the existing class for testing data sent to the metrics handler that also preserves the version name when it reaches the metrics handler ## Testing A new system test or unit test will not catch this bug since their working directories all reference the package.json file in the nodejs-bigtable project. So instead, I created a fake customer project with the script from https://gist.github.com/danieljbruce/bba73fa5d9919866d82b8968ceb45cc3 which gets the wrong version number at https://togithub.com/googleapis/nodejs-bigtable/blob/2a960922747ed0f8d0e798113fd4434852382217/src/client-side-metrics/operation-metrics-collector.ts#L52, but gets the right version number when this line of code is corrected with the changes in this PR. I also found a way to create a samples test which will fail without the source code changes from this PR. It should ensure going forward that the right version gets recorded for client side metrics.
…Id calls with the metric service client (#1757) ## Description The project id being recorded for client side metrics is incorrect. The client side metrics monitoring tests are showing that the project id the metrics get recorded for does not actually match the project id the client makes a grpc call for. Specifically, values recorded for `bigtable.googleapis.com/frontend_server/handler_latencies` don't match values recorded for `bigtable.googleapis.com/internal/client/attempt_latencies`, but they should match. There is some speculation that since `getProjectId` calls on the `MetricServiceClient` determine the projectId recorded for client side metrics that the incorrect projectId is due to the differences between this `getProjectId` call on the `MetricServiceClient` and the way the project id is fetched on the Bigtable client. Therefore, we introduce this PR to record a projectId that is certain to be an exact match of the project id on the Bigtable client. ## Impact This has a high probability of correcting the project id for the client side metrics ## Testing The fixtures have changed to accommodate for the fact that we now pass the projectId through the OTEL stack.
* feat: update from selective gapic updates * feat: work in progress on updated admin tools * feat: update proposed gcrule builder * feat: more updates on the CUJs * feat: updates from comments on new modernization features * fix: implement the rest of the old GcRule rules * fix: clean up waitForConsistency * docs: typo * fix: a couple more pieces of backwards compat * samples: don't publish data plane generated samples * feat: move admin builder methods to be more namespaced * fix: updated GcRuleBuilder import * build: transform class names for selective gapic * feat: adjust BigtableAdmin for recent doc updates * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md * fix: owlbot.py updates and resulting fixes * feat: improve the type safety of GcRuleBuilder and add tests * tests: add tests for TableAdmin * samples: update GcRule samples for GcRuleBuilder * chore: bump dates in headers for year rollover * feat: allow the user to pass in an existing wait token * docs: exclude implementation comment from jsdocs * docs: wordsmithing for GcRuleBuilder errors * tests: add system tests for consistency tokens via gapic * chore: linter nits * tests: finish up system tests for gapic backups * tests: bug fixes for waitForConsistency system tests * samples: update existing samples to use selective gapic classes * samples: update samples for veneer functions for waiting consistency and restore optimization * build: tweak sample tag for internal sample * samples: fix tag munging for restoreTable * tests: keep random position test more in line with fixed position test * fix: just keep one set of client options for the admin wrapper --------- Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
* chore(main): release 6.5.0 * docs: update CHANGELOG.md --------- Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com> Co-authored-by: feywind <57276408+feywind@users.noreply.github.com>
…around quotas and timeouts (#1759)
* tests: also disable 'node18' tests in continuous/nightly for now * tests: exclude changes in owlbot * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md * chore: revert "🦉 Updates from OwlBot post-processor" This reverts commit 1a6bdcbd68da796d9b3d3eb425b08bd4a54bf797. --------- Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
* tests: fix TestMutateRow_Generic_DeadlineExceeded * tests: fix TestReadRow_Generic_DeadlineExceeded * tests: wip on shifting test harness to TS * wip: work in progress on updating testproxy * tests: most of the conversion to typescript * tests: testproxy mostly working in TS now * chore: update copyrights * build: actually compile testproxy protos * chore: fix linting issues * tests: finish updating types for proxy unit tests * chore: more linting and types * tests: revert some typing changes * chore: still yet more joy of linting * tests: fix/bypass unit test issues caused by "tests: fix TestReadRow_Generic_DeadlineExceeded" (unit tests didn't match conformance test expectations) * chore: lint * tests: update known failures and unsupported conformance tests * chore: self-review from the branch * chore: remove testlog * chore: revert "tests: fix TestMutateRow_Generic_DeadlineExceeded" This reverts commit 76ac50c903f282d8c716f74bd534d60443cb3d6f. * chore: revert "tests: fix TestReadRow_Generic_DeadlineExceeded" This reverts commit f18d7b2ce43359cad3a2c50cce77f3fc810361db. * chore: revert "tests: fix/bypass unit test issues caused by "tests: fix TestReadRow_Generic_DeadlineExceeded"" This reverts commit 86c535ad5e5e3f8f41dcf67847cc32373729c812. * chore: more cleanup of reverted stuff * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md * tests: fix lost close() during close test * chore: restore protos owlbot broke * chore: ignore log files in testproxy * build: separate testproxy protos * chore: move imports to point at new testproxy protos * build: include testproxy protos in build/ * tests: another broken usage of getBigtableClient * tests: fix testproxy regressions around client close * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md * tests: move CI tests to a less crowded zone * chore: restore custom endpoint port logic * chore: fully restore the port logic * tests: move everything to central2 for system tests * tests: remap zones to try to resolve backup test issues * tests: update snapshots with correct regions * tests: missed snapshot update * tests: remove added clientConfig and change how it's passed in --------- Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
* tests: roll cumulative test fixes from https://github.com/googleapis/nodejs-bigtable/tree/conformance-fixes-2 (manually due to merging errors) * chore: remove empty file * tests: change 'closed' wording to match previously expected wording * tests: also handle the stream mode being closed already * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md * tests: remove extraneous bigtable.close() call * tests: put back the other close line, and add a comment about why it looks duplicate --------- Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
…deprecation to false to not crash test due to deprecated dep (punycode), exclude .mocharc and readme from owlbot
55b21c9 to
3d079d1
Compare
nextQuerydocs & annotate arrays correctly (docs: removenextQuerydocs & annotate arrays correctly #1559)nextQuery#99)npm ciin synth script (Removing more process #226)generation#358).save()through the datastore abstraction #384)decode: falseoption is set in createReadStream. (Storage: implement channels #403)on()way of iterating. #673)system-test/fixturesto.eslintignore(#1351)anytyped data structures (#1498)nextQuerydocs & annotate arrays correctly #1559)Thank you for opening a Pull Request! Before submitting your PR, there are a few things you can do to make sure it goes smoothly:
Fixes #<issue_number_goes_here> 🦕