Commit Graph

1252 Commits

Author SHA1 Message Date
Michael Lumish 57f0a71399 grpc-js: Enable LB policies to override subchannel credentials 2024-09-09 11:19:50 -07:00
Michael Lumish 0c5ab9876b
Merge pull request #2803 from murgatroid99/grpc-js_1.11.2
grpc-js: Bump to 1.11.2
2024-09-05 13:56:12 -07:00
Michael Lumish bb4496b482
Merge pull request #2817 from ygalbel/tracer-slow
made the call to trace to be called only when tracer is enabled
2024-09-05 11:14:44 -07:00
Ygal Bellaiche 90e472e4a1 made the call to trace to be called only when tracer is enabled 2024-09-05 10:44:36 +03:00
Bert Van Hauwaert 268d7eb42b Provide the method_name for the CallCredentials callback generateMetadata 2024-08-29 15:30:07 +02:00
Vinoth ca9f8c78e1 Adding fix to ignore self-signed certificates verification 2024-08-25 17:10:36 +05:30
Michael Lumish 3d43b1a7be Further reduce pick_first state space 2024-08-02 15:44:07 -07:00
Michael Lumish d409311bf2 grpc-js: Report session error events instead of waiting for close 2024-08-01 15:39:13 -07:00
Michael Lumish a6575c3e73 grpc-js: Simplify pick_first behavior 2024-07-30 17:59:08 -07:00
Michael Lumish b763f98e07 grpc-js: Bump to 1.11.2 2024-07-26 14:50:13 -07:00
Michael Lumish f5ea6ce271
Merge pull request #2801 from hastom/master
fix(grpc-js): client crash on custom error code
2024-07-26 14:47:45 -07:00
Michael Lumish ef7368263a Don't use AbortController 2024-07-25 16:27:53 -07:00
Michael Lumish ed53ea644c grpc-js: Add file watcher certificate provider, and credentials that use them 2024-07-25 15:42:52 -07:00
hastom 33073d0db2 Fix test case 2024-07-19 13:24:07 +03:00
hastom 15d422d5bb Fix client crash on custom error code 2024-07-18 12:57:40 +03:00
Michael Lumish 2ecd53d815 grpc-js: Bump to 1.11.1 2024-07-16 10:15:16 -07:00
xqin 996a6375c6
support node v14 again 2024-07-16 16:06:59 +08:00
Michael Lumish bf8e071efd grpc-js: Bump packages to 1.11.0, and update documentation 2024-07-12 14:02:18 -07:00
Michael Lumish e13d5e7006
Merge pull request #2793 from murgatroid99/grpc-js_server_call_get_host
grpc-js: Add `getHost` to surface server call classes
2024-07-12 10:33:29 -07:00
Michael Lumish d60f5166b2
Merge pull request #2795 from murgatroid99/grpc-js_retry_limit_option
grpc-js: Add a channel option to configure retry attempt limits
2024-07-12 10:29:50 -07:00
Michael Lumish 8ee8e99d99 grpc-js: Add a channel option to configure retry attempt limits 2024-07-11 15:14:56 -07:00
Michael Lumish ebdf52f3f2 grpc-js: Add getHost to surface server call classes 2024-07-11 11:28:43 -07:00
Michael Lumish 9ea4187849 Merge remote-tracking branch 'upstream/@grpc/grpc-js@1.10.x' into grpc-js_1.10.11_upmerge 2024-07-10 11:14:55 -07:00
Michael Lumish f8338c55c2
Merge pull request #2784 from murgatroid99/grpc-js_pick_first_reconnection_fix
grpc-js: Fix pick_first reconnecting without active calls
2024-07-10 10:49:06 -07:00
Michael Lumish 023c1d0532
Merge pull request #2791 from murgatroid99/grpc-js_channel_close_pick_fix
grpc-js: Ensure pending calls end after channel close
2024-07-10 10:27:47 -07:00
Michael Lumish f867643d8e
Merge pull request #2776 from gkampitakis/gkampitakis/patch_dns_lookup
fix: support authority overrides in the DNS resolver
2024-07-10 10:19:46 -07:00
Michael Lumish 810e9e6a40 grpc-js: Ensure pending calls end after channel close 2024-07-09 15:14:44 -07:00
gkampitakis a9aea45570
reset process env and add trace log 2024-07-09 22:36:20 +01:00
gkampitakis 3aaf0c6e52
reject lookup when all resolutions reject 2024-07-09 19:57:47 +01:00
gkampitakis 2a9f8f4c40
address comments for testing 2024-07-09 19:30:23 +01:00
Michael Lumish 395de4b333 grpc-js: Refresh server idle timer if not enough time has passed 2024-07-09 11:23:19 -07:00
Michael Lumish 745a451e4c grpc-js: Increase state change deadline in server idle tests 2024-07-09 11:03:15 -07:00
gkampitakis f0afe6946f
add tests for test-resolver with alternative resolver 2024-07-09 17:43:51 +01:00
Michael Lumish a5fac6f056 grpc-js: pick-first: Fix short circuit READY subchannel handling 2024-07-08 15:08:30 -07:00
Michael Lumish e804ad65b6 grpc-js: Bump to 1.10.11 2024-07-03 15:37:40 -07:00
Michael Lumish c1815e09e2 grpc-js: Fix pick_first reconnecting without active calls 2024-07-03 15:36:38 -07:00
gkampitakis c9fc8b2e0c
fix import node:dns promises 2024-07-03 18:29:01 +01:00
George Kampitakis cb58fbc5b0
fix: use GRPC_NODE_USE_ALTERNATIVE_RESOLVER for enabling new alternative resolver 2024-07-02 09:35:45 +01:00
Michael Lumish f2dcb21a77 Merge branch 'master' into grpc-js-xds_server2 2024-07-01 11:19:12 -07:00
Michael Lumish bac66ad291 grpc-js-xds: Implement xDS Server 2024-07-01 10:45:44 -07:00
gkampitakis 7f27b32245
resolve both ipv4 and ipv6 2024-06-27 13:32:40 +01:00
Matthew Binshtok d6925d9141 fix tests 2024-06-26 14:17:03 -04:00
Matthew Binshtok fc5bee791d fix error msgs in service config validation 2024-06-26 10:15:30 -04:00
Michael Lumish c9342572aa
Merge pull request #2778 from murgatroid99/grpc-js_1.10.10
grpc-js: Bump to 1.10.10
2024-06-24 14:09:55 -07:00
Michael Lumish 3c55b5b7b5
Merge pull request #2777 from murgatroid99/grpc-js_1.10_backports
Backport #2746 and #2761 to 1.10.x
2024-06-24 10:59:09 -07:00
Michael Lumish 42844cffd2 grpc-js: Re-add client-side max send message size checking 2024-06-20 13:15:12 -07:00
George Kampitakis 6278da6aec
support selecting resolver via env 2024-06-19 09:45:40 +01:00
George Kampitakis c3d073b0cc
update per comments 2024-06-19 09:45:26 +01:00
Michael Lumish cbab4e51cd grpc-js: Bump to 1.10.10 2024-06-18 15:42:59 -07:00
Brendan Myers 5ae5514454 fix: add decoding for url encoded user credentials 2024-06-18 15:38:59 -07:00
James Watkins-Harvey e759029532 HTTP CONNECT: handle early server packets 2024-06-18 15:38:45 -07:00
Michael Lumish c447875796
Merge pull request #2761 from brendan-myers/url-encoding
fix: add decoding for url encoded user credentials
2024-06-18 15:36:48 -07:00
Michael Lumish d90ca240fc
Merge pull request #2746 from mjameswh/http-connect-proxy-early-server-packet
HTTP CONNECT: handle early server packets
2024-06-18 15:36:28 -07:00
Michael Lumish 5c0226d0db
Merge pull request #2760 from davidfiala/@grpc/grpc-js@1.10.x
Keepalive bugfixes and unify timers strategies between client and server
2024-06-18 15:27:11 -07:00
Michael Lumish 52fe8e94e7
Merge pull request #2772 from murgatroid99/grpc-js_cardinality_error_hang
grpc-js: Fix client hang when receiving extra messages for a unary response
2024-06-18 15:25:59 -07:00
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 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