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
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