Commit Graph

2564 Commits

Author SHA1 Message Date
Michael Lumish 21a40271d9 grpc-js-xds: Fix compatibility issues with updated generated code 2025-04-24 11:24:38 -07:00
Michael Lumish cc57e4b32c grpc-js-xds: Update generated code 2025-04-24 11:24:11 -07:00
Michael Lumish 08663f20af
Merge pull request #2886 from murgatroid99/grpc-js-xds_preserve_type_state_1.10.x
grpc-js-xds: Preserve resource type version and nonce when unsubscribing (1.10.x)
2025-01-16 15:44:56 -08:00
Michael Lumish b9527cf6d0 grpc-js{,-xds}: Renew self-signed certificates used in tests 2025-01-16 14:57:34 -08:00
Michael Lumish dd67eb6a8a grpc-js-xds: Preserve resource type version and nonce when unsubscribing 2025-01-16 13:31:35 -08: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 810e9e6a40 grpc-js: Ensure pending calls end after channel close 2024-07-09 15:14:44 -07: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
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
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
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 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
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
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 87a3541402 grpc-js: Fix UDS channels not reconnecting after going idle 2024-05-14 14:47:53 -07: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
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 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
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 e1f831a57b grpc-js: Call custom checkServerIdentity when target name override is set 2024-04-01 10:03:51 -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