Commit Graph

2796 Commits

Author SHA1 Message Date
George Kampitakis e2a93d188a
fix: support authority overrides in the DNS resolver 2024-06-18 18:41:47 +01:00
Michael Lumish 7ecaa2d2dc grpc-js: Bump to 1.10.9 2024-06-07 10:52:50 -07:00
David Fiala 98cd87f751
ensure that client keepalive timers are always cleared when they trigger. this is a necessary change to fit with having removed keepaliveDisabled boolean. manually inspected test logs for both server.ts and transport.ts to verify both types of keepalives are operating correctly. 2024-06-06 22:57:13 -07:00
Michael Lumish e64d816d7d grpc-js: Avoid buffering significantly more than max_receive_message_size per received message (1.10.x) 2024-06-06 15:00:23 -07:00
David Fiala 3c5ab229b1 per discussion, avoid tracking keepalive disabled state and instead depend on whether the session is destroyed 2024-06-05 19:01:02 -07:00
Michael Lumish 7719e37c83 grpc-js: Fix client hang when receiving extra messages for a unary response 2024-06-05 17:55:56 -07:00
David Fiala c2da436a8e remove keepaliveDisabled from server.ts. rename keepaliveTimer. 2024-05-29 15:09:55 -07:00
David Fiala a77d94f7c6 Based on grpc/grpc-node#2139 I wrapped http2session.ping in a try-catch block again 2024-05-29 10:37:40 -07:00
Brendan Myers 8e2dc274a3 fix: add decoding for url encoded user credentials 2024-05-29 19:24:48 +10:00
David Fiala d325b5fff3 hoist in second location 2024-05-28 22:46:48 -07:00
David Fiala bed5e85af9 resolve hoisting 2024-05-28 22:43:51 -07:00
David Fiala 19cdc1233c another missing trace message for parity 2024-05-28 22:37:24 -07:00
David Fiala 7883164137 return imports back to original order 2024-05-28 22:35:40 -07:00
David Fiala 577b4b4748 add keepalive server trace back in to match channelz vs non-channelz trace behavior 2024-05-28 22:32:09 -07:00
David Fiala d799a7a5bd unify server and client keepalive matching comments and discussion on first round of review from https://github.com/grpc/grpc-node/pull/2760 2024-05-28 22:26:25 -07:00
David Fiala 334f0dcdb5 remove comment 2024-05-28 14:58:59 -07:00
David Fiala ad598ecbe4 Serverside keepalive error detection and cleanups
- Bugfix: Ensure that if session.ping returns false we correctly identify fail the keepalive and connection
- Bugfix: Ensure that if the interval between keepalives being sent occurs faster than the prior keepalive's timeout that we do not overwrite the reference to the prior timeout. Prior implementation could have in theory prevented a valid keepalive timeout from clearing itself. This rewrite keeps every timeout as a local (vs a shared state per session). Even if the timeout outlives the lifetime of a session, we still guard against errors by checking that the parent interval is not false-y. I reckon this could result in a short-term memory leak per session which is bounded for a maximum of keepaliveTimeoutMs. On the other hand even with that potential for a short reference hold, this implementation proposed here is more correct I think. One alternative we could do is keep a list of pending timeouts.. which is complex for a rare situation that will self resolve anyhow when keepaliveTimeoutMs is reached.
- Bug Fix: keepalive intervals were being cleared with an incorrect clearTimeout before. Not sure if this was causing intervals leaks in some nodejs impls or not. (v20.13.1 seems to accept this mismatch without issue)
- Rename variables for clarity, to prevent future bugs like swapping clearInterval vs clearTimeout.
- Implementation is repeated in two places, per warning from https://github.com/grpc/grpc-node/pull/2756#issuecomment-2136031256
- This commit supercedes the prior PR on a master branch which was out of date. https://github.com/grpc/grpc-node/pull/2756
2024-05-28 14:53:46 -07:00
Michael Lumish 71853407a4 Merge remote-tracking branch 'upstream/@grpc/grpc-js@1.10.x' into grpc-js_1.10.x_upmerge 2024-05-28 13:34:05 -07:00
Michael Lumish 87a3541402 grpc-js: Fix UDS channels not reconnecting after going idle 2024-05-14 14:47:53 -07:00
James Watkins-Harvey 3e89fdcec1 HTTP CONNECT: handle early server packets 2024-05-10 16:17:06 -04:00
Michael Lumish fec135a980 Merge pull request #2729 from sergiitk/psm-interop-common-prod-tests
PSM Interop: simplify Kokoro buildscripts
2024-05-06 15:26:17 -07:00
Sergii Tkachenko 1495b020f5 PSM Interop: move test suite lists to psm_interop_kokoro_lib.sh 2024-05-06 14:05:54 -07:00
Michael Lumish 23c05fca84
Merge pull request #2732 from murgatroid99/grpc-js_proto-loader_update
grpc-js(-xds): Pick up proto-loader update
2024-05-01 11:03:57 -07:00
Michael Lumish 0ae86b13f0
Merge pull request #2731 from murgatroid99/proto-loader_dependency_update
proto-loader: Update dependency on protobufjs
2024-05-01 10:31:13 -07:00
Michael Lumish e4f2ecd053 grpc-js(-xds): Pick up proto-loader update 2024-04-30 15:49:20 -07:00
Michael Lumish cf9cba6142 proto-loader: Update dependency on protobufjs 2024-04-30 10:35:48 -07:00
Michael Lumish 8754ccb7db grpc-js: Improve reporting of HTTP error codes 2024-04-11 10:56:18 -07:00
Michael Lumish b292946de7 proto-loader: Avoid generating duplicate method declarations in some cases 2024-04-09 14:45:35 -07:00
Michael Lumish 567449875d
Merge pull request #2711 from n0v1/feat/method-options
grpc-loader: Expose method options
2024-04-09 14:36:19 -07:00
n0v1 6c7225f3ba make method options required 2024-04-09 18:21:33 +00:00
Michael Lumish 2af21a55f3 Merge pull request #2712 from sergiitk/psm-interop-pkg-dev
PSM Interop: Migrate to Artifact Registry
2024-04-08 18:04:43 -07:00
Sergii Tkachenko ade39e8baa PSM Interop: Migrate to Artifact Registry
Migrate PSM Interop images from Container Registry (gcr.io) to
Artifact Registry (pkg.dev).
2024-04-08 16:13:44 -07:00
Christopher Fenn e6ac1a49ed return uninterpreted options as an array 2024-04-05 17:12:04 +02:00
Christopher Fenn 6e441a8d03 use single quotes consistently 2024-04-05 16:38:04 +02:00
Christopher Fenn 1e37caadfc add test case for partially set options 2024-04-05 16:37:03 +02:00
Christopher Fenn 27d608763b adjust implementation to always return default options 2024-04-05 16:23:29 +02:00
Christopher Fenn 99e8a060f6 make uninterpreted_option an array 2024-04-05 16:19:04 +02:00
Christopher Fenn 5bd37a9de1 narrow down type of idempotency_level 2024-04-05 16:00:28 +02:00
Christopher Fenn 260966c070 predefined options should always be returned with their default value 2024-04-05 16:00:04 +02:00
hiepthai 4c185fa2e6 grpc-loader: update interfaces & add new test 2024-04-05 15:32:26 +02:00
hiepthai d335428458 grpc-loader: cleanup MethodOptions interfaces 2024-04-05 15:32:26 +02:00
hiepthai 68ea1f43e2 grpc-loader: update & correct interface types 2024-04-05 15:32:26 +02:00
Hiep Thai ae33e8797a grpc-loader: export interfaces and fix minor issue 2024-04-05 15:32:26 +02:00
Hiep Thai dfb10f9ac4 grpc-loader: add method options test 2024-04-05 15:32:26 +02:00
Hiep Thai fc9db761a9 grpc-loader: map method options and add MethodOptions interface 2024-04-05 15:32:26 +02:00
Hiep Thai c8b5e05366 grpc-loader: update MethodDefinition interface 2024-04-05 15:32:26 +02:00
hiepthai c7d4566353 grpc-loader: add method options in MethodDefinition 2024-04-05 15:32:26 +02:00
Michael Lumish 0d9a8c1dcf grpc-js: Fix check for whether to send a trailers-only response 2024-04-03 09:40:22 -07:00
Michael Lumish c3c7cc4d75
Merge pull request #2704 from murgatroid99/grpc-js_check_server_identity
grpc-js: Call custom `checkServerIdentity` when target name override is set
2024-04-01 15:26:15 -07:00
Michael Lumish cc44d785c9
Merge pull request #2692 from murgatroid99/grpc-js_deadline_info
grpc-js: Add more info to deadline exceeded errors
2024-04-01 15:25:48 -07:00
Michael Lumish f7c3b3a3d8 Fix build order in root gulpfile to handle cross dependency 2024-04-01 15:22:23 -07:00
David Fiala 213230c73b Resolve exception when Error.stackTraceLimit is undefined
Some applications may explicitly set Error.stackTraceLimit = undefined. In this case it is not safe to assume new Error().stack is available.
2024-04-01 15:05:25 -07:00
Michael Lumish 74e4da5cc6
Merge pull request #2701 from davidfiala/patch-1
Resolve exception when Error.stackTraceLimit is undefined
2024-04-01 15:04:09 -07:00
Michael Lumish e1f831a57b grpc-js: Call custom checkServerIdentity when target name override is set 2024-04-01 10:03:51 -07:00
Michael Lumish 8e0f0abdb0 grpc-js-xds: Make legacy interop script use proto-loader correctly 2024-03-29 10:50:10 -07:00
Michael Lumish 9f83845adc
Merge pull request #2700 from murgatroid99/grpc-js-xds_typescript_5
grpc-js-xds: Use TypeScript 5
2024-03-28 12:43:01 -07:00
Michael Lumish e6f13e015c Copy proto-loader from build image to final image 2024-03-28 10:35:57 -07:00
Michael Lumish 5d8d5b513e Fix proto-loader declaration in grpc-js devDependencies 2024-03-28 09:29:30 -07:00
David Fiala 2099f540d2
Resolve exception when Error.stackTraceLimit is undefined
Some applications may explicitly set Error.stackTraceLimit = undefined. In this case it is not safe to assume new Error().stack is available.
2024-03-27 16:39:45 -07:00
Michael Lumish 7b74d51a6f grpc-js-xds: use local proto-loader, build proto-loader in interop Dockerfile 2024-03-27 11:10:14 -07:00
Michael Lumish 7b4509ec47 grpc-js-xds: Use TypeScript 5 2024-03-27 10:37:19 -07:00
Michael Lumish 3b0e4ac8ff grpc-js: Use local proto-loader, and regenerate protobuf types 2024-03-27 10:36:54 -07:00
Michael Lumish d3e16a43ea proto-loader: Revert 'Import internal files with extension' 2024-03-27 10:09:27 -07:00
Michael Lumish 729a3f52cf
Merge pull request #2695 from murgatroid99/grpc-js_avoid_extra_rst_stream
grpc-js: Avoid sending redundant RST_STREAMs from the client
2024-03-26 11:01:00 -07:00
Michael Lumish eccccd9e8c proto-loader: Bump version to 0.7.11 2024-03-25 10:45:11 -07:00
Anton 055282a140 Update docs with recommended import method 2024-03-25 09:03:50 +01:00
Anton 8d69e9fa7a Fix tests 2024-03-25 08:58:28 +01:00
Michael Lumish 9948aea5a5 grpc-js: Ensure server interceptors work with builder utility classes 2024-03-21 14:58:37 -07:00
Michael Lumish f4330f72c9 Use call start times in some trace logs 2024-03-21 09:49:58 -07:00
Anton 83d9f1c8b9 Import files with extension 2024-03-21 09:06:58 +01:00
Michael Lumish 14f1d02c9a grpc-js: Avoid sending redundant RST_STREAMs from the client 2024-03-20 15:46:59 -07:00
Michael Lumish d7d171776d grpc-js: Add more info to deadline exceeded errors 2024-03-15 15:43:57 -07:00
Michael Lumish a8c6c33daa grpc-js: Bump version to 1.10.3 2024-03-15 09:24:01 -07:00
Michael Lumish d0c2026887 Revert "grpc-js: pick_first: Don't automatically reconnect after connection drop"
This reverts commit 4a3fefa2b3.
2024-03-15 09:23:08 -07:00
Michael Lumish 0edd1948ab
Merge pull request #2684 from murgatroid99/grpc-js_1.10.2
grpc-js: Bump to 1.10.2
2024-03-07 10:53:27 -08:00
Michael Lumish 55b98529f8
Merge pull request #2683 from murgatroid99/grpc-js_server_event_order
grpc-js: Rearrange some function calls to revert event order changes
2024-03-07 10:53:02 -08:00
Michael Lumish cb966dfcd6
Merge pull request #2680 from murgatroid99/grpc-js_pick_first_disconnect_fix
grpc-js: pick_first: Don't automatically reconnect after connection drop
2024-03-07 10:52:57 -08:00
Michael Lumish 4d235c339b grpc-js: Bump to 1.10.2 2024-03-07 09:24:04 -08:00
AVVS 74ddb3bd6f
chore: address ts errors 2024-03-05 15:34:29 -08:00
Michael Lumish 07ee52acb0 grpc-js: Rearrange some function calls to revert event order changes 2024-03-05 10:27:21 -08:00
AVVS cf321a80b1
chore: use iterators for tracking map, const for default values 2024-03-04 18:25:23 -08:00
Michael Lumish 4a3fefa2b3 grpc-js: pick_first: Don't automatically reconnect after connection drop 2024-03-04 09:33:41 -08:00
AVVS 62e8ea97e6
chore: tests & cleanup of unref?.() 2024-03-02 07:58:54 -08:00
AVVS b873dce908
chore: simplify idle timeout further, fix wrong ref 2024-02-28 14:26:42 -08:00
AVVS bedb5055e8
refactor: no clearTimeout/null timers, use .refresh() + count refs 2024-02-28 13:36:24 -08:00
AVVS 11a98b5f37
chore: updated docs, cached onStreamClose per session 2024-02-27 16:49:20 -08:00
AVVS 74102fcc87
chore: extraneous closure, dont need server ref 2024-02-27 14:39:24 -08:00
AVVS 0b79b7420a
chore: cleanup traces 2024-02-27 14:35:02 -08:00
AVVS b8f157ed21
chore: revert interface -> type change in channelz 2024-02-27 14:30:55 -08:00
AVVS a4a676d378
chore: move new functions towards the end of the class 2024-02-27 14:17:32 -08:00
AVVS e0b900dd69
feat: channelz improvements, idle timeout implementation 2024-02-27 13:28:05 -08:00
Michael Lumish 6c2bc599e5 grpc-js: Run code formatter, fix one lint error 2024-02-27 12:51:38 -08:00
Michael Lumish 0207979a4d reflection: Fix references to symbols with no package 2024-02-27 12:43:28 -08:00
Michael Lumish c10d973d38
Merge pull request #2676 from murgatroid99/grpc-reflection_1.0.2
grpc-reflection: Bump to 1.0.2
2024-02-23 11:00:50 -08:00
Michael Lumish 3f527fbdf9
Merge pull request #2675 from murgatroid99/grpc-js_connection_injection
grpc-js: Add Server#createConnectionInjector API
2024-02-23 10:59:54 -08:00
Michael Lumish 7e5f58b112 grpc-reflection: Bump to 1.0.2 2024-02-22 16:56:28 -08:00
Michael Lumish 321b6603b0 grpc-js: Add Server#createConnectionInjector API 2024-02-22 16:52:56 -08:00
Justin Timmons 7c0511f2df fix(grpc-reflection): handle references to root-level message types in default package 2024-02-21 22:19:37 -05:00
Michael Lumish 0ba7d70fb9
Merge pull request #2661 from murgatroid99/grpc-js_watchable_server_creds
grpc-js: Expand ServerCredentials API to support watchers
2024-02-15 15:46:18 -08:00
Michael Lumish 429a66d1cb grpc-js: round_robin: always have children reconnect immediately 2024-02-14 11:05:26 -08:00
Michael Lumish 9b61f4adc0 grpc-js-xds: Implement EDS dualstack support 2024-02-13 14:02:50 -08:00
Michael Lumish a114b9f152 grpc-js-xds: Update envoy-api dep to match grpc/grpc reference 2024-02-13 11:12:09 -08:00
Michael Lumish a1fde62101 grpc-js: Expand ServerCredentials API to support watchers 2024-02-09 14:33:13 -08:00
Michael Lumish 1b753af868
Merge pull request #2656 from murgatroid99/grpc-js_1.10.0
grpc-js/grpc-js-xds: Bump version to 1.10.0
2024-02-06 14:45:17 -08:00
Michael Lumish 5b44a4428f
Merge pull request #2654 from murgatroid99/grpc-health-check_2.0.1
grpc-health-check: Bump version to 2.0.1
2024-02-05 16:07:14 -08:00
Michael Lumish b1c45a819f grpc-js/grpc-js-xds: Bump version to 1.10.0 2024-02-01 13:44:07 -08:00
Michael Lumish 322b165c85 grpc-js-xds: De-experimentalize tested features and update feature list 2024-02-01 13:25:38 -08:00
Michael Lumish f70c322e57
Merge pull request #2650 from murgatroid99/grpc-js_server_interceptors
grpc-js: Implement server interceptors
2024-02-01 10:06:17 -08:00
Michael Lumish c2e72e833b grpc-health-check: Bump version to 2.0.1 2024-01-31 13:28:26 -08:00
Michael Lumish 7c9a5e7147 Make extra trailer behavior consistent with old code 2024-01-31 10:41:01 -08:00
André Cruz 24c258ad58 grpc-health-check: Move `typescript` as a dev dependency 2024-01-30 14:53:34 +00:00
Michael Lumish f52d1429fb grpc-js: Implement server interceptors 2024-01-26 14:36:18 -08:00
Michael Lumish 3915f579f2 Merge 1.9.x into master 2024-01-17 14:28:31 -08:00
Michael Lumish 5be83dd878
Merge pull request #2643 from murgatroid99/grpc-js_idle_timer_fix
grpc-js: Fix and optimize IDLE timeouts
2024-01-16 15:13:30 -08:00
Michael Lumish 2b31f8c148 grpc-js: Shutdown transport if a state change occurs while connecting 2024-01-16 14:38:17 -08:00
Michael Lumish 6da0b49dbc grpc-js: Fix and optimize IDLE timeouts 2024-01-16 14:18:05 -08:00
Michael Lumish 6e6f942f19 Merge pull request #2635 from XuanWang-Amos/psm-interop-shared-build
buildscripts: Use the Kokoro shared install lib from the new repo
2024-01-04 21:49:25 +00:00
Michael Lumish 2a7c9062b8
Merge pull request #2637 from chakhsu/master
fix: export type VerifyOptions
2024-01-04 13:14:13 -08:00
Chakhsu.Lau 3cdaebdd0c fix: export type VerifyOptions 2024-01-04 21:19:02 +08:00
Xuan Wang 493f9bfa67 buildscripts: Use the Kokoro shared install lib from the new repo 2023-12-18 20:51:23 +00:00
Filippo Spinella bda01f97f4 fix README 2023-12-14 18:56:05 +01:00
Michael Lumish 5fe8afc4e7 grpc-reflection: Increment version to 1.0.1 2023-12-14 10:38:11 -05:00
Pitos 3f2217e220 Fix issue #2631 2023-12-14 13:53:18 +01:00
Michael Lumish d46360df74
Merge pull request #2613 from jtimmons/feat/grpc-reflection-package
feat(grpc-reflection): created new @grpc/reflection package
2023-12-01 07:44:51 -08:00
Michael Lumish 4dfd8c43d7 grpc-js: Fix call ref timer handling 2023-12-01 10:27:09 -05:00
Michael Lumish 6d4e08cfd4 grpc-js: pick_first: fix currentPick comparison in resetSubchannelList 2023-11-27 12:28:30 -05:00
Justin Timmons c53656d67b refactor(grpc-reflection): precompute service list and file encodings 2023-11-18 19:44:48 -05:00
Justin Timmons 234f7f0a0c refactor(grpc-reflection): switch to using protobufjs library for message encoding/decoding 2023-11-18 19:13:59 -05:00
Michael Lumish 85bc3c2e78
Merge pull request #2619 from murgatroid99/grpc-js_idle_loop_fix
grpc-js: Make pick_first use exitIdle
2023-11-16 11:30:14 -08:00
Michael Lumish 736d6df80b grpc-js: Return the result from the UDS resolver only once 2023-11-16 10:19:26 -08:00
Michael Lumish 8843706ec7 grpc-js: Make pick_first use exitIdle 2023-11-16 10:15:48 -08:00
Justin Timmons bc8f2ead26 docs(grpc-reflection): fixed link to example image 2023-11-15 20:52:17 -05:00
Justin Timmons 87e1f79846 docs(grpc-reflection): moved example to common directory and match grpc-go server 2023-11-15 20:49:03 -05:00
Justin Timmons 2449abe398 refactor(grpc-reflection): simplified request handling and file dependency logic 2023-11-15 08:28:47 -05:00
Justin Timmons 89a5cbbdf4 chore(grpc-reflection): cleaned up package dependencies 2023-11-14 22:28:08 -05:00
Michael Lumish 3a16187451 grpc-js: Implement server drain method 2023-11-14 14:37:13 -08:00
Michael Lumish 056738f2ed
Merge pull request #2611 from murgatroid99/grpc-js_goaway_null_data
grpc-js: Handle unset opaqueData in goaway event
2023-11-14 13:08:16 -08:00
Michael Lumish 66f972cb87 grpc-js: Implement unbind 2023-11-10 14:58:21 -08:00
Justin Timmons 3b4f92ee62 refactor(grpc-reflection): file cleanup and enabled ts strict mode 2023-11-08 22:43:18 -05:00
Justin Timmons 215078f49a feat(grpc-reflection): added reflection service to add capability to a users server 2023-11-08 22:39:06 -05:00
Justin Timmons 54df17727f feat(grpc-reflection): created new grpc-reflection package ported from nestjs-grpc-reflection library 2023-11-08 22:39:06 -05:00
Michael Lumish bf2009a72f grpc-js: Handle unset opaqueData in goaway event 2023-11-07 11:09:59 -08:00
Segev Finer 0854192dba Review fixes 2023-10-31 01:43:33 +02:00
Segev Finer 1f148e9349 Fix missing port in proxy CONNECT when using the default HTTPS port 2023-10-31 01:43:33 +02:00
Michael Lumish 9050ea9dae grpc-js: Don't repeat fixed resolver results 2023-10-30 09:42:29 -07:00
Michael Lumish 446f139b37 grpc-js: Cancel and don't start idle timer on shutdown 2023-10-27 10:14:58 -07:00
Michael Lumish d465f839d4 Add pick_first requestReresolution tests 2023-10-19 16:20:04 -07:00
Michael Lumish 2f5ddc7137 grpc-js: pick_first: fix happy eyeballs and reresolution in sticky TF mode 2023-10-19 13:58:31 -07:00
Michael Lumish 779e970099
Merge pull request #2597 from murgatroid99/grpc-js_server_deprecate_start
grpc-js: Deprecate Server#start
2023-10-17 14:55:33 -07:00
Michael Lumish ebc2c3e410
Merge pull request #2598 from murgatroid99/grpc-js_show_connectivity_errors
grpc-js: Propagate connectivity error information to request errors
2023-10-17 10:59:50 -07:00
Michael Lumish 3a9f4d2aa6 grpc-js: Propagate connectivity error information to request errors 2023-10-16 17:17:27 -07:00
Michael Lumish 0f8ebbdd17 grpc-js: Include library version and PID in all trace logs 2023-10-16 17:06:32 -07:00
Michael Lumish 976567395e grpc-js: Deprecate Server#start 2023-10-16 15:16:58 -07:00
Anuraag Agrawal abac01a9cf chore(grpc-js): remove unused callcredentials parameter from insecure impl 2023-10-11 17:43:14 +09:00
Michael Lumish 065ac2fef6
Merge pull request #2590 from murgatroid99/grpc-js_server_shutdown_race
grpc-js: Handle race between bindAsync and (try|force)Shutdown
2023-10-02 10:34:38 -07:00
Michael Lumish b33b8bc2bb grpc-js: Handle race between bindAsync and (try|force)Shutdown 2023-09-29 11:17:23 -07:00
Rafael Santos 974b235a04
Update server-call.ts
Fix TS2345
2023-09-29 15:44:42 +01:00
Michael Lumish 7e53472048
Merge pull request #2586 from murgatroid99/grpc-js_round_robin_backoff_ref
grpc-js: Unref backoff timer in subchannel
2023-09-26 16:49:35 -07:00
Michael Lumish ea6ba89ead grpc-js: Bump version to 1.9.4 2023-09-26 16:35:13 -07:00
Michael Lumish 4c6869091e grpc-js-xds: Don't call git commands in npm scripts 2023-09-26 16:06:03 -07:00
Michael Lumish e6099d71f2 grpc-js: Unref backoff timer in subchannel 2023-09-26 15:17:55 -07:00
Michael Lumish 71936fab74
Merge pull request #2575 from murgatroid99/health-check_2.0
grpc-health-check: Version 2.0
2023-09-25 14:43:56 -07:00
Michael Lumish e1415fe7bc grpc-js-xds: Force submodule update and code generation in prepare script 2023-09-25 10:30:10 -07:00
Michael Lumish 32c816c9d1
Merge pull request #2572 from murgatroid99/grpc-js-xds_pick_first
grpc-js-xds: Add support for pick_first in xDS config
2023-09-21 10:19:03 -07:00
Michael Lumish c8b9a45bc9 grpc-js-xds: Fix behavior when channel goes IDLE 2023-09-21 10:02:39 -07:00
Michael Lumish 5be024f060 grpc-js: Delegate to child picker in ResolvingLoadBalancer#updateResolution 2023-09-18 17:32:29 -07:00
Michael Lumish 524bb7d341 grpc-health-check: Implement version 2.0 update 2023-09-18 14:59:31 -07:00
Michael Lumish afbdbdeec3 grpc-health-check: Add generated code for version 2.0 2023-09-18 13:50:42 -07:00
Michael Lumish ab02dc0be4 proto-loader: Allow the grpcLib option to be omitted in the type generator 2023-09-13 16:57:45 -07:00
Michael Lumish fe74b60440 grpc-js-xds: Add support for pick_first in xDS config 2023-09-13 14:27:25 -07:00
Michael Lumish 6567f8d7cd Update code generation with PickFirst message 2023-09-13 14:07:22 -07:00
Michael Lumish 10c4bbdbe3 Add logging for DNS update delays due to rate limit or backoff 2023-09-13 10:18:30 -07:00
Michael Lumish a02622572a Improve Listener resource log formatting 2023-09-12 13:00:15 -07:00
Michael Lumish 506748b8a4 Enable ring_hash tracing in interop tests 2023-09-12 12:41:35 -07:00
Michael Lumish 8df1bd712f Treat ring_hash_lb_config field as optional 2023-09-12 10:08:25 -07:00
Michael Lumish 57c1bd2ede grpc-js-xds: interop client: reduce periodic logging 2023-09-11 17:32:41 -07:00
Michael Lumish e570a99d6d Improve unvalidated resource log formatting 2023-09-11 17:29:01 -07:00
Michael Lumish 5c8b11b0be Trace parsed unvalidated resources 2023-09-11 15:39:19 -07:00
Michael Lumish f1f8d1ba61 grpc-js: Make a few improvements to DNS resolving timing 2023-09-11 13:51:32 -07:00
Michael Lumish c41c3dae7b Test ring_hash fallback on dropped connection 2023-09-08 14:51:58 -07:00
Michael Lumish 0b2281b028 Revert version support change, run ring_hash tests conditionallly 2023-09-08 10:12:14 -07:00
Michael Lumish 9e487e44ab grpc-js-xds: Update gts dependency for compatibility with TypeScript update 2023-09-07 18:07:20 -07:00
Michael Lumish 9974f7704d grpc-js-xds: Drop support for Node versions below 16 2023-09-07 17:59:35 -07:00
Michael Lumish 4bff372df7 grpc-js: Remove logging in QueuePicker 2023-09-07 17:24:17 -07:00
Michael Lumish 036e0e1b7f grpc-js-xds: Enable xDS affinity test 2023-09-07 17:15:20 -07:00
Michael Lumish 3a43cba3a3 grpc-js-xds: Implement ring_hash LB policy 2023-09-07 17:14:39 -07:00
Michael Lumish 3096f22ba6 grpc-js-xds: Add xxhash-wasm dependency, generate ring_hash code 2023-09-07 17:12:58 -07:00
Michael Lumish 00e1ac46a8 grpc-js: Pass channel options to LoadBalancer constructors 2023-09-06 10:39:56 -07:00
Michael Lumish 092d1e96e2
Merge pull request #2561 from murgatroid99/grpc-js_pick_first_leaf
grpc-js: Make pick_first the universal leaf policy, plus related changes
2023-08-31 15:46:22 -07:00
Michael Lumish e7e199c501
Merge pull request #2564 from murgatroid99/grpc-js_ping_first_equality_check_backport
grpc-js: Fix pick-first-load-balancer pick subchannel lost state listener (1.9.x)
2023-08-31 10:26:24 -07:00
Michael Lumish 2fe961d5b1 grpc-js: Bump to version 1.9.2 2023-08-31 09:37:34 -07:00
gusumuzhe f5218edf82 fix: pick first load balancer call doPick infinite 2023-08-31 09:36:52 -07:00
Michael Lumish 83789c15db grpc-js: Handle keepalive ping error 2023-08-31 09:35:24 -07:00
Michael Lumish 266af4c19f Add pick_first tests 2023-08-30 15:16:25 -07:00
Michael Lumish 3ff8b674bb Export HealthListener type in experimental 2023-08-30 14:57:52 -07:00
Michael Lumish e919aa7aa3 grpc-js-xds: Update LB policies to handle grpc-js changes 2023-08-30 14:47:06 -07:00
Michael Lumish 49b7c6af34 grpc-js: Make pick_first the universal leaf policy, switch to endpoint lists 2023-08-30 14:46:08 -07:00
gusumuzhe 613c9144d9 fix: pick first load balancer call doPick infinite 2023-08-29 17:39:38 +08:00
Michael Lumish 04ef12518d Add custom LB test from interop test, fix a bug 2023-08-25 10:19:01 -07:00
Michael Lumish d1f0d9f80d grpc-js-xds: interop: add custom_lb test, reformat test list 2023-08-24 13:38:56 -07:00
Michael Lumish 354bd2d5c3
Merge pull request #2555 from murgatroid99/grpc-js-xds_custom_lb_policy
grpc-js-xds: Implement custom LB policies
2023-08-24 11:22:39 -07:00
Michael Lumish 91631ba11c Update XdsClusterImpl LB policy to accept unset LRS config 2023-08-24 10:02:30 -07:00
Michael Lumish c8b5d3119b Fix missing proto file references 2023-08-23 16:13:00 -07:00
Michael Lumish fa26f4f70f Add spec links 2023-08-23 14:36:49 -07:00
Michael Lumish 9ca8302725 Add tests and fix bugs 2023-08-23 14:32:15 -07:00
Michael Lumish 7326035363 Fix tests 2023-08-23 09:37:47 -07:00
Michael Lumish a417e9bc3b proto-loader: Bump version to 0.7.9 2023-08-22 13:49:52 -07:00
Michael Lumish a0e028f788 grpc-js-xds: Fix backoff timer reference when handling LRS stream messages 2023-08-22 11:19:23 -07:00
Michael Lumish c679726246 Add custom LB interop test support 2023-08-22 09:53:19 -07:00
Michael Lumish 7ca0af6eec
Merge pull request #2550 from murgatroid99/grpc-js_service_config_parsing
grpc-js: Fix method config name handling in service configs
2023-08-21 17:22:44 -07:00
Michael Lumish cd25bada71
Merge pull request #2552 from murgatroid99/grpc-js_deferred_write_callback
grpc-js: Defer actions in http2 stream write callback
2023-08-21 17:22:35 -07:00
Michael Lumish 8896bfe4c9 grpc-js: Defer actions in http2 stream write callback 2023-08-21 13:30:33 -07:00
Michael Lumish f9af919393 grpc-js: Update dependency on @grpc/proto-loader 2023-08-21 13:17:11 -07:00
Michael Lumish 69257a7893 grpc-js: Fix method config name handling in service configs 2023-08-21 13:01:15 -07:00
Michael Lumish 13a6e6d273 grpc-js-xds: Update envoy-api dependency and code generation 2023-08-16 10:24:47 -07:00
Michael Lumish eb6f1338ab grpc-js-xds: Implement custom LB policies 2023-08-16 10:22:41 -07:00
Michael Lumish 1221772052 grpc-js: Switch Timer type to Timeout 2023-08-14 10:31:16 -07:00
Michael Lumish ea5c18d232 grpc-js: Switch Timer type to Timeout 2023-08-14 10:15:46 -07:00
Michael Lumish d7c27fb3aa grpc-js: Add config parsing tests and fix outlier detection config parsing 2023-08-11 11:09:55 -07:00
Michael Lumish aa905bf289
Merge pull request #2542 from murgatroid99/grpc-js-xds_config_parsing_tests
grpc-js-xds: Add config parsing tests
2023-08-10 14:56:33 -07:00
Michael Lumish b2ad73a0f3 grpc-js-xds: Add config parsing tests 2023-08-10 13:54:43 -07:00
Michael Lumish 4f8db6907e grpc-js-xds: Fix a typo in xds_cluster_impl parsing code 2023-08-10 09:40:37 -07:00
Michael Lumish 7ae331bd93 Also enable LRS for LOGICAL_DNS test cluster resources 2023-08-09 11:07:34 -07:00
Michael Lumish 11e19fb450 Enable LRS in local tests and fix LRS config generation bugs 2023-08-09 11:02:33 -07:00
Michael Lumish 8f9bd7a9ee grpc-js-xds: Fix handling of LRS server configs 2023-08-09 10:45:07 -07:00
Michael Lumish 7a8d4630ba
Merge pull request #2535 from murgatroid99/grpc-js_channelz_improvements
grpc-js: Improve formatting of channelz logs for grpcdebug
2023-08-08 15:01:16 -07:00
Michael Lumish 9ef4655b3a
Merge pull request #2536 from murgatroid99/grpc-js_pick_cancel_race
grpc-js: Handle race between call cancellation and auth metadata generation
2023-08-08 15:01:00 -07:00
Michael Lumish a4ba925352 grpc-js: Add null check in pick_first array access 2023-08-08 10:37:20 -07:00
Michael Lumish 08bcbfc677 grpc-js-xds: Adjust LB policy config handling for grpc-js changes 2023-08-07 17:25:39 -07:00
Michael Lumish d28b9e8c37 grpc-js: Return LB policy configs from resolvers in JSON form 2023-08-07 17:23:57 -07:00
Michael Lumish 01749a8d41 Explicitly log credentials/cancellation races 2023-08-03 09:24:24 -07:00
Michael Lumish 30bc44f4ce grpc-js: Handle race between call cancellation and auth metadata generation 2023-08-02 16:48:57 -07:00
Michael Lumish bb2942197e grpc-js: Improve formatting of channelz logs for grpcdebug 2023-08-02 16:42:29 -07:00
Michael Lumish 49b629ffb0 grpc-js/grpc-js-xds: Update to 1.9.0, and update READMEs 2023-07-31 16:55:27 -07:00
Michael Lumish 14b11f6b99
Merge pull request #2511 from murgatroid99/grpc-js_pick_first_update
grpc-js: Implement pick_first sticky TF and address list shuffling
2023-07-31 16:11:39 -07:00
Michael Lumish b86615c1a3
Merge pull request #2508 from murgatroid99/grpc-js_server_clear_deadline_cancel
grpc-js: Cancel deadline timer on server when call is cancelled
2023-07-31 15:47:22 -07:00
Michael Lumish ff25a75ce9
Merge pull request #2507 from murgatroid99/grpc-js_tls_trace
grpc-js: Add channel option to enable TLS tracing
2023-07-31 15:45:35 -07:00
Michael Lumish 96213d1d68
Merge pull request #2521 from murgatroid99/v1.8.x_upmerge_3
Merge 1.8.x into master
2023-07-31 15:11:05 -07:00
Michael Lumish 1d38cc319c Merge remote-tracking branch 'upstream/@grpc/grpc-js@1.8.x' into v1.8.x_upmerge_3 2023-07-28 14:53:43 -07:00
Michael Lumish 4e111e7792 grpc-js: Fix propagation of UNIMPLEMENTED error messages 2023-07-28 14:21:33 -07:00
Michael Lumish aee1789145 proto-loader: Increment version to prerelease version 2023-07-28 11:49:30 -07:00
Michael Lumish a1525bf298
Merge pull request #2504 from haines/update-long
proto-loader: Update long dependency to match protobufjs
2023-07-28 11:41:32 -07:00
Michael Lumish e43fa71619 Fix formatting 2023-07-25 10:11:45 -07:00
Michael Lumish e83ce3b6fd Merge remote-tracking branch 'upstream/@grpc/grpc-js@1.8.x' into v1.8.x_upmerge_3 2023-07-25 10:10:16 -07:00
Michael Lumish 6d97956549 grpc-js: Fix a crash when grpc.keepalive_permit_without_calls is set 2023-07-25 09:40:45 -07:00
Michael Lumish 66cd8519bd grpc-js: pick_first: Properly dispose of current pick when it disconnects 2023-07-24 16:00:13 -07:00
Michael Lumish 71d035b5bf Fix formatting 2023-07-24 13:54:30 -07:00
Michael Lumish 981efb6eca Merge remote-tracking branch 'upstream/@grpc/grpc-js@1.8.x' into v1.8.x_upmerge_again 2023-07-24 13:53:17 -07:00
Michael Lumish 42a02749eb grpc-js: Fix compilation error from new @types/node version 2023-07-24 13:08:55 -07:00
Michael Lumish 2e9060385c grpc-js: Fix keepalive ping timing after inactivity 2023-07-24 11:20:00 -07:00