Commit Graph

1282 Commits

Author SHA1 Message Date
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 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 e4f2ecd053 grpc-js(-xds): Pick up proto-loader update 2024-04-30 15:49:20 -07:00
Michael Lumish 8754ccb7db grpc-js: Improve reporting of HTTP error codes 2024-04-11 10:56:18 -07: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
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 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 3b0e4ac8ff grpc-js: Use local proto-loader, and regenerate protobuf types 2024-03-27 10:36:54 -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 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
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 321b6603b0 grpc-js: Add Server#createConnectionInjector API 2024-02-22 16:52:56 -08:00
Michael Lumish 429a66d1cb grpc-js: round_robin: always have children reconnect immediately 2024-02-14 11:05:26 -08:00
Michael Lumish a1fde62101 grpc-js: Expand ServerCredentials API to support watchers 2024-02-09 14:33:13 -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 7c9a5e7147 Make extra trailer behavior consistent with old code 2024-01-31 10:41:01 -08: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
Chakhsu.Lau 3cdaebdd0c fix: export type VerifyOptions 2024-01-04 21:19:02 +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
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
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
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 ea6ba89ead grpc-js: Bump version to 1.9.4 2023-09-26 16:35:13 -07:00
Michael Lumish e6099d71f2 grpc-js: Unref backoff timer in subchannel 2023-09-26 15:17:55 -07:00
Michael Lumish 5be024f060 grpc-js: Delegate to child picker in ResolvingLoadBalancer#updateResolution 2023-09-18 17:32:29 -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 f1f8d1ba61 grpc-js: Make a few improvements to DNS resolving timing 2023-09-11 13:51:32 -07:00
Michael Lumish 4bff372df7 grpc-js: Remove logging in QueuePicker 2023-09-07 17:24:17 -07:00
Michael Lumish 3a43cba3a3 grpc-js-xds: Implement ring_hash LB policy 2023-09-07 17:14:39 -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 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 9ca8302725 Add tests and fix bugs 2023-08-23 14:32:15 -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 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 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 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 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 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
Michael Lumish 698d1427c6 grpc-js: Implement pick_first sticky TF and address list shuffling 2023-07-21 09:45:34 -07:00
Michael Lumish 54409d00f3 grpc-js: Fix transport trace message formatting 2023-07-14 14:15:44 -07:00
Michael Lumish 7c3a5fe70c grpc-js: Cancel deadline timer on server when call is cancelled 2023-07-14 10:58:53 -07:00
Michael Lumish cb11e66c59 grpc-js: Add channel option to enable TLS tracing 2023-07-14 10:46:03 -07:00
Michael Lumish 66bcc7a2cc grpc-js: Reformat files and fix lint errors 2023-07-13 14:20:54 -07:00
Michael Lumish 220a70289c Merge remote-tracking branch 'upstream/@grpc/grpc-js@1.8.x' into v1.18.x_upmerge 2023-07-13 14:14:29 -07:00
Cedric Kassen 8ed0a50c58 directly pass deserializeMessageWithInternalError to resolve 2023-07-13 20:59:04 +02:00
Cedric Kassen c5bdd9c398 remove oversight asyncs and replace safeDeserializeMessage 2023-07-13 08:01:09 +02:00
Michael Lumish 493cbaaf45 grpc-js: Increment version to 1.8.18 2023-07-12 15:23:34 -07:00
Michael Lumish 713a2c9bd1 grpc-js: Enable the noUnusedLocals TypeScript compiler option 2023-07-12 15:22:15 -07:00
Michael Lumish 45e277547f grpc-js: Fix mistakenly committed testing changes 2023-07-12 14:55:49 -07:00
Cedric Kassen 555643dcc8 try catch promise rejection and sendError 2023-07-12 14:31:11 +02:00
Cedric Kassen 14b18a4bba promisify receiveUnaryMessage server-call 2023-07-12 14:31:10 +02:00
Michael Lumish 51c5b9491a
Merge pull request #2471 from murgatroid99/grpc-js_channel_idle_timeout
grpc-js: Implement channel idle timeout
2023-06-27 10:21:59 -07:00
Michael Lumish ed70a0b381 Fix handling of OD policy with no child 2023-06-27 10:11:45 -07:00
Michael Lumish b53f5882f1 grpc-js: Disallow pick_first as child of outlier_detection 2023-06-22 14:32:09 -07:00
Michael Lumish 6fb6544483 grpc-js: Update documentation of compression behavior in README 2023-06-21 11:36:45 -07:00
Michael Lumish 89cd8f7bc3 grpc-js: Idle timeout: format files 2023-06-20 15:46:27 -07:00
Michael Lumish fcff72b941 grpc-js: Implement channel idle timeout 2023-06-20 14:47:14 -07:00
Michael Lumish 87b5466b1b grpc-js: Implement trace function in Http2SubchannelConnector 2023-06-20 10:25:59 -07:00
Dan Rumney cd24d6956d style: run eslint fix on codebase
Fixes #2464
2023-06-15 13:04:57 -05:00
Dan Rumney 3bf2af1d70 docs(apache-notice.md): add a notice acknowledging the use of GTS config settings
This might actually be unnecessary; since I've copied over configuration settings from the GTS package, I figured I'd add this notice. It's in a file, since there's no capacity for adding comments in a JSON or .rc file. It feels doubtful that configuration settings fall under the auspices of the Apache License, but I'll leave that to the maintainers to decide.
2023-06-15 13:03:30 -05:00
Dan Rumney 208b79e625 refactor(packages/grpc-js/log.txt): remove extraneous file 2023-06-15 13:01:38 -05:00
Dan Rumney e3522bb53b refactor(grpc-js): convert from gts to eslint/prettier/tsconfig
GTS provides config for ESLint, Prettier and TSConfig; this commit removes GTS, but brings over the configuration details

Fixes #2464
2023-06-15 12:54:15 -05:00
Dan Rumney 1880faf8a0 fix(packages/grpc-js/test/assert2): move assert2 into its own file
Moving from exporting a namespace to just putting assert2 functions into their own files

Fixes #2464
2023-06-15 12:52:45 -05:00
Michael Lumish 2b455e7d18 grpc-js: Fix a couple of minor issues 2023-05-31 14:05:10 -07:00
Michael Lumish d70d7eed07 Merge remote-tracking branch 'upstream/@grpc/grpc-js@1.8.x' into v1.8.x_upmerge 2023-04-24 16:52:54 -07:00
Michael Lumish 3709998012 grpc-js: Fix a couple of errors from a previous PR 2023-04-13 09:25:38 -07:00
Michael Lumish 6bc85716cd grpc-js: Bump version to 1.8.14 2023-04-12 14:46:27 -07:00
Michael Lumish 8f329e08b2
Merge pull request #2412 from murgatroid99/grpc-js_round_robin_refactor
grpc-js: Simplify round robin implementation
2023-04-12 13:53:12 -07:00
Michael Lumish 43d42dcf3f grpc-js: Fix connectivity state change event sequencing 2023-04-11 14:50:41 -07:00
Michael Lumish d21ce8cc49 grpc-js: Simplify round robin implementation 2023-04-05 16:35:10 -07:00
Michael Lumish 59423176f0 Merge remote-tracking branch 'upstream/@grpc/grpc-js@1.8.x' into v1.8.x_merge 2023-04-03 14:19:03 -07:00
Michael Lumish 3fbdf0d337 grpc-js: Bump version to 1.8.13 2023-03-10 14:05:39 -08:00
Michael Lumish 056dc8e56e grpc-js: Unregister socket from channelz when closing transport 2023-03-10 13:58:02 -08:00
Michael Lumish 79161816e6 grpc-js: Add more logging to trace handling of received messages 2023-03-07 15:09:19 -08:00
Michael Lumish 7aba0004e6
Merge pull request #2380 from murgatroid99/grpc-js_pick_first_fix2
grpc-js: Fix address equality check in pick-first
2023-03-07 14:24:14 -08:00
Michael Lumish c525025f06 grpc-js: Trace before call to LB policy picker 2023-03-06 15:10:29 -08:00
Ulrich Van Den Hekke c23c67cd4f grpc-js: add await/async on method that return promise
add await/async on method that return promise to ensure that the order of message (and of the end of stream) are preserved
2023-03-06 10:15:52 -08:00
Michael Lumish 0726fdf290 grpc-js: Fix address equality check in pick-first 2023-03-06 10:11:46 -08:00
Ulrich Van Den Hekke 081270f013
grpc-js: add await/async on method that return promise
add await/async on method that return promise to ensure that the order of message (and of the end of stream) are preserved
2023-02-26 13:14:32 +01:00
Michael Lumish 1f14d1c138 grpc-js: Stop leaking freed message buffer placeholder objects 2023-02-23 17:49:03 -08:00
Michael Lumish 6862af2350 grpc-js: Fix bugs in pick first LB policy and channel subchannel wrapper 2023-02-21 15:26:09 -08:00
Michael Lumish 72b99a1413
Merge pull request #2363 from murgatroid99/grpc-js_channel_keepalive_throttling
grpc-js: Propagate keepalive throttling throughout channel
2023-02-15 15:44:48 -08:00
Michael Lumish 2ed8e71ba1 grpc-js: Propagate keepalive throttling throughout channel 2023-02-14 13:47:50 -08:00
Michael Lumish 37eb5ed2fa grpc-js: Improve timeout handling and deadline logging 2023-02-09 10:18:24 -08:00
Michael Lumish 7ab5368a6e
Merge pull request #2349 from murgatroid99/grpc-js_retry_commit_fix
grpc-js: Fix `commitCallWithMostMessages` trying to commit completed attempts
2023-02-08 10:40:55 -08:00
Michael Lumish 2b7f296680
Merge pull request #2351 from murgatroid99/grpc-js_export_interceptor_types
grpc-js: Export `InterceptingListener` and `NextCall` types
2023-02-08 10:40:25 -08:00
Michael Lumish 18c803e6dd grpc-js: Export InterceptingListener and NextCall types 2023-02-08 09:55:32 -08:00
Michael Lumish 3596c4f655 grpc-js: Remove progress field in status from retrying call 2023-02-07 14:52:20 -08:00
Michael Lumish cf090c7f50 grpc-js: Fix commitCallWithMostMessages trying to commit completed attempts 2023-02-07 14:35:35 -08:00
Michael Lumish fed7b02a35 Update latestConfig in ChildLoadBalancerHandler when handling update 2023-02-03 09:33:51 -08:00
Michael Lumish 3efdc7b58c grpc-js: Bump version to 1.8.7 2023-01-25 11:56:09 -08:00
Michael Lumish 0d177a818f grpc-js: Fix tracking of active calls in transport 2023-01-25 11:52:24 -08:00
Michael Lumish 6d98dc5bbf grpc-js: Hold a reference to transport in SubchannelCall 2023-01-25 10:01:45 -08:00
Michael Lumish ba405cf35e grpc-js: Clear deadline timer when call ends 2023-01-23 11:36:24 -08:00
Michael Lumish 7eaebaf1ed grpc-js: Undo changes to stream tracking 2023-01-12 10:00:28 -08:00
Michael Lumish fade30bd0a grpc-js: Make call and stream tracking more consistent 2023-01-12 09:47:19 -08:00
Michael Lumish b342001b38 grpc-js: Reference session in transport when there are active calls 2023-01-12 09:24:21 -08:00
Michael Lumish c0182608a8 grpc-js-xds: Add aggregate and logical_dns clusters 2023-01-11 10:49:56 -08:00
Michael Lumish b3b6310f04 grpc-js: Don't end calls when receiving GOAWAY 2023-01-10 15:24:22 -08:00
Michael Lumish 2d37686a1a grpc-js: Ensure ordering between status and final message 2023-01-09 10:24:17 -08:00
Michael Lumish a4d409db00
Merge pull request #2308 from murgatroid99/grpc-js_transport_refactor
grpc-js: Refactor `Transport` and `SubchannelConnector` out of `Subchannel`
2023-01-05 13:35:04 -08:00
Michael Lumish df8b8976dc grpc-js: Refactor Transport and SubchannelConnector out of Subchannel 2023-01-03 16:45:07 -08:00
Michael Lumish d2bd71348a
Merge pull request #2307 from murgatroid99/grpc-js_1.8.1
grpc-js: Bump to version 1.8.1
2023-01-03 14:09:40 -08:00
Michael Lumish 5006c14d72 grpc-js: Bump to version 1.8.1 2023-01-03 13:43:55 -08:00
Michael Lumish 08cc571d1e
Merge pull request #2277 from kleinsch/add_service_config_disable_resolution
grpc-js: Add support for grpc.service_config_disable_resolution
2023-01-03 13:17:34 -08:00
Michael Lumish fbfa73cdc8
Merge pull request #2305 from murgatroid99/grpc-js_trailers_only_default_headers
grpc-js: Add HTTP status and content type headers to trailers-only responses
2023-01-03 12:49:09 -08:00
Michael Lumish c62d41623b grpc-js: Discard buffer tracker entry when RetryingCall ends 2023-01-03 09:53:00 -08:00
Michael Lumish a1b9464de8 grpc-js: Add HTTP status and content type headers to trailers-only responses 2023-01-03 09:36:56 -08:00
Nick Kleinschmidt 677c009385 grpc-js: Add support for grpc.service_config_disable_resolution 2022-12-17 15:19:32 -07:00
Michael Lumish 161af8ca7b grpc-js: Prepare for 1.8.0 release
De-experimentalize xDS retry support, and update versions and documentation
2022-12-01 16:02:45 -05:00
Michael Lumish edf612a56a grpc-js-xds: Implement retry support 2022-11-29 14:29:47 -05:00
Michael Lumish fa21e13ef3 Limit maxAttempts to 5 for retries and hedging 2022-11-17 11:51:49 -08:00
Michael Lumish f1f351f3cd Fix handling of messages that overflow the buffer limit 2022-11-17 11:09:16 -08:00