Commit Graph

1275 Commits

Author SHA1 Message Date
Michael Lumish 2ed62c1b76 grpc-js{,-xds}: Renew self-signed certificates used in tests 2024-11-14 10:30:53 -08:00
Michael Lumish c405404d96 grpc-js{,-xds}: Renew self-signed certificates used in tests 2024-11-13 17:37:33 -08:00
Michael Lumish 7a6107f7d3 Revert "grpc-js: Enable LB policies to override subchannel credentials"
This reverts commit 57f0a71399.
2024-11-13 16:28:22 -08:00
Michael Lumish eee7030a28 grpc-js-xds: Fix a couple of bugs with the config tears change 2024-11-06 16:24:39 -08:00
Michael Lumish 6e907b3153 grpc-js-xds: Implement relevant parts of A74 and A75 2024-11-04 17:30:19 -08:00
Michael Lumish 1a1024aa1e Add tests and fix bugs 2024-10-14 15:08:49 -07:00
Michael Lumish c87767e029 Merge branch 'master' into grpc-js-xds_server_creds 2024-10-14 11:14:16 -07:00
Michael Lumish e907d199c5 grpc-js: Use util.promisify instead of fs/promises for Node 12 compatibility 2024-10-09 11:12:20 -07:00
Michael Lumish 08172ba9d9 grpc-js-xds: Implement XdsServerCredentials 2024-10-08 15:52:11 -07:00
Michael Lumish 65cd9b678e grpc-js: Bump to 1.12.1 2024-10-08 09:24:58 -07:00
Michael Lumish f21855d882 Merge remote-tracking branch 'upstream/@grpc/grpc-js@1.11.x' into grpc-js_1.12_1.11_bugfix_merge 2024-10-08 09:24:32 -07:00
Michael Lumish 051c0480f5 grpc-js: Bump to 1.12.0 2024-10-01 10:32:21 -07:00
Michael Lumish 3c9436be8e
Merge pull request #2812 from vinothsa4891/bugfix/support-reject-unauthorized
Adding fix to ignore self-signed certificates verification
2024-09-23 22:26:01 -07:00
Michael Lumish 6d09389f95 grpc-js: Fix duration parsing bug 2024-09-19 09:36:48 -07:00
Vinoth Sermakani Alagendran 7121f27bb0 Changed condition 2024-09-19 12:22:35 +05:30
Vinoth Sermakani Alagendran 9e6887368c Moved rejectUnauthorized from channel option to connectionOptions 2024-09-19 11:55:31 +05:30
Michael Lumish d95ea3074d
Merge pull request #2823 from murgatroid99/grpc-js-xds_file_watcher_plugin
grpc-js-xds: Add bootstrap certificate provider config handling
2024-09-17 10:50:10 -07:00
Michael Lumish 3f84a73d93
Merge pull request #2821 from murgatroid99/grpc-js_subchannel_credentials_override
grpc-js: Construct LB policies with credentials and enable them to override subchannel credentials
2024-09-17 10:49:58 -07:00
Michael Lumish 8841efee5e
Merge pull request #2825 from murgatroid99/grpc-js_round_robin_reresolve
grpc-js: round_robin: Request resolution on connection drop
2024-09-16 15:26:56 -07:00
Michael Lumish a1b897206e
Merge pull request #2806 from murgatroid99/grpc-js_connectivity_management_fixes
grpc-js: Simplify pick_first behavior
2024-09-16 14:28:56 -07:00
Michael Lumish b3c24d080f grpc-js: round_robin: Request resolution on connection drop 2024-09-12 14:31:01 -07:00
Michael Lumish b16e1c9fe4 grpc-js-xds: Add bootstrap certificate provider config handling 2024-09-11 17:31:41 -07:00
Michael Lumish 605f14a0b5
Merge pull request #2814 from becoded/call-credential-generate-metadata-method-name
Provide the method_name for the CallCredentials callback generateMetadata
2024-09-10 14:28:48 -07:00
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