Commit Graph

2564 Commits

Author SHA1 Message Date
Justin Timmons 87e1f79846 docs(grpc-reflection): moved example to common directory and match grpc-go server 2023-11-15 20:49:03 -05:00
Justin Timmons 2449abe398 refactor(grpc-reflection): simplified request handling and file dependency logic 2023-11-15 08:28:47 -05:00
Justin Timmons 89a5cbbdf4 chore(grpc-reflection): cleaned up package dependencies 2023-11-14 22:28:08 -05: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
Justin Timmons 3b4f92ee62 refactor(grpc-reflection): file cleanup and enabled ts strict mode 2023-11-08 22:43:18 -05:00
Justin Timmons 215078f49a feat(grpc-reflection): added reflection service to add capability to a users server 2023-11-08 22:39:06 -05:00
Justin Timmons 54df17727f feat(grpc-reflection): created new grpc-reflection package ported from nestjs-grpc-reflection library 2023-11-08 22:39:06 -05: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 7e53472048
Merge pull request #2586 from murgatroid99/grpc-js_round_robin_backoff_ref
grpc-js: Unref backoff timer in subchannel
2023-09-26 16:49:35 -07:00
Michael Lumish ea6ba89ead grpc-js: Bump version to 1.9.4 2023-09-26 16:35:13 -07:00
Michael Lumish 4c6869091e grpc-js-xds: Don't call git commands in npm scripts 2023-09-26 16:06:03 -07:00
Michael Lumish e6099d71f2 grpc-js: Unref backoff timer in subchannel 2023-09-26 15:17:55 -07:00
Michael Lumish 71936fab74
Merge pull request #2575 from murgatroid99/health-check_2.0
grpc-health-check: Version 2.0
2023-09-25 14:43:56 -07:00
Michael Lumish e1415fe7bc grpc-js-xds: Force submodule update and code generation in prepare script 2023-09-25 10:30:10 -07:00
Michael Lumish 32c816c9d1
Merge pull request #2572 from murgatroid99/grpc-js-xds_pick_first
grpc-js-xds: Add support for pick_first in xDS config
2023-09-21 10:19:03 -07:00
Michael Lumish c8b9a45bc9 grpc-js-xds: Fix behavior when channel goes IDLE 2023-09-21 10:02:39 -07:00
Michael Lumish 5be024f060 grpc-js: Delegate to child picker in ResolvingLoadBalancer#updateResolution 2023-09-18 17:32:29 -07:00
Michael Lumish 524bb7d341 grpc-health-check: Implement version 2.0 update 2023-09-18 14:59:31 -07:00
Michael Lumish afbdbdeec3 grpc-health-check: Add generated code for version 2.0 2023-09-18 13:50:42 -07:00
Michael Lumish ab02dc0be4 proto-loader: Allow the grpcLib option to be omitted in the type generator 2023-09-13 16:57:45 -07:00
Michael Lumish fe74b60440 grpc-js-xds: Add support for pick_first in xDS config 2023-09-13 14:27:25 -07:00
Michael Lumish 6567f8d7cd Update code generation with PickFirst message 2023-09-13 14:07:22 -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 a02622572a Improve Listener resource log formatting 2023-09-12 13:00:15 -07:00
Michael Lumish 506748b8a4 Enable ring_hash tracing in interop tests 2023-09-12 12:41:35 -07:00
Michael Lumish 8df1bd712f Treat ring_hash_lb_config field as optional 2023-09-12 10:08:25 -07:00
Michael Lumish 57c1bd2ede grpc-js-xds: interop client: reduce periodic logging 2023-09-11 17:32:41 -07:00
Michael Lumish e570a99d6d Improve unvalidated resource log formatting 2023-09-11 17:29:01 -07:00
Michael Lumish 5c8b11b0be Trace parsed unvalidated resources 2023-09-11 15:39:19 -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 c41c3dae7b Test ring_hash fallback on dropped connection 2023-09-08 14:51:58 -07:00
Michael Lumish 0b2281b028 Revert version support change, run ring_hash tests conditionallly 2023-09-08 10:12:14 -07:00
Michael Lumish 9e487e44ab grpc-js-xds: Update gts dependency for compatibility with TypeScript update 2023-09-07 18:07:20 -07:00
Michael Lumish 9974f7704d grpc-js-xds: Drop support for Node versions below 16 2023-09-07 17:59:35 -07:00
Michael Lumish 4bff372df7 grpc-js: Remove logging in QueuePicker 2023-09-07 17:24:17 -07:00
Michael Lumish 036e0e1b7f grpc-js-xds: Enable xDS affinity test 2023-09-07 17:15:20 -07:00
Michael Lumish 3a43cba3a3 grpc-js-xds: Implement ring_hash LB policy 2023-09-07 17:14:39 -07:00
Michael Lumish 3096f22ba6 grpc-js-xds: Add xxhash-wasm dependency, generate ring_hash code 2023-09-07 17:12:58 -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 e919aa7aa3 grpc-js-xds: Update LB policies to handle grpc-js changes 2023-08-30 14:47:06 -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 04ef12518d Add custom LB test from interop test, fix a bug 2023-08-25 10:19:01 -07:00
Michael Lumish d1f0d9f80d grpc-js-xds: interop: add custom_lb test, reformat test list 2023-08-24 13:38:56 -07:00
Michael Lumish 354bd2d5c3
Merge pull request #2555 from murgatroid99/grpc-js-xds_custom_lb_policy
grpc-js-xds: Implement custom LB policies
2023-08-24 11:22:39 -07:00
Michael Lumish 91631ba11c Update XdsClusterImpl LB policy to accept unset LRS config 2023-08-24 10:02:30 -07:00
Michael Lumish c8b5d3119b Fix missing proto file references 2023-08-23 16:13:00 -07:00
Michael Lumish fa26f4f70f Add spec links 2023-08-23 14:36:49 -07:00
Michael Lumish 9ca8302725 Add tests and fix bugs 2023-08-23 14:32:15 -07:00
Michael Lumish 7326035363 Fix tests 2023-08-23 09:37:47 -07:00
Michael Lumish a417e9bc3b proto-loader: Bump version to 0.7.9 2023-08-22 13:49:52 -07:00
Michael Lumish a0e028f788 grpc-js-xds: Fix backoff timer reference when handling LRS stream messages 2023-08-22 11:19:23 -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 13a6e6d273 grpc-js-xds: Update envoy-api dependency and code generation 2023-08-16 10:24:47 -07:00
Michael Lumish eb6f1338ab grpc-js-xds: Implement custom LB policies 2023-08-16 10:22:41 -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 aa905bf289
Merge pull request #2542 from murgatroid99/grpc-js-xds_config_parsing_tests
grpc-js-xds: Add config parsing tests
2023-08-10 14:56:33 -07:00
Michael Lumish b2ad73a0f3 grpc-js-xds: Add config parsing tests 2023-08-10 13:54:43 -07:00
Michael Lumish 4f8db6907e grpc-js-xds: Fix a typo in xds_cluster_impl parsing code 2023-08-10 09:40:37 -07:00
Michael Lumish 7ae331bd93 Also enable LRS for LOGICAL_DNS test cluster resources 2023-08-09 11:07:34 -07:00
Michael Lumish 11e19fb450 Enable LRS in local tests and fix LRS config generation bugs 2023-08-09 11:02:33 -07:00
Michael Lumish 8f9bd7a9ee grpc-js-xds: Fix handling of LRS server configs 2023-08-09 10:45:07 -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
Michael Lumish 08bcbfc677 grpc-js-xds: Adjust LB policy config handling for grpc-js changes 2023-08-07 17:25:39 -07:00
Michael Lumish d28b9e8c37 grpc-js: Return LB policy configs from resolvers in JSON form 2023-08-07 17:23:57 -07:00
Michael Lumish 01749a8d41 Explicitly log credentials/cancellation races 2023-08-03 09:24:24 -07:00
Michael Lumish 30bc44f4ce grpc-js: Handle race between call cancellation and auth metadata generation 2023-08-02 16:48:57 -07:00
Michael Lumish bb2942197e grpc-js: Improve formatting of channelz logs for grpcdebug 2023-08-02 16:42:29 -07:00
Michael Lumish 49b629ffb0 grpc-js/grpc-js-xds: Update to 1.9.0, and update READMEs 2023-07-31 16:55:27 -07:00
Michael Lumish 14b11f6b99
Merge pull request #2511 from murgatroid99/grpc-js_pick_first_update
grpc-js: Implement pick_first sticky TF and address list shuffling
2023-07-31 16:11:39 -07:00
Michael Lumish b86615c1a3
Merge pull request #2508 from murgatroid99/grpc-js_server_clear_deadline_cancel
grpc-js: Cancel deadline timer on server when call is cancelled
2023-07-31 15:47:22 -07:00
Michael Lumish ff25a75ce9
Merge pull request #2507 from murgatroid99/grpc-js_tls_trace
grpc-js: Add channel option to enable TLS tracing
2023-07-31 15:45:35 -07:00
Michael Lumish 96213d1d68
Merge pull request #2521 from murgatroid99/v1.8.x_upmerge_3
Merge 1.8.x into master
2023-07-31 15:11:05 -07:00
Michael Lumish 1d38cc319c Merge remote-tracking branch 'upstream/@grpc/grpc-js@1.8.x' into v1.8.x_upmerge_3 2023-07-28 14:53:43 -07:00
Michael Lumish 4e111e7792 grpc-js: Fix propagation of UNIMPLEMENTED error messages 2023-07-28 14:21:33 -07:00
Michael Lumish aee1789145 proto-loader: Increment version to prerelease version 2023-07-28 11:49:30 -07:00
Michael Lumish a1525bf298
Merge pull request #2504 from haines/update-long
proto-loader: Update long dependency to match protobufjs
2023-07-28 11:41:32 -07:00
Michael Lumish e43fa71619 Fix formatting 2023-07-25 10:11:45 -07:00
Michael Lumish e83ce3b6fd Merge remote-tracking branch 'upstream/@grpc/grpc-js@1.8.x' into v1.8.x_upmerge_3 2023-07-25 10:10:16 -07:00
Michael Lumish 6d97956549 grpc-js: Fix a crash when grpc.keepalive_permit_without_calls is set 2023-07-25 09:40:45 -07:00
Michael Lumish 66cd8519bd grpc-js: pick_first: Properly dispose of current pick when it disconnects 2023-07-24 16:00:13 -07:00
Michael Lumish 71d035b5bf Fix formatting 2023-07-24 13:54:30 -07:00
Michael Lumish 981efb6eca Merge remote-tracking branch 'upstream/@grpc/grpc-js@1.8.x' into v1.8.x_upmerge_again 2023-07-24 13:53:17 -07:00
Michael Lumish 42a02749eb grpc-js: Fix compilation error from new @types/node version 2023-07-24 13:08:55 -07:00
Michael Lumish 2e9060385c grpc-js: Fix keepalive ping timing after inactivity 2023-07-24 11:20:00 -07:00
Michael Lumish 698d1427c6 grpc-js: Implement pick_first sticky TF and address list shuffling 2023-07-21 09:45:34 -07:00
Michael Lumish 54409d00f3 grpc-js: Fix transport trace message formatting 2023-07-14 14:15:44 -07:00
Michael Lumish 7c3a5fe70c grpc-js: Cancel deadline timer on server when call is cancelled 2023-07-14 10:58:53 -07:00
Michael Lumish cb11e66c59 grpc-js: Add channel option to enable TLS tracing 2023-07-14 10:46:03 -07:00
Michael Lumish 66bcc7a2cc grpc-js: Reformat files and fix lint errors 2023-07-13 14:20:54 -07:00
Michael Lumish 220a70289c Merge remote-tracking branch 'upstream/@grpc/grpc-js@1.8.x' into v1.18.x_upmerge 2023-07-13 14:14:29 -07:00
Michael Lumish 9ce6e4919d
Merge pull request #2501 from CedricKassen/master
Fix premature leaving of context due to improper Http2ServerCallStream handling
2023-07-13 13:21:31 -07:00
Cedric Kassen 8ed0a50c58 directly pass deserializeMessageWithInternalError to resolve 2023-07-13 20:59:04 +02:00
Andrew Haines 9c3640f958
proto-loader: Update long dependency to match protobufjs
Signed-off-by: Andrew Haines <andrew@haines.org.nz>
2023-07-13 10:17:16 +01:00
Cedric Kassen c5bdd9c398 remove oversight asyncs and replace safeDeserializeMessage 2023-07-13 08:01:09 +02:00
Michael Lumish 493cbaaf45 grpc-js: Increment version to 1.8.18 2023-07-12 15:23:34 -07:00
Michael Lumish 713a2c9bd1 grpc-js: Enable the noUnusedLocals TypeScript compiler option 2023-07-12 15:22:15 -07:00
Michael Lumish 45e277547f grpc-js: Fix mistakenly committed testing changes 2023-07-12 14:55:49 -07:00
Cedric Kassen 555643dcc8 try catch promise rejection and sendError 2023-07-12 14:31:11 +02:00
Cedric Kassen 14b18a4bba promisify receiveUnaryMessage server-call 2023-07-12 14:31:10 +02:00
Michael Lumish 513f72a4fc proto-loader: Increment version to 0.7.8 2023-07-11 10:54:15 -07:00
Lucio Martinez 31adc1dac1 Fixes security issue by upgrading `protobufjs` 2023-07-10 22:03:01 +00:00
Michael Lumish 3cef1ba547 Merge pull request #2488 from grpc/psm-interop-server-bump
grpc-js-xds: Bump the canonical server from v1.46.x to v1.56.0
2023-06-28 16:13:18 -07:00
Sergii Tkachenko d2a3ef45c0
grpc-js-xds: Bump the canonical server from v1.46.x to v1.56.0
Similar to https://github.com/grpc/grpc/pull/33542.

Note that there's a ticket to automatically use the one specified in the `--server_image_canonical` flag, but for now we just hardcode.
2023-06-28 13:55:27 -07:00
Michael Lumish 409418b103
Merge pull request #2476 from murgatroid99/grpc-js_prohibit_od_pick_first
grpc-js: Disallow pick_first as child of outlier_detection
2023-06-27 10:31:12 -07:00
Michael Lumish 51c5b9491a
Merge pull request #2471 from murgatroid99/grpc-js_channel_idle_timeout
grpc-js: Implement channel idle timeout
2023-06-27 10:21:59 -07:00
Michael Lumish d507624ffb
Merge pull request #2473 from murgatroid99/grpc-js_compression_documentation
grpc-js: Update documentation of compression behavior in README
2023-06-27 10:14:18 -07:00
Michael Lumish ed70a0b381 Fix handling of OD policy with no child 2023-06-27 10:11:45 -07:00
Michael Lumish 974f8100ea
Merge pull request #2463 from murgatroid99/grpc-js-xds_federation
grpc-js-xds: Implement federation support
2023-06-26 15:15:51 -07:00
Michael Lumish 2ee8a68ac6
Merge pull request #2477 from murgatroid99/grpc-js-xds_docker_distroless
grpc-js-xds: Use distroless Node image for interop Dockerfile
2023-06-26 09:48:43 -07:00
Sergii Tkachenko 073caf5b83
Merge pull request #2478 from murgatroid99/grpc-js-xds_docker_distroless_1.8.x
grpc-js-xds: Use distroless Node image for interop Dockerfile (1.8.x)
2023-06-23 20:05:31 -04:00
Michael Lumish a6aa7ea43e Merge pull request #2475 from XuanWang-Amos/file_multiple_url_map
[PSM interop] Don't fail target if sub-target already failed
2023-06-23 17:40:49 +00:00
Michael Lumish 5d731c4c62
Merge pull request #2475 from XuanWang-Amos/file_multiple_url_map
[PSM interop] Don't fail target if sub-target already failed
2023-06-23 10:37:01 -07:00
Michael Lumish a62d2b027b Use entrypoint /nodejs/bin/node 2023-06-23 09:34:59 -07:00
Michael Lumish 9b7e5e66ab Use entrypoint /nodejs/bin/node 2023-06-23 09:34:29 -07:00
Michael Lumish 9441de78f6 grpc-js-xds: Use distroless Node image for interop Dockerfile 2023-06-22 17:04:54 -07:00
Michael Lumish cc89158e13 grpc-js-xds: Use distroless Node image for interop Dockerfile 2023-06-22 16:52:53 -07:00