Commit Graph

1817 Commits

Author SHA1 Message Date
Michael Lumish 569a34d989
Merge pull request #1831 from murgatroid99/grpc-js_feature_note
grpc-js: Add note in README about feature parity requests
2021-06-28 14:37:52 -07:00
Michael Lumish 0ad7cc1ec9 grpc-js-xds: case_sensitive flag should not affect regex matcher 2021-06-28 14:37:21 -07:00
Michael Lumish 6ba982548e proto-loader: bump to 0.6.4 2021-06-28 13:17:16 -07:00
Mike Lewis 41e09f7d12
Prevent early return in proto-loader containsDefinition
f289c343b3 introduced a bug - the
recursive for-loop descended into the first elements nested array
and returned that value without iterating over the other members
of the array. This means that the code would only work correctly
when the protofile contained a definition whose name was alphabetically
first amongst its siblings.

This commit fixes the issue by moving the call to containsDefinition
into the if statement to allow iteration to continue if
containsDefinition returns false.
2021-06-28 19:40:18 +01:00
Michael Lumish 32cd3504cc grpc-js: Add note in README about feature parity requests 2021-06-28 11:24:43 -07:00
Michael Lumish 031ae9472e grpc-js: Refactor code to eliminate runtime dependency cycles 2021-06-24 09:50:02 -07:00
Michael Lumish fa5066759d grpc-js: Unref timers for keepalive functionality 2021-06-23 14:01:56 -07:00
Michael Lumish 12b2412356 proto-loader: Bump to version 0.6.3 2021-06-23 12:46:53 -07:00
Mike Lewis 61e64a3c4f
Update golden-generated in proto-loader
Signed-off-by: Mike Lewis <mtlewis@users.noreply.github.com>
2021-06-23 17:55:38 +01:00
Mike Lewis f289c343b3
Avoid unused definition imports from proto-loader
Since proto files don't always contain all types of definition, it was
possible to get into a state where generated code contained unused
imports which caused TS errors. This change makes those imports
conditional on the existence of the corresponding definitions in the
proto file.

Co-authored-by: Austin Puri <austin.puri@gmail.com>
Co-authored-by: Joe Porpeglia <josephp@spotify.com>
Signed-off-by: Mike Lewis <mtlewis@users.noreply.github.com>
2021-06-23 16:46:23 +01:00
Michael Lumish d894809e0e grpc-js: Bump version to 1.3.3 2021-06-21 14:42:09 -07:00
Michael Lumish 118a6df067 grpc-js: Make logging behavior more similar to core 2021-06-21 13:41:54 -07:00
Michael Lumish 237ea8308a grpc-js: Make logging behavior more similar to core 2021-06-18 14:37:03 -07:00
Michael Lumish cb505b4556 grpc-tools: Bump to version 1.11.2 2021-06-17 11:12:35 -07:00
David Goitia acfb3c2829
Update node-pre-gyp dependency 2021-06-17 14:35:29 +02:00
Michael Lumish 8a38cd8549 grpc-js: Refactor FilterStack usage 2021-06-10 14:48:33 -07:00
Michael Lumish 47ac924abe
Merge pull request #1794 from murgatroid99/grpc-js-xds_circuit_breaking
grpc-js-xds: Add circuit breaking functionality
2021-06-02 15:33:56 -07:00
Michael Lumish f01b6d9fca grpc-js: Export ServerErrorResponse type, which is used in public APIs 2021-06-02 13:42:41 -07:00
Michael Lumish 43a3bad549 Fix circuit breaking functionality 2021-06-02 08:56:10 -07:00
Michael Lumish ec7c819181 grpc-js-xds: Enable circuit breaking test 2021-05-20 10:30:28 -07:00
Michael Lumish 65d8c2b7e3 Merge branch 'master' into grpc-js-xds_circuit_breaking 2021-05-20 10:23:32 -07:00
Michael Lumish d51551f6d7 grpc-js-xds: Add support for timeout xDS interop test
Add more logging
2021-05-19 13:25:33 -07:00
Michael Lumish f5b9e7bab1 grpc-js-xds: Add circuit breaking functionality 2021-05-17 14:52:45 -07:00
Michael Lumish f4f1d54031 grpc-js-xds: Propagate timeouts from xDS responses to method config 2021-05-17 11:08:22 -07:00
Michael Lumish 663fe77e72
Merge pull request #1785 from murgatroid99/grpc-js_service_config_timeout
grpc-js: Apply timeouts from service configs
2021-05-14 14:16:09 -07:00
Michael Lumish 1e9bf301b7
Merge pull request #1765 from murgatroid99/grpc-js-xds_v3_support
grpc-js-xds: Add xDS v3 API support
2021-05-14 14:15:49 -07:00
Michael Lumish bf7d200791 grpc-js: Change function check to handle async functions 2021-05-13 10:36:06 -07:00
Michael Lumish e3106b99ca Don't query the config selector for calls that have ended 2021-05-12 14:38:02 -07:00
Michael Lumish 7de0d08e29 grpc-js: Apply timeouts from service configs 2021-05-12 14:30:25 -07:00
Michael Lumish 126961a7da
Merge pull request #1780 from murgatroid99/grpc-js_econnreset_error_parsing
grpc-js: Look for ECONNRESET errors by checking the error code
2021-05-11 10:11:48 -07:00
Michael Lumish 21b5ba8d21
Merge pull request #1770 from murgatroid99/grpc-js_connectivity_improvements
grpc-js: Don't transition out of idle when discarding subchannels
2021-05-11 10:11:14 -07:00
Michael Lumish f009cd7b9f grpc-js: Look for ECONNRESET errors by code instead of errno 2021-05-10 11:06:16 -07:00
Michael Lumish 7c2acccff5 proto-loader: Bump to 0.6.2 2021-05-06 14:28:15 -07:00
Michael Lumish cc0c8deea3 grpc-js: Make GRPC_VERBOSITY accept lower-case values 2021-05-06 13:09:16 -07:00
Eduardo Laranjo a5fb029e70 Add new generated golden files 2021-05-05 13:41:45 +01:00
@EduardoLaranjo 4c767ca946
Fix auto-generated service definition
relate to issue #1766
2021-05-04 19:27:24 +01:00
Michael Lumish 6711620c1a grpc-js-xds: Add xDS v3 support to the client
Add xDS v3 test job
2021-05-04 09:36:27 -07:00
Michael Lumish 9253b7f104 grpc-js: Don't transition out of idle when discarding subchannels 2021-04-30 12:53:26 -07:00
Michael Lumish d82b1a3803
Merge pull request #1761 from zereraz/master
grpc-js: stricter function check than instanceof
2021-04-27 13:58:25 -07:00
zereraz 923b44bb1c grpc-js: Add type predicate to fix errors for isFunction 2021-04-28 00:18:35 +05:30
Michael Lumish d35fa3ab37
Merge pull request #1749 from murgatroid99/grpc-js_v1.3.0_bump
grpc-js: Update versions and xDS feature list
2021-04-27 10:47:25 -07:00
zereraz 7a8cd5a4bd grpc-js: Use helper isFunction 2021-04-24 14:13:41 +05:30
Sahebjot singh 076aeccfdc
grpc-js: stricter function check than instanceof
instanceof does not work in vm context
2021-04-21 09:01:42 +05:30
Michael Lumish c9aad43358 grpc-js: Add support for ipv4 and ipv6 schemes 2021-04-16 13:35:42 -07:00
Michael Lumish bf1b078816 grpc-js: Update versions and xDS feature list 2021-04-14 14:58:36 -07:00
Michael Lumish f3b6eb1c85 grpc-js-xds: Update deps and generated code for xDS v3 2021-04-14 14:00:16 -07:00
Michael Lumish bf2e5cb1dd
Merge pull request #1745 from murgatroid99/proto-loader_generate_service_definition
proto-loader: generator: add specific service definition interfaces
2021-04-14 13:58:19 -07:00
Michael Lumish e7dccd6656 proto-loader: Bump version to 0.6.1 2021-04-08 13:00:04 -07:00
Michael Lumish c3a49262cc proto-loader: generator: add specific service definition interfaces 2021-04-08 12:56:50 -07:00
Michael Lumish 799bd16fe6 proto-loader: generator: allow for null message values 2021-04-08 11:22:04 -07:00
Michael Lumish 48afaf12c9
Merge pull request #1739 from murgatroid99/grpc-js_no_version_check
grpc-js: Remove explicit version compatibility check
2021-04-06 14:17:00 -07:00
Michael Lumish 72136bcf0b grpc-js: Remove explicit version compatibility check 2021-04-06 10:57:11 -07:00
Michael Lumish 746381a012 grpc-js-xds: Update proto-loader dependency and regenerate generated files 2021-04-06 10:49:43 -07:00
Michael Lumish b920292b59
Merge pull request #1474 from murgatroid99/proto-loader_type_generator
proto-loader: Add TypeScript generator
2021-04-06 10:31:18 -07:00
Michael Lumish b830a7ba88
Merge pull request #1734 from murgatroid99/grpc-js-xds_routing_no_env_protection
grpc-js-xds: Remove env var protection for routing feature
2021-04-05 13:37:16 -07:00
Michael Lumish 87614c385f Don't use the removed env var in the script 2021-04-02 11:21:11 -07:00
Michael Lumish 66d93c0f65 Merge remote-tracking branch 'upstream/@grpc/grpc-js@1.2.x' into grpc-js_1.2_upmerge_2 2021-04-02 11:19:13 -07:00
Michael Lumish abfe46b99d grpc-js-xds: Remove env var protection for routing feature 2021-04-02 11:12:41 -07:00
Michael Lumish c3aeb94b8c
Merge pull request #1666 from dwrip/master
feature(grpc-js): Add possibility to provide maxSessionMemory http2 option through ChannelOptions
2021-04-02 11:09:57 -07:00
Michael Lumish 3468e58a06
Merge pull request #1724 from murgatroid99/grpc-js-xds_a28_interop_attempt_2
Enable path_matching and header_matching xDS interop tests
2021-04-02 11:09:30 -07:00
Michael Lumish 65f1eb4a29 Add default values to generator usage info 2021-04-01 11:53:30 -07:00
Andrey Melnik 65d4de8e6a Merge branch 'master' of https://github.com/grpc/grpc-node 2021-04-01 10:22:06 +03:00
Andrey Melnik 21176c23ab feature(grpc-js): Add possibility to provide maxSessionMemory http2 option through ChannelOptions 2021-04-01 10:21:28 +03:00
Michael Lumish 0aa99dd4fb Merge branch 'proto-loader_type_generator' of github.com:murgatroid99/grpc-node into proto-loader_type_generator 2021-03-31 13:22:26 -07:00
Michael Lumish 3ac1e6ddb8 Address review comments 2021-03-31 13:22:08 -07:00
Michael Lumish 4742f9d57e Combine output for input files with the same basename 2021-03-31 13:04:05 -07:00
Michael Lumish a907086be4 Remove temporary debug log line 2021-03-30 13:26:42 -07:00
Michael Lumish 49cd040154 grpc-js-xds: Fix sending stats when reestablishing LRS stream 2021-03-30 11:39:19 -07:00
Michael Lumish 30a90d8aaa xDS interop client: fix handling of metadata argument 2021-03-30 00:10:13 -07:00
Michael Lumish 506982107f Fix xDS interop client metadata logging 2021-03-29 14:28:22 -07:00
Michael Lumish 6be480c58f Add more trace logging 2021-03-29 12:49:20 -07:00
Michael Lumish 8c7145ba5f xDS interop client: add more debug logging 2021-03-25 15:56:33 -07:00
Michael Lumish 6661ff3fbf xDS interop client: add support for rpc and metadata command line args 2021-03-25 13:19:54 -07:00
Michael Lumish 3ddb8c0cf2 xDS interop client: add support for rpcs_by_method stats response 2021-03-25 10:44:45 -07:00
Michael Lumish b995fa62cf grpc-js-xds: Refactor matcher and routeAction for logging, add more interop client logging 2021-03-24 14:08:21 -07:00
Michael Lumish 5cf93cf5fd
Fix a typo in a comment
Co-authored-by: Ian Edington <IanEdington@gmail.com>
2021-03-24 09:35:27 -07:00
Michael Lumish bc05778f4a
Merge pull request #1725 from murgatroid99/grpc-tools_plugin_optional_fix
grpc-tools: make the plugin compatible with proto3 optional fields
2021-03-23 13:38:18 -07:00
Michael Lumish ac96f5c08b
Merge pull request #1713 from SOVLOOKUP/master
protobuf.js JSON descriptor
2021-03-23 13:36:41 -07:00
Michael Lumish 661fae88c6 grpc-tools: make the plugin compatible with proto3 optional fields 2021-03-22 11:40:23 -07:00
Michael Lumish 40e623c7a5 Enable path_matching and header_matching xDS interop tests 2021-03-22 11:02:59 -07:00
Michael Lumish b2c4dcc9e8
Merge pull request #1704 from murgatroid99/grpc-js-xds_routing_traffic_splitting_config_selector
grpc-js-xds: Do traffic splitting and routing in the resolver
2021-03-22 10:59:45 -07:00
Michael Lumish 4623ecca42 grpc-js: don't send accept-encoding: gzip 2021-03-22 10:47:36 -07:00
于北 2ce608e1f4
Porto-loader fromJSON rm if optiondir 2021-03-19 08:33:23 +08:00
Michael Lumish 995540ceec Update golden generated files to match recent changes 2021-03-18 13:22:03 -07:00
Michael Lumish 07764acda5
Merge pull request #1715 from murgatroid99/grpc-js-xds_interop_configure_service
grpc-js-xds: Add functionality to the xDS interop client
2021-03-18 09:22:55 -07:00
sovlookup 1143867682 proto-loader: fromJSON add options 2021-03-18 16:21:55 +08:00
sovlookup bdd8e1a110 proto-loader: fromJSON rm newRoot 2021-03-18 15:39:24 +08:00
sovlookup fe2e93d30a proto-loader: update fromJSON test 2021-03-17 09:48:09 +08:00
sovlookup b7bf2bf6cd proto-loader: update fromJSON remove Protobuf.Root 'json' param 2021-03-17 09:41:22 +08:00
sovlookup 550a4e93f5 proto-loader: update fromJSON 2021-03-17 09:32:02 +08:00
Michael Lumish 65a1639798 grpc-tools: Bump protobuf dependency to 3.15.6 2021-03-16 13:43:53 -07:00
Michael Lumish 2b0ebcfc6a grpc-js-xds: Add functionality to the xDS interop client 2021-03-12 14:59:01 -08:00
Michael Lumish 78d3605f73
Merge pull request #1709 from murgatroid99/grpc-js_backoff_timeout_ref_electron
grpc-js: Timer ref and unref might not exist
2021-03-12 10:11:20 -08:00
Michael Lumish 602fcd23b4 grpc-js: Throw in watchConnectivityState if channel is closed 2021-03-12 09:39:50 -08:00
sovlookup c2d7e4adda load protobuf.js JSON descriptor 2021-03-12 19:39:06 +08:00
Michael Lumish 2aec366508 grpc-js-xds: Fix sending stats when reestablishing LRS stream 2021-03-09 10:39:42 -08:00
Michael Lumish 231619fcaa grpc-js: Timer ref and unref might not exist 2021-03-05 14:18:50 -08:00
Michael Lumish dd22f8f499 Don't send status through the filter stack twice when receiving trailers 2021-03-04 18:35:12 -08:00
Michael Lumish efc9a0f05c Don't send status through the filter stack twice when receiving trailers 2021-03-04 16:34:57 -08:00
Michael Lumish e3b35505a0 Fix handling of LRS server name in EDS child config generation
Also add more LRS logging
2021-03-04 16:10:24 -08:00
Michael Lumish b85c70839f Add more detailed LRS tracing 2021-03-04 16:09:55 -08:00
Michael Lumish 356518a212 grpc-js-xds: Fix handling of empty LRS server names 2021-03-04 13:56:57 -08:00
Michael Lumish 5ef5246375 Fix handling of LRS server name in EDS child config generation
Also add more LRS logging
2021-03-04 13:53:02 -08:00
Michael Lumish 76f4e3fef4 Disable path_matching and header_matching tests for now 2021-03-04 13:43:17 -08:00
Michael Lumish 08a359744d Add more detailed LRS tracing 2021-03-04 11:50:30 -08:00
Michael Lumish fb8916cc6d Enable path_matching and header_matching tests 2021-03-04 10:16:17 -08:00
Michael Lumish a726265580 Remove checks for now-unused xdsClient attribute 2021-03-03 13:15:57 -08:00
Michael Lumish ca4b8f40c9 Start ADS and LRS streams at client startup if watchers have been added 2021-03-02 12:51:23 -08:00
Michael Lumish eff8cfc0f5 Merge branch 'master' into grpc-js-xds_routing_traffic_splitting_config_selector 2021-03-02 12:47:38 -08:00
Michael Lumish c5cc8b2652 grpc-js: Speculative fix for ECONNRESET errors 2021-03-02 11:55:42 -08:00
Michael Lumish 17b43dfbfd
Merge pull request #1703 from murgatroid99/grpc-js-xds_google_default_creds
Move createGoogleDefaultCredentials from grpc-js to grpc-js-xds
2021-03-01 14:45:35 -08:00
Michael Lumish f6505b50db Enable routing feature in xDS tests 2021-03-01 13:03:13 -08:00
Michael Lumish 66d3f35263 Enable traffic splitting xds interop test 2021-03-01 11:54:20 -08:00
Michael Lumish 40242a4132 Use the new LB policy in the resolver 2021-03-01 11:42:20 -08:00
Michael Lumish 564ccf390c Merge branch 'master' into grpc-js-xds_routing_traffic_splitting_config_selector 2021-03-01 10:43:47 -08:00
Michael Lumish 131b604f2c Add routing and traffic splitting functionality 2021-03-01 10:41:23 -08:00
Michael Lumish 60eb600410 move createGoogleDefaultCredentials from grpc-js to grpc-js-xds 2021-02-25 10:15:57 -08:00
Michael Lumish 40c19ea28b grpc-js: Don't propagate non-numeric errors from auth plugins 2021-02-16 12:42:10 -08:00
Michael Lumish 24d1a0486b
Merge pull request #1688 from murgatroid99/grpc-js_backoff_ref
grpc-js: Ref and unref backoff timer
2021-02-12 15:08:04 -08:00
Michael Lumish c953a0e212 refactor part of xds-client into seprate files 2021-02-12 13:37:52 -08:00
Michael Lumish 097d63b14b grpc-js: Add more details to 'Failed to start HTTP/2 stream' error 2021-02-12 11:03:00 -08:00
Michael Lumish cd14345cb4 grpc-js: Ref and unref backoff timer 2021-02-11 09:55:24 -08:00
Michael Lumish d1aa9aa6fc Don't update identical states with identical pickers 2021-02-09 12:20:01 -08:00
Michael Lumish c3c39af8ac grpc-js-xds: Add XdsClusterManager LB policy 2021-02-09 12:10:04 -08:00
Michael Lumish 9e084bce19 Handle absence of Timer#hasRef on older Node versions 2021-02-08 11:39:15 -08:00
Michael Lumish 3806a99760 Add handling for early name resolution failures 2021-02-08 11:23:05 -08:00
Michael Lumish 259e00b866 grpc-js: Loosen dependency on @types/node 2021-02-03 11:54:13 -08:00
Michael Lumish 887d2ef677 Kick the ResolvingLoadBalancer out of IDLE when the first call is started. 2021-02-02 14:16:10 -08:00
Michael Lumish e35a7d0a25 Merge branch 'master' into grpc-js_config_selector 2021-02-01 14:20:36 -08:00
Michael Lumish 8e5f5bc18a grpc-js: Add ConfigSelector to Resolver API and plumb it through the channel 2021-02-01 14:18:24 -08:00
Michael Lumish b570200827
Merge pull request #1678 from grpc/@grpc/grpc-js@1.2.x
@grpc/grpc js@1.2.x upmerge
2021-01-29 11:51:44 -08:00
Michael Lumish e27e4e02ae Bump grpc-js-xds to 1.2.1 2021-01-27 14:02:41 -08:00
Michael Lumish 0a98f6295d grpc-js-xds: Bubble up xds client initialization errors 2021-01-27 12:16:06 -08:00
Michael Lumish b011bd069d grpc-js-xds: List the files to publish in package.json 2021-01-27 11:15:04 -08:00
Michael Lumish 5ac9a1c2b6 grpc-js: Move call to user code out of try block 2021-01-25 13:24:39 -08:00
Michael Lumish b2776b52b4 proto-loader: bump to 0.5.6 2021-01-19 14:36:41 -08:00
Andrey Melnik 7837e8e845 feature(grpc-js): Add possibility to provide maxSessionMemory http2 option through ChannelOptions 2021-01-20 01:00:57 +03:00
Michael Lumish 36986f618a grpc-js: round robin: re-resolve when subchannels go idle 2021-01-19 13:43:56 -08:00
Richard Willis cf9d0fd4cc proto-loader: Fix yargs types 2021-01-08 08:11:35 +00:00
Richard Willis ac86173a20 proto-loader: Add example usage to README 2021-01-08 08:11:24 +00:00
Michael Lumish 0b026be131
Merge pull request #1648 from murgatroid99/grpc-js_deadline_filter_fast_cancel
grpc-js: End calls faster if the deadline has already passed
2021-01-07 12:55:49 -08:00
Michael Lumish fe4bd2641a
Merge pull request #1654 from 418sec/1-npm-grpc
Security Fix for Prototype Pollution - huntr.dev
2021-01-07 12:54:54 -08:00
Michael Lumish 374309be66 grpc-js: Propagate internal stream errors from the http2 module 2021-01-05 10:36:30 -08:00
Richard Willis d3ef8f3233 proto-loader: Replace Windows CRLF pair with Unix LF 2020-12-20 08:12:25 +00:00
d3v53c 6101694397 added test case 2020-12-07 22:40:14 -08:00
d3v53c b2530119b9 prototype pollution fix 2020-12-07 22:29:18 -08:00
Michael Lumish 21da990cb0 grpc-js: End calls faster if the deadline has already passed 2020-12-02 12:00:19 -08:00
Michael Lumish 999634a74d Merge branch 'master' into proto-loader_type_generator 2020-12-01 12:29:25 -08:00
A. Tate Barber d86994dc6a Split file descriptor set logic into two utility functions
This change exposes loadFileDescriptorSetFromBuffer and
loadFileDescriptorSetFromObject functions.
2020-11-30 21:20:49 -06:00
Michael Lumish a006be07f4 grpc-js-xds: Shutdown the xDS client used by the resolver when the channel shuts down 2020-11-25 12:33:36 -08:00