Commit Graph

2796 Commits

Author SHA1 Message Date
Michael Lumish 63d97170da grpc-js: Prioritize HTTP status errors over message decoding errors 2024-12-18 15:14:22 -05:00
Michael Lumish daaa1c37b3 grpc-js-xds: Add interop server implementation 2024-12-18 15:05:22 -05:00
Michael Lumish fad797fd92 Improve round robin error message 2024-12-10 15:27:49 -05:00
Michael Lumish 2a4cd42f82 grpc-js: Propagate error messages through LB policy tree 2024-12-10 14:20:55 -05:00
Michael Lumish 41f3fc096d Remove test that became invalid 2024-12-09 14:52:12 -05:00
Michael Lumish b84940ef0c grpc-js-xds: Add XdsChannelCredentials 2024-12-09 14:12:24 -05:00
Ricki Hastings d08318d8c1 fix: allow configurable http2 initial window size. fixes #2429 2024-12-06 11:48:31 +00:00
Michael Lumish 5e3b0fb8e0 grpc-js: Improve event sequencing when handling connection drops 2024-12-04 10:54:50 -05:00
Michael Lumish 848e00e54c grpc-js: Restore socket disconnect handling 2024-12-02 15:14:40 -05:00
Michael Lumish bc749acad8 grpc-js-xds: Update @types/node and update code for compatibility 2024-12-02 08:18:00 -08:00
Michael Lumish 165732467d Merge branch 'master' into grpc-js_credentials_secure_connector 2024-11-22 16:05:22 -08:00
Michael Lumish bd00ccf5f3 grpc-js-xds: Update @types/node and update code for compatibility 2024-11-22 14:35:40 -08:00
Michael Lumish f154954854 grpc-js: Add security connector, rework connection establishment 2024-11-22 14:17:29 -08:00
Michael Lumish 86e62f2426 grpc-js: Pass channel args to LB policies with updates 2024-11-20 09:24:00 -08:00
Michael Lumish f621dc6c48
Merge pull request #2848 from murgatroid99/grpc-js_revert_lb_policy_creds_arg
Revert "grpc-js: Enable LB policies to override subchannel credentials"
2024-11-14 11:10:05 -08:00
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 ec9b3cfbb0 Add a test 2024-11-07 12:03:04 -08:00
Michael Lumish ac9ad67f0a grpc-js-xds: xds_cluster_manager: pass along updates to existing children 2024-11-07 11:32:28 -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 912beea1d9
Merge pull request #2819 from orwoods/master
Fixed generation of grpc services
2024-10-15 14:54:25 -07: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 d8f4343958 Add xds credentials tests 2024-10-14 11:13:54 -07:00
Michael Lumish 1ce0143220 Add support for testing with alternate credentials 2024-10-11 15:20:30 -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 50668f7164 grpc-js-xds: Enable dualstack support by default 2024-09-30 14:38:32 -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
Ivan Pakhomov 6a4e2dba98
Fixed generation of grpc services 2024-09-06 11:28:55 +02: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 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