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
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
Michael Lumish
f1f8d1ba61
grpc-js: Make a few improvements to DNS resolving timing
2023-09-11 13:51:32 -07:00
Michael Lumish
4bff372df7
grpc-js: Remove logging in QueuePicker
2023-09-07 17:24:17 -07:00
Michael Lumish
3a43cba3a3
grpc-js-xds: Implement ring_hash LB policy
2023-09-07 17:14:39 -07:00
Michael Lumish
00e1ac46a8
grpc-js: Pass channel options to LoadBalancer constructors
2023-09-06 10:39:56 -07:00
Michael Lumish
092d1e96e2
Merge pull request #2561 from murgatroid99/grpc-js_pick_first_leaf
...
grpc-js: Make pick_first the universal leaf policy, plus related changes
2023-08-31 15:46:22 -07:00
Michael Lumish
e7e199c501
Merge pull request #2564 from murgatroid99/grpc-js_ping_first_equality_check_backport
...
grpc-js: Fix pick-first-load-balancer pick subchannel lost state listener (1.9.x)
2023-08-31 10:26:24 -07:00
Michael Lumish
2fe961d5b1
grpc-js: Bump to version 1.9.2
2023-08-31 09:37:34 -07:00
gusumuzhe
f5218edf82
fix: pick first load balancer call doPick infinite
2023-08-31 09:36:52 -07:00
Michael Lumish
83789c15db
grpc-js: Handle keepalive ping error
2023-08-31 09:35:24 -07:00
Michael Lumish
266af4c19f
Add pick_first tests
2023-08-30 15:16:25 -07:00
Michael Lumish
3ff8b674bb
Export HealthListener type in experimental
2023-08-30 14:57:52 -07:00
Michael Lumish
49b7c6af34
grpc-js: Make pick_first the universal leaf policy, switch to endpoint lists
2023-08-30 14:46:08 -07:00
gusumuzhe
613c9144d9
fix: pick first load balancer call doPick infinite
2023-08-29 17:39:38 +08:00
Michael Lumish
9ca8302725
Add tests and fix bugs
2023-08-23 14:32:15 -07:00
Michael Lumish
c679726246
Add custom LB interop test support
2023-08-22 09:53:19 -07:00
Michael Lumish
7ca0af6eec
Merge pull request #2550 from murgatroid99/grpc-js_service_config_parsing
...
grpc-js: Fix method config name handling in service configs
2023-08-21 17:22:44 -07:00
Michael Lumish
cd25bada71
Merge pull request #2552 from murgatroid99/grpc-js_deferred_write_callback
...
grpc-js: Defer actions in http2 stream write callback
2023-08-21 17:22:35 -07:00
Michael Lumish
8896bfe4c9
grpc-js: Defer actions in http2 stream write callback
2023-08-21 13:30:33 -07:00
Michael Lumish
f9af919393
grpc-js: Update dependency on @grpc/proto-loader
2023-08-21 13:17:11 -07:00
Michael Lumish
69257a7893
grpc-js: Fix method config name handling in service configs
2023-08-21 13:01:15 -07:00
Michael Lumish
1221772052
grpc-js: Switch Timer type to Timeout
2023-08-14 10:31:16 -07:00
Michael Lumish
ea5c18d232
grpc-js: Switch Timer type to Timeout
2023-08-14 10:15:46 -07:00
Michael Lumish
d7c27fb3aa
grpc-js: Add config parsing tests and fix outlier detection config parsing
2023-08-11 11:09:55 -07:00
Michael Lumish
7a8d4630ba
Merge pull request #2535 from murgatroid99/grpc-js_channelz_improvements
...
grpc-js: Improve formatting of channelz logs for grpcdebug
2023-08-08 15:01:16 -07:00
Michael Lumish
9ef4655b3a
Merge pull request #2536 from murgatroid99/grpc-js_pick_cancel_race
...
grpc-js: Handle race between call cancellation and auth metadata generation
2023-08-08 15:01:00 -07:00
Michael Lumish
a4ba925352
grpc-js: Add null check in pick_first array access
2023-08-08 10:37:20 -07:00