Commit Graph

1282 Commits

Author SHA1 Message Date
Michael Lumish 0feeab3d09
Merge pull request #2085 from murgatroid99/grpc-js_keepalive_traces
grpc-js: Add more details to keepalive ping tracing
2022-04-11 14:36:31 -07:00
Michael Lumish ae93d556ec grpc-js: Don't clear ping timeout when still connected 2022-04-08 11:24:56 -07:00
Michael Lumish 7ac345e4dc grpc-js: Add more details to keepalive ping tracing 2022-04-08 10:13:46 -07:00
Michael Lumish 12c58c2923 grpc-js: Disable per-session memory limit by default 2022-04-07 17:57:18 -07:00
Michael Lumish c80b25e2a5 grpc-js: Use real channelz IDs when channelz is disabled 2022-04-06 17:15:22 -07:00
Michael Lumish f19563d45c grpc-js: Update to version 1.6.2 2022-04-04 09:37:13 -07:00
Michael Lumish d8ce665fd8 Merge remote-tracking branch 'upstream/@grpc/grpc-js@1.6.x' into grpc-js-xds_ads_stream_delay 2022-04-04 09:36:23 -07:00
Michael Lumish c106d05ac4 grpc-js: Make backoff timer reset apply to the currently running timer 2022-04-01 14:31:24 -07:00
Michael Lumish 8a503031f3 grpc-js: Add support for grpc.dns_min_time_between_resolutions_ms channel arg 2022-04-01 10:55:53 -07:00
Michael Lumish a9937038c7
Merge pull request #2075 from murgatroid99/v1.6.0
Update version to 1.6.0
2022-03-31 09:23:38 -07:00
Michael Lumish 9fcf1659b6 Update version to 1.6.0 2022-03-29 00:15:49 -07:00
murgatroid99 052af317a3 grpc-js: Avoid surfacing errors without gRPC error codes 2022-03-28 14:50:10 -07:00
Michael Lumish a6f3df70ae
Merge pull request #2071 from kskalski/master
Expose MetadataOptions interface in grpc-js.
2022-03-25 12:53:49 -07:00
Kamil Skalski 8d7d3f3d23 Expose MetadataOptions interface in grpc-js. 2022-03-25 12:22:16 -05:00
Kamil Skalski 260aee93da Expose MetadataOptions interface in grpc-js. 2022-03-25 09:22:23 -05:00
Michael Lumish 6e804d741f Merge remote-tracking branch 'upstream/@grpc/grpc-js@1.5.x' into v1.5.x_upmerge 2022-03-24 15:18:39 -07:00
Michael Lumish 680ff7cc08 grpc-js: Improve coverage of channelzEnabled checks in server code 2022-03-24 12:45:28 -07:00
Michael Lumish 312fb9b737 Merge remote-tracking branch 'upstream/@grpc/grpc-js@1.5.x' into v1.5.x_upmerge 2022-03-24 10:11:52 -07:00
Michael Lumish b5b0703bcd grpc-js-xds: Add outlier detection configuration handling 2022-03-18 12:48:33 -07:00
Michael Lumish ec334f2f44
Merge pull request #2062 from murgatroid99/grpc-js_call_end_trace_change
grpc-js: Trace call end when actually ending the call
2022-03-16 12:58:29 -07:00
Michael Lumish 0dfe2eeb8b
Merge pull request #2063 from murgatroid99/grpc-js_session_destroyed_transparent_retry
grpc-js: Transparently retry session destroyed error
2022-03-16 12:58:20 -07:00
Michael Lumish 81e08e84df grpc-js: Transparently retry session destroyed error 2022-03-16 12:39:36 -07:00
Michael Lumish 39f027e284 grpc-js: Trace call end when actually ending the call 2022-03-16 11:34:55 -07:00
Michael Lumish 97584dcf31 grpc-js: Add channel construction stacktrace traces 2022-03-16 11:27:05 -07:00
Michael Lumish 157de1a0a9
Merge pull request #2058 from murgatroid99/grpc-js_outlier_detection
grpc-js: Add outlier detection LB policy
2022-03-14 12:51:07 -07:00
Michael Lumish 5a601b0f78 grpc-js: Consistently log subchannel and call IDs in traces 2022-03-14 11:55:38 -07:00
Michael Lumish 2062062a5c grpc-js: Add outlier detection LB policy 2022-03-07 13:05:24 -08:00
Dacio Romero a3ecb45132 grpc-js: Return never from functions that always throw 2022-03-01 14:48:25 -08:00
Michael Lumish 55087d21c4 grpc-js: Transition subchannel to TRANSIENT_FAILURE when the socket closes 2022-02-24 09:09:54 -08:00
Michael Lumish d51dfffcfe grpc-js: Add session state logging at call start 2022-02-23 09:50:11 -08:00
Michael Lumish 5bb11e02a0 grpc-js: Increase version to 1.5.5 2022-02-10 10:12:36 -08:00
Yuri Golobokov da66707d3b HTTP/2 flow control tracing
subchannel_flowctrl tracer, if enabled, logs local and remote window
sizes of subchannel's HTTP2 session to debug log on the start of every
call.
2022-02-09 14:58:26 -08:00
Yuri Golobokov ae2a2ac7d0 Add HTTP/2 settings frame tracing.
This adds HTTP/2 settings frame information
to debug logs.
HTTP/2 settings frame contains important information like
max_concurrent_streams and initial_window_size useful for debugging
concurrency, latency, and throughput issues.
2022-02-08 21:52:29 -08:00
Yuri Golobokov 2334ca9dfa Add isTracerEnabled to logging 2022-02-08 21:51:26 -08:00
Michael Lumish f49ed62476 grpc-js: Increase version to 1.5.4 2022-01-31 13:55:07 -08:00
Michael Lumish ba70f7168b grpc-js: Fix exitIdle propagation and DNS IP result backoff 2022-01-31 13:54:40 -08:00
Michael Lumish 27bae2009d grpc-js: Increase version to 1.5.3 2022-01-20 09:36:44 -08:00
Michael Lumish 0a5a2321b4 grpc-js: Fix pick first shutdown reference handling 2022-01-20 09:31:09 -08:00
Michael Lumish 4b3c26382b Add subchannel interface 2022-01-18 12:53:10 -08:00
Michael Lumish b9deb5bc3c grpc-js: Increase version to 1.5.2 2022-01-18 12:35:35 -08:00
Michael Lumish db56e80b21 grpc-js: Add secureConnection error handling in server 2022-01-18 12:35:22 -08:00
Michael Lumish 903cce1df9
Merge pull request #2024 from murgatroid99/grpc-js_dns_backoff
grpc-js: Add backoff to DNS resolution attempts
2022-01-14 11:37:35 -08:00
Oskar Nyberg 500fc2c752 grpc-js: Don't use http_proxy for uds connections 2022-01-14 11:15:29 -08:00
Michael Lumish 80f31bb1c2 grpc-js: Increase version to 1.5.1 2022-01-13 15:58:37 -08:00
Michael Lumish 5a728ffdc5 grpc-js: Add backoff to DNS resolution attempts 2022-01-13 15:58:23 -08:00
Oskar Nyberg c6691c8551 grpc-js: Don't use http_proxy for uds connections 2022-01-13 16:24:48 +01:00
Michael Lumish 6a5b52182f
Merge pull request #1993 from DavyJohnes/fix-class-options-issue
grpc-js: Set provided class options to generated class
2022-01-10 15:49:58 -08:00
Michael Lumish 81ef5e33c4
Merge pull request #1988 from murgatroid99/grpc-js_securecontext_creds
grpc-js: Add credentials.createFromSecureContext
2022-01-10 14:05:58 -08:00
DavyJohnes f6d8f137a2 fix(make-client): set provided serviceName to generated class 2022-01-10 13:54:53 +03:00
Michael Lumish d1762316e2 grpc-js: Document recently-added channel options 2022-01-07 12:21:12 -08:00
Jason Praful c95357ccd1 refactor: added max session memory to docs 2022-01-07 10:56:44 +00:00
Michael Lumish ea1a266dec Update grpc-js and grpc-js-xds to version 1.5.0, and update README 2022-01-06 14:41:37 -08:00
Michael Lumish ba3bd4bdf0
Merge pull request #1996 from josephharrington/patch-1
Document grpc-js supported channel args in readme
2022-01-05 14:36:39 -08:00
Michael Lumish 0dbcbcc320
Merge pull request #2008 from grpc/@grpc/grpc-js@1.4.x
Upmerge more changes from @grpc/grpc js@1.4.x
2022-01-05 14:29:12 -08:00
Joey Harrington 78631cdad8 Document grpc-js supported channel args in readme
This moves the list of supported channel arguments from PACKAGE_COMPARISON.md into the readme, and also adds a link to the package comparison doc.

resolves #1982, resolves #1983
2022-01-04 16:39:20 -08:00
Michael Lumish fba2b9498f Fix end type again for older @types/node versions 2022-01-04 14:00:25 -08:00
Michael Lumish e2dfb8fbcf grpc-js: Increase version to 1.4.6 2022-01-04 12:42:05 -08:00
Michael Lumish 311d22e03e grpc-js: Fix compatibility with @types/node 17.0.6 2022-01-04 12:41:41 -08:00
Michael Lumish fb2ea3af9d
Merge pull request #1986 from murgatroid99/grpc-js_interceptor_metadata_message_order
grpc-js: Preserve order of metadata, messages, and call end with async interceptors
2021-12-16 11:49:55 -08:00
Michael Lumish 33c5abd163 grpc-js: Clean up some dependencies 2021-12-13 14:18:12 -05:00
Michael Lumish 8e53f034d0 grpc-js: Add credentials.createFromSecureContext 2021-12-13 10:05:37 -05:00
Cosmin-Catalin Crisan b12330abfd grpc-js: Send backoffOptions to BackoffTimeout 2021-12-10 20:20:11 +02:00
Michael Lumish 86f3ffd96c grpc-js: Update version to 1.4.5 2021-12-09 16:31:29 -05:00
Michael Lumish 7cccc39218 grpc-js: Preserve order of metadata and messages with async interceptors 2021-12-09 16:14:52 -05:00
Michael Lumish ba375e7371 Skip a test because it behaves weirdly on Mac 2021-12-09 10:48:38 -05:00
Michael Lumish e41b99dffc Fix a couple of issues with tests on Windows 2021-12-09 10:46:03 -05:00
Michael Lumish 20dbaa8e27 Make npm clean scripts platform-agnostic 2021-12-08 14:54:56 -05:00
Michael Lumish c52cb842af Add detailed assertion output for some resolver tests, skip IPv4+IPv6 test 2021-12-08 13:42:50 -05:00
Michael Lumish 40c2f61eba Fix server decompression sequencing, add tracing 2021-12-08 10:27:21 -05:00
Michael Lumish 575c2004f3 Skip some tests to make the Linux test job green 2021-12-06 12:02:52 -05:00
Michael Lumish 8df71f1913 Merge remote-tracking branch 'upstream/@grpc/grpc-js@1.4.x' into grpc-js_1.4_upmerge 2021-12-03 14:47:04 -05:00
Michael Lumish 3106057f5a grpc-js: Don't pass undefined checkServerIdentity 2021-11-17 12:36:38 -08:00
Michael Lumish 472baec1ff grpc-js: Provide full certificate in checkServerIdentity callback 2021-11-15 10:53:31 -08:00
Robert 69428b0445 simplify removal of compression prefix bytes 2021-11-09 21:26:54 -08:00
Michael Lumish 9cdd36f929
Merge branch 'master' into grpc-js_compression_support 2021-11-08 12:17:11 -08:00
Michael Lumish af966f04b8 grpc-js: Remove an extra call to registerChannelzSocket 2021-11-08 09:44:11 -08:00
Robert 96ae102eaf fix path for loading test_service proto 2021-11-05 19:59:03 -07:00
Michael Lumish cea1537c42 Merge remote-tracking branch 'upstream/@grpc/grpc-js@1.4.x' into upmerge_1.4.3 2021-11-05 14:25:42 -07:00
Michael Lumish cb29b6af0f
Merge pull request #1961 from murgatroid99/grpc-js_channelz_disable_fix
grpc-js: Fix handling of grpc.enable_channelz option
2021-11-05 13:53:53 -07:00
Michael Lumish b1be84a021 Make IPv6 parsing code compatible with Node 10 2021-11-05 11:54:15 -07:00
Michael Lumish bb26dcfd1e grpc-js: Fix handling of grpc.enable_channelz option 2021-11-05 10:12:12 -07:00
Michael Lumish 1a60c4f3a9 grpc-js: channelz: Fix algorithm for representing an IPv6 address in binary 2021-11-04 14:11:16 -07:00
Robert c4d7fab13e simplify compression filter handling of server supported encoding headers 2021-11-02 19:17:44 -07:00
Robert deff9d4df9 Merge branch 'grpc-js_compression_support' of github.com:b0b3rt/grpc-node into grpc-js_compression_support 2021-11-01 20:15:18 -07:00
Robert dc9752addc change CompressionAlgorithms to an enum 2021-11-01 19:04:21 -07:00
Robert M 5c61a6a34e
Update packages/grpc-js/src/server-call.ts
Co-authored-by: Michael Lumish <mlumish@google.com>
2021-11-01 18:38:37 -07:00
Robert 9150bdfd24 default to identity header everywhere instead of leaving it undefined 2021-10-29 19:19:09 -07:00
Robert 47bb8b669e move string split down to where it matters 2021-10-28 20:36:29 -07:00
Robert c9659b5158 persist server supported encoding header across compression filter instances 2021-10-28 20:29:47 -07:00
Robert 53a2347e69 only attempt to use custom compression filter when option value is provided 2021-10-26 14:27:07 -07:00
Robert 6ba008110b only attempt to use custom compression filter when option value is provided 2021-10-26 14:25:21 -07:00
Robert M d01ff794fc
Update error message for invalid default_compression_algorithm
Co-authored-by: Michael Lumish <mlumish@google.com>
2021-10-26 14:21:58 -07:00
Robert 25a1806e11 change year in new copyright heade 2021-10-26 14:09:09 -07:00
Robert 7a31b4a65a change test to use write instead of _write 2021-10-26 14:03:14 -07:00
Robert e03c1159ea log a warning when invalid value for grpc.default_compression_algorithm option is provided 2021-10-26 14:01:37 -07:00
Robert 21b09e25ba separate compression algorithms to avoid circular dependency 2021-10-26 13:51:42 -07:00
Robert 6d75ea1ab6 change encoding type from MetadataValue to string 2021-10-26 13:44:03 -07:00
Michael Lumish 91ae2b44b1 grpc-js: Handle undefined socket.localAddress 2021-10-26 13:19:18 -07:00
Michael Lumish c61b9696a1
Merge pull request #1944 from murgatroid99/grpc-js_disable_channelz
grpc-js: Allow users to disable channelz
2021-10-26 13:16:51 -07:00
Michael Lumish 5a49a93065
Merge pull request #1951 from howyi/master
feat(client): export `ServiceClientConstructor` type
2021-10-26 12:56:41 -07:00
Robert d68d94a5f4 re-enable NoCompress flag behavior and check Compressed Flag byte on server 2021-10-25 20:21:48 -07:00
Robert af010071fe have client restore default sendCompression if server doesnt support compression, and fix test file generation 2021-10-25 19:43:40 -07:00
Robert 959503ec94 rewrite CompressionAlgorithms to use numeric keys and export it 2021-10-25 19:14:01 -07:00
Robert 9d70f39b7e remove copied test proto file and modify npm command 2021-10-25 19:00:59 -07:00
Robert 16f1356050 remove unused compression algorithm key value 2021-10-25 18:54:16 -07:00
Robert b2ebbee7d1 revert mistaken accept-encoding client header change 2021-10-25 18:46:14 -07:00
Michael Lumish 8dbeeb1d18 grpc-js: Handle undefined socket.localAddress 2021-10-25 13:29:06 -07:00
Robert cec7e64a2b cleanup test file 2021-10-24 22:21:24 -07:00
Robert 7aa5b62008 grpc-js: Allow per-channel request compression from the client and decompression from the server 2021-10-24 21:46:23 -07:00
howyi 25e21d1fba feat(client): export ServiceClientConstructor,ProtobufTypeDefinition type 2021-10-24 21:14:16 +09:00
Michael Lumish 647654c7c1 grpc-js: Include other causes in ENHANCE_YOUR_CALM translation 2021-10-19 08:33:25 -07:00
Michael Lumish 891a918c85 grpc-js: Allow users to disable channelz 2021-10-18 13:31:08 -07:00
Michael Lumish 5139b107e0 grpc-js: Limit the number of retained channelz trace events 2021-10-18 09:29:43 -07:00
Michael Lumish 24df9a039b grpc-js: Publish missing channelz proto and type files 2021-10-13 11:11:30 -07:00
Michael Lumish 7564f60dcb grpc-js: Add tracing of channel options in channel and subchannel constructors 2021-10-12 12:25:47 -07:00
Michael Lumish 590e94e09d grpc-js: Update package versions for 1.4.0 release 2021-10-11 14:23:05 -07:00
Michael Lumish 16303d9f0b grpc-js: Fix server trace function inconsistency 2021-10-06 14:56:53 -07:00
Michael Lumish 8aec160413
Merge pull request #1924 from murgatroid99/v1.4.x_upmerge_1
Merge 1.4.x branch into master
2021-10-06 10:46:40 -07:00
Michael Lumish 6cea491a3c
Merge pull request #1917 from murgatroid99/grpc-js-xds_test_fixes
grpc-js-xds: A few fixes for xDS tests
2021-09-28 15:48:36 -07:00
Michael Lumish 1eea4b75bd In server.bindAsync, call callback in process.nextTick 2021-09-28 13:14:14 -07:00
Michael Lumish 2756a59495 Add a helper for creating ChannelControlHelper children 2021-09-27 16:12:23 -07:00
Michael Lumish 157882da45 grpc-js-xds: A few fixes for xDS tests 2021-09-27 15:45:22 -07:00
Michael Lumish 8cc5f6cd24 grpc-js: Loosen requirements on channel option types 2021-09-27 12:35:21 -07:00
Michael Lumish fc35615e83 Merge branch 'master' into grpc-js_channelz 2021-09-27 11:44:39 -07:00
Michael Lumish 4b6ea2b781 Add channelz ID to trace logs, add a few trace log lines 2021-09-27 10:47:22 -07:00
Michael Lumish d60c4ea16f Add channelz tests and fix some bugs 2021-09-27 10:46:39 -07:00
bbesset 305623e2eb adds sometimes required Host header to proxy connection 2021-09-15 10:28:40 -07:00
Michael Lumish acd9913687 Add admin interface 2021-09-15 10:26:04 -07:00
bbesset 737dae88db adds sometimes required Host header to proxy connection 2021-09-15 09:03:49 +02:00
Michael Lumish 74fdd85123 Add channelz service implementation 2021-09-13 10:58:12 -07:00
Michael Lumish bf0df1f94a Add channelz.proto and generated code 2021-09-10 16:21:12 -07:00
Michael Lumish d4574a28fb grpc-js: Add channelz support 2021-08-31 11:41:18 -07:00
Michael Lumish a6318a4d34
Merge pull request #1859 from murgatroid99/grpc-js_1.3_upmerge
Upmerge from 1.3.x to master
2021-08-12 14:54:03 -07:00
Michael Lumish 875f483cf6 grpc-js: Map ETIMEDOUT errors to UNAVAILABLE 2021-08-10 14:20:11 -07:00
Michael Lumish 770ffefe5b Merge remote-tracking branch 'upstream/@grpc/grpc-js@1.3.x' into grpc-js_1.3_upmerge 2021-08-10 09:56:36 -07:00
Michael Lumish 5db8649fe9
Merge pull request #1873 from murgatroid99/grpc-js_server_cancelled_closed
grpc-js: Check for closed server stream before sending
2021-08-09 15:15:19 -07:00
Michael Lumish ce2765f7fb grpc-js: Handle errors thrown by writing to http2 stream 2021-08-06 11:53:48 -07:00
Michael Lumish af5207262f grpc-js: Check for closed server stream before sending 2021-08-06 11:11:30 -07:00
Michael Lumish 92cc956dec
Merge pull request #1853 from murgatroid99/grpc-js-xds_http_filters
grpc-js-xds: Add HTTP Filters support
2021-08-03 09:29:13 -07:00
Michael Lumish 6161950a85 Merge remote-tracking branch 'upstream/@grpc/grpc-js@1.3.x' into grpc-js_1.3_upmerge 2021-07-19 13:45:29 -07:00
Michael Lumish 6ae2ed4a14 grpc-js: Add trace log with library version 2021-07-19 13:20:49 -07:00
Michael Lumish bd1571fa94
Merge pull request #1852 from murgatroid99/grpc-js_bind_creds_typecheck
grpc-js: Tighten server.bindAsync creds typecheck
2021-07-19 13:15:29 -07:00
Michael Lumish 776bcb4632 grpc-js: Add more trace logging around establishing connections 2021-07-19 10:12:17 -07:00
murgatroid99 af1676a5a5 Add test for passing client credentials to server 2021-07-16 16:39:26 -07:00
murgatroid99 9e4039d86b Updated text in bindAsync error test 2021-07-16 10:45:40 -07:00
murgatroid99 ae2cb672b2 Merge branch 'master' into grpc-js-xds_http_filters 2021-07-15 16:36:27 -07:00
murgatroid99 d0745b3a4c Run call config filter factories before load balancing 2021-07-15 14:56:47 -07:00
murgatroid99 6359bf066f Remove test for exact default logger identity 2021-07-15 10:55:50 -07:00
murgatroid99 312b7613de grpc-js: Tighten server.bindAsync creds typecheck 2021-07-15 10:28:15 -07:00
murgatroid99 a0f298c514 grpc-js: Split out logs for different severity levels 2021-07-15 10:17:18 -07:00
Michael Lumish 311aca31e4 grpc-js-xds: Add HTTP Filters support 2021-07-14 16:41:05 -07:00
Michael Lumish dc43851762 grpc-js: Add logging for TLS over proxy connection errors 2021-07-13 16:06:42 -07:00
Michael Lumish 08423d62ac
Merge pull request #1842 from murgatroid99/grpc-js_proxy_tls_error_log
grpc-js: Add logging for TLS over proxy connection errors
2021-07-13 16:04:17 -07:00
Michael Lumish 6b3ebbb829 grpc-js: Add logging for TLS over proxy connection errors 2021-07-08 10:27:31 -07:00
Michael Lumish 1037b23ba6 grpc-js: Format source files and fix lint errors 2021-06-29 14:40:24 -07:00
Michael Lumish 8605ef2ded Fix subchannel address import, resolver test setup 2021-06-29 10:43:45 -07:00
Michael Lumish 1452ed93aa grpc-js: Register IP resolver in index 2021-06-29 10:04:32 -07:00
Michael Lumish 82fada33ff Merge remote-tracking branch 'upstream/@grpc/grpc-js@1.3.x' into grpc-js_upmerge_from_1.3 2021-06-29 10:02:33 -07:00
Michael Lumish e7dad8b002
Merge pull request #1829 from murgatroid99/grpc-js_fix_cycles
grpc-js: Refactor code to eliminate runtime dependency cycles
2021-06-29 09:55:19 -07: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 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 8a38cd8549 grpc-js: Refactor FilterStack usage 2021-06-10 14:48:33 -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 d51551f6d7 grpc-js-xds: Add support for timeout xDS interop test
Add more logging
2021-05-19 13:25:33 -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 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 cc0c8deea3 grpc-js: Make GRPC_VERBOSITY accept lower-case values 2021-05-06 13:09:16 -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 72136bcf0b grpc-js: Remove explicit version compatibility check 2021-04-06 10:57: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
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 4623ecca42 grpc-js: don't send accept-encoding: gzip 2021-03-22 10:47:36 -07: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
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 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 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 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 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 5ac9a1c2b6 grpc-js: Move call to user code out of try block 2021-01-25 13:24:39 -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
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
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 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
Michael Lumish c050f97534 grpc-js: Make calls use the min of parent and own deadline when both are provided 2020-11-18 13:08:06 -08:00
Michael Lumish b78e5a0762
Merge pull request #1622 from murgatroid99/grpc-js_1.2.x
grpc-js: Update to 1.2.0
2020-11-11 14:39:39 -08:00
Michael Lumish ca6cf0f20b
Merge pull request #1616 from murgatroid99/grpc-js_deadline_cancellation_propagation
grpc-js: Implement deadline and cancellation propagation
2020-11-11 14:38:48 -08:00
Michael Lumish adfd4db9ea grpc-js: Update to 1.2.0 2020-11-09 10:53:44 -08:00
Michael Lumish cd2713f42a grpc-js: Rearrange connectivity state enum to match the native library 2020-11-09 10:45:57 -08:00
Michael Lumish 57428bf6fa
Merge pull request #1607 from murgatroid99/grpc-js_xds_separate_package
grpc-js: Separate xds code into a separate plugin package
2020-11-05 14:42:09 -08:00
Michael Lumish 38e4e48f4d
Merge pull request #1571 from murgatroid99/grpc-js_header_block_size
grpc-js: Allow clients and servers to send metadata of unlimited size
2020-11-05 13:29:58 -08:00
Michael Lumish ae2b64bd65 grpc-js: Implement deadline and cancellation propagation 2020-10-30 11:38:30 -07:00
Michael Lumish d8021d20d9
Merge pull request #1614 from hugebdu/master
grpc-js: support adding/removing services on started server
2020-10-29 14:22:52 -07:00
Daniel Shmuglin 51ca00298e implement Server#unregisterService(serviceDefinition) 2020-10-29 11:33:29 +02:00
Daniel Shmuglin 7c3ccda8ff implement Server#unregister(handlerName) 2020-10-29 10:54:33 +02:00
Daniel Shmuglin e49524a2ba Server#addService - lift the limitation of adding a new service to started server 2020-10-29 10:24:31 +02:00
Michael Lumish e4b69a8ee1 grpc-js: Add support for grpc.max_reconnect_backoff_ms channel arg 2020-10-28 13:27:44 -07:00
Michael Lumish afe4c3e082
Merge pull request #1605 from murgatroid99/grpc-js_prototype_pollution
grpc-js: Prevent prototype pollution in loadPackageDefinition
2020-10-23 10:49:18 -07:00
Michael Lumish f312326e9c Set the default port of 80 explicitly in http_proxy 2020-10-23 10:15:56 -07:00
Michael Lumish fd406fbef1 Use a regular dependency for proto-loader 2020-10-22 10:27:03 -07:00
Michael Lumish 9699de5ec6 Re-add grpc-js proto-loader dev dependency 2020-10-22 09:59:23 -07:00
Michael Lumish e71caded1b Put the google-auth-library dependency back in grpc-js 2020-10-21 14:10:37 -07:00
Michael Lumish c86f08c770 Document experimental namespace instability 2020-10-21 13:56:18 -07:00
Michael Lumish a6a8639343 grpc-js: Separate xds code into a separate plugin package 2020-10-21 13:45:22 -07:00
Michael Lumish 967eeb5443 grpc-js: Prevent prototype pollution in loadPackageDefinition 2020-10-20 11:19:22 -07:00
Michael Lumish bbd7617ba7 Move grpc-js xDS features into a separate package 2020-10-12 10:23:03 -07:00
Michael Lumish 73d3c307c9 grpc-js: xds: Add more logging around adding and removing eds and cds watchers 2020-10-05 11:27:18 -07:00
Michael Lumish a5cc154c8e
Merge pull request #1568 from murgatroid99/grpc-js_xds_credentials_bootstrap_change
grpc-js: xDS: handle insecure and google_default bootstrap creds
2020-09-28 14:08:46 -07:00
Michael Lumish dcf47460da grpc-js: xDS: Do not remove watchers in onResourceDoesNotExist 2020-09-24 14:01:15 -07:00
Michael Lumish 21adc97c4a
Merge pull request #1587 from badsyntax/export-client-streaming-type
grpc-js: Export handleClientStreamingCall type
2020-09-24 10:14:41 -07:00
Michael Lumish 62d9b1ad9b
Merge pull request #1586 from grpc/@grpc/grpc-js@1.1.x
Merge @grpc/grpc js@1.1.x into master
2020-09-24 09:42:45 -07:00
Richard Willis f3d14bd2b3 grpc-js: export handleClientStreamingCall type 2020-09-24 08:19:33 +01:00
Michael Lumish 0713b28da5 Revert testing changes 2020-09-22 12:09:13 -07:00
Michael Lumish fbdfcd4ee9 Fix tracer setting lines in xds script 2020-09-22 10:56:11 -07:00
Michael Lumish 474a496a7a Update submodules in xds test script 2020-09-22 00:47:55 -07:00
Michael Lumish 2574952e06 Use full node path in client_cmd 2020-09-21 14:15:21 -07:00
Michael Lumish c259edd7f8 Patch xds python script with debug logging 2020-09-21 13:33:37 -07:00
Michael Lumish a45d8da204 Add debugging output to xds scripts 2020-09-21 11:12:38 -07:00
Michael Lumish a1600812d1 Move timer initialization to the beginning of channel construction 2020-09-17 13:18:11 -07:00
Michael Lumish 6a32c00ed2 Bump grpc-js to 1.1.7 2020-09-17 12:15:47 -07:00
Michael Lumish 2791dbbb23 grpc-js: Add a timer that holds the event loop open while there are pending calls 2020-09-17 11:25:56 -07:00
Michael Lumish c0f31a8a02 grpc-js: Source nvm.sh in profile files in xds script to get nvm in subprocesses 2020-09-15 14:52:00 -07:00
Michael Lumish 8162efdf54 grpc-js: Install dependencies in xds script 2020-09-14 15:48:03 -07:00
Michael Lumish d32734f491 grpc-js: Allow clients and servers to send metadata of unlimited size 2020-09-11 13:03:31 -07:00
Michael Lumish 58801acf1e grpc-js: Fix path handling in xds interop script 2020-09-11 10:47:09 -07:00
Michael Lumish b99872eee7 grpc-js: xDS: handle insecure and google_default bootstrap creds 2020-09-10 14:52:24 -07:00
Michael Lumish 5e0feb5d74
Merge pull request #1552 from murgatroid99/grpc-js_xds_interop_client
grpc-js: Enable the xds URL scheme and add an interop test for it
2020-09-10 10:25:59 -07:00
Michael Lumish 46ac39b1e2 Add copyright notice to the new script 2020-09-10 09:56:45 -07:00
Michael Lumish d8e00689d0 Bump grpc-js to 1.1.6 2020-09-03 14:32:30 -07:00
Michael Lumish a45fb43091 Merge branch 'master' into grpc-js_xds_interop_client 2020-09-02 16:06:02 -07:00
Michael Lumish 1fc284f59d
Revert "fix(grpc-js): Add support for impl type to server.addService" 2020-09-02 15:17:57 -07:00
Michael Lumish 2d4ab786da Add xds kokoro config and update the test script 2020-09-02 15:00:46 -07:00
Michael Lumish e21f3374e8
Merge pull request #1556 from slavovojacek/master
fix(grpc-js): Add support for impl type to server.addService
2020-09-02 13:39:20 -07:00
Michael Lumish 1178d553e0
Merge pull request #1557 from mad-it/master
fix(grpc-js): preserve original error code when the handler of a readable stream throws an error
2020-09-02 13:38:20 -07:00
Slavo Vojacek fba1ee0cc3 fix(grpc): Fix typings 2020-09-02 20:32:31 +01:00
Slavo Vojacek 0d1d5a12fa chore(Typings): Update types 2020-09-02 16:05:10 +01:00
Jaroslav Šmolík b2d89820a3 Fix ClientOptions types
Remove index signature from ChannelOptions to fix intersection error
described in #1558 which causes issues on using ClientOptions direct
fields with TypeScript.

Removing of index signature required few minor changes:
 - adding few constant types that were used throughout the app
 - using `as const` assertion in xds-client
 - using not-so-great type cast in channelOptionsEqual

Alternative solution would be removing the index signature from
ChannelOptions explicitly in ClientOptions definition, which is not
trivial and probably calls for a generic type helper.

See: https://github.com/grpc/grpc-node/issues/1558
Fixes: #1558
2020-09-01 21:47:52 +02:00
Algin Maduro aaee068a69 fix: add addition check if the provided code is valid gRPC code 2020-09-01 13:28:23 +02:00
Algin Maduro 5e42be1b34 fix: preserve original error code if present 2020-09-01 12:59:07 +02:00
Michael Lumish 2c98a3d3f9 More EDS logging, and improved weight handling 2020-08-31 15:18:00 -07:00
Michael Lumish 286c81a924 Handle endpoint health_status, improve some logging 2020-08-31 14:04:53 -07:00
Slavo Vojacek 38e988ea03 fix(grpc-js): Add support for impl type to server.addService 2020-08-31 20:34:14 +01:00
WK 158d0dd99f
Update subchannel.ts 2020-09-01 01:40:14 +08:00
WK 7fc0035f7f
Update subchannel.ts 2020-09-01 01:30:35 +08:00
WK 148b273f19
Update http_proxy.ts 2020-09-01 01:28:53 +08:00
Michael Lumish 62bd1cab68 Add granular verbosity option to xDS interop client 2020-08-31 09:55:29 -07:00
WK 6a99983ed1
Undo changes. 2020-08-30 14:56:23 +08:00
WK 08350ec0ef
Update subchannel.ts 2020-08-30 14:52:20 +08:00
WK 6f3db6f4d8
Update http_proxy.ts 2020-08-30 14:49:54 +08:00
WK c536178c67
Fixed connectivity to Google PubSub over proxy
Latest version has caused @google-cloud/pubsub fail to connect over a proxy connection.


Snapshot of error:

2020-08-29T10:52:45.340Z | proxy | Successfully connected to pubsub.googleapis.c
om:443 through proxy 172.16.52.252:443
2020-08-29T10:52:45.370Z | subchannel | 172.16.52.252:443 CONNECTING -> TRANSIEN
T_FAILURE
2020-08-29T10:52:45.372Z | pick_first | CONNECTING -> TRANSIENT_FAILURE
2020-08-29T10:52:45.373Z | resolving_load_balancer | dns:172.16.52.252:443 CONNE
CTING -> TRANSIENT_FAILURE
2020-08-29T10:52:45.375Z | channel | Pick result: TRANSIENT_FAILURE subchannel:
undefined status: 14 No connection established
2020-08-29T10:52:45.377Z | call_stream | [11] cancelWithStatus code: 14 details:
 "No connection established"
2020-08-29T10:52:45.379Z | call_stream | [11] ended with status: code=14 details
="No connection established"
2020-08-29T10:52:45.381Z | connectivity_state | dns:172.16.52.252:443 CONNECTING
 -> TRANSIENT_FAILURE


Before proposed fix:

    static getDefaultAuthority(target) {
        return target.path;  // this returns "pubsub.googleapis.com:443"
    }

After proposed fix:

    static getDefaultAuthority(target) {
        const hostPort = uri_parser_1.splitHostPort(target.path);  // target.path is "pubsub.googleapis.com:443"
        if (hostPort !== null) {
            return hostPort.host; // this returns "pubsub.googleapis.com"
        }
        else {
            throw new Error(`Failed to parse target ${uri_parser_1.uriToString(target)}`);
        }
    }
2020-08-29 19:05:42 +08:00
Michael Lumish 36db24e39f Set a deadline on outgoing requests in the xds interop client 2020-08-28 12:50:53 -07:00
Michael Lumish 5827b3e01d Reset saved LRS settings when the LRS stream ends 2020-08-28 11:49:03 -07:00
Michael Lumish b9962feff0 Add more interop client logging 2020-08-28 11:17:52 -07:00
Michael Lumish 60bc11285b Send buffered stats when starting LRS stream 2020-08-28 10:43:58 -07:00
Michael Lumish 338941d664 Add more LRS tracing 2020-08-28 10:06:57 -07:00
Michael Lumish 8269fd4bca priority: improve tracing, cancel failover timer when selecting child 2020-08-28 09:50:33 -07:00
Michael Lumish 597fc1c57b Use the same channel for ADS and LRS clients 2020-08-27 18:14:03 -07:00
Michael Lumish 82037fcdaf Add error logging to xDS interop client 2020-08-27 15:54:05 -07:00
Michael Lumish 1a47f78f4f Fix some trace logs, increase XdsClient keepalive interval 2020-08-27 14:17:29 -07:00
Michael Lumish c83d5a7c4d Fix keepalive ping timing, change some trace logs 2020-08-27 13:23:07 -07:00
Michael Lumish 665632f480 Add more keepalive logging 2020-08-27 12:47:53 -07:00
Michael Lumish 197cc84e7a Add more tracers, fix onResourceDoesNotExist handling 2020-08-27 11:05:54 -07:00
Michael Lumish 2404446234 Fix RDS domain search 2020-08-25 14:10:54 -07:00
Michael Lumish 36a6580921 Add more XdsClient tracing 2020-08-25 13:49:28 -07:00
Michael Lumish af949674da Add XdsClient tracers, and stream start backoff, and fix some bugs 2020-08-25 13:22:30 -07:00
Michael Lumish 8580204a73 Fix incorrect 'Method not implemented' error 2020-08-25 11:05:22 -07:00
Michael Lumish ee52de4f98 Load proto files with json option to handle Any properly 2020-08-25 10:54:56 -07:00
Michael Lumish 302b87183e Fix bug in bootstrap file validation 2020-08-25 10:05:44 -07:00
Michael Lumish 7e35657cf1 node.cluster is optional in the bootstrap file 2020-08-25 09:45:47 -07:00
Michael Lumish 0e8e1adfc4 More test script fixes, don't run xDS tests in PR tests 2020-08-24 15:53:07 -07:00
Michael Lumish 1e223048b8 Grab xds client logs in kokoro config 2020-08-21 12:58:05 -07:00
Michael Lumish eb849db1aa Add a log line to the top level of xds-interop-client 2020-08-21 12:47:17 -07:00
Michael Lumish 362b77259f Add more logging to the xDS interop client 2020-08-21 11:02:33 -07:00
Simon Woolf 141dfeb790 Channel#watchConnectivityState: handle infinite deadlines correctly
Per https://grpc.github.io/grpc/node/grpc.html#~Deadline:
"If it is a finite number, it is treated as a number of milliseconds
since the Unix Epoch. If it is Infinity, the deadline will never be
reached. If it is -Infinity, the deadline has already passed."
2020-08-21 18:18:30 +01:00
Michael Lumish 14eea7d6d2 Add separate trace and verbosity env variables for this library 2020-08-21 09:46:45 -07:00
Michael Lumish f4e9b63ddf Trace all 2020-08-21 00:10:35 -07:00
Michael Lumish bc5c29604b More test script fixes 2020-08-20 14:20:47 -07:00
Michael Lumish f246833876 Some test script fixes 2020-08-20 14:00:46 -07:00
Michael Lumish 46c065a75b chmod a+x xds.sh 2020-08-20 13:37:17 -07:00
Michael Lumish 9a73734650 Actually add the xds interop script 2020-08-20 13:36:16 -07:00
Michael Lumish 305e192700 Add xds interop test script to Linux tests 2020-08-20 13:31:23 -07:00
Michael Lumish ffef02c943 Merge branch 'master' into grpc-js_xds_interop_client 2020-08-20 11:05:00 -07:00
Michael Lumish 5abb47390f grpc-js: Move a couple of dev dependencies to prod 2020-08-20 09:24:57 -07:00
Michael Lumish 7efc5358e3
Merge pull request #1524 from murgatroid99/grpc-js_cancelled_event
grpc-js: Clean up call even if status throws an error
2020-08-19 10:09:53 -07:00
Michael Lumish c0b80a3593
Merge pull request #1548 from richardpringle/master
Prevent mutation of default headers
2020-08-19 09:55:09 -07:00
Michael Lumish 68b0609feb
Merge pull request #1525 from murgatroid99/grpc-js_server_stream_end_metadata
grpc-js: Add end(md?: Metadata) method to streaming server calls
2020-08-19 09:29:52 -07:00
Michael Lumish 4ba1639ed6
Merge pull request #1526 from murgatroid99/grpc-js_get_peer
grpc-js: Implement getPeer on the client and server
2020-08-19 09:27:56 -07:00
Richard Pringle 917b4fca77
Prevent mutation of default headers 2020-08-19 10:24:20 -04:00
Michael Lumish 7493052672 grpc-js: Move @types/node to a production dependency 2020-08-18 15:13:12 -07:00
Thomas Hunter II 1583786478
Add link to grpc docs in @grpc/grpc-js README
- Adds a link to `grpc` documentation
- Addresses some of the concerns in #1540
2020-08-16 13:50:23 -07:00
Martin f0ed1aba14
Fix incorrectly named grpc-tools flag
Was  "--generate_package_definitions" (with an s) but should be "generate_package_definition" as in the documentation here: https://github.com/grpc/grpc-node/tree/master/packages/grpc-tools
2020-08-12 16:51:42 +02:00
Michael Lumish ba7a035770 Enable 'xds' target scheme 2020-08-10 15:50:46 -07:00
Michael Lumish 94a4779bb6 Add xDS interop proto files 2020-08-10 15:49:24 -07:00
Michael Lumish 409ad95020 Add dependencies for xDS, plus some fixes 2020-08-10 15:48:42 -07:00
Michael Lumish cb63d6afcd grpc-js: Add xDS interop client and associated generated code 2020-08-10 15:48:03 -07:00
Michael Lumish 6c0012499a Implement onResourceDoesNotExist notifications 2020-08-06 13:30:24 -07:00
Michael Lumish 5dcce9ebf1 grpc-js: XdsClient: separate ADS stream handling by message type 2020-08-06 13:08:59 -07:00
Michael Lumish 76bb17091b Stop processing RDS requests after finding the matching one 2020-08-05 12:57:54 -07:00
Michael Lumish 0b146c8b07 Address PR comments 2020-08-05 12:38:43 -07:00
Michael Lumish 33a4c85f89 grpc-js: Implement getPeer on the client and server 2020-08-04 13:04:59 -07:00
Michael Lumish d9b3f9f364 grpc-js: Add end(md?: Metadata) method to streaming server calls 2020-08-04 11:37:08 -07:00
Michael Lumish ddec63af20 grpc-js: Clean up call even if status throws an error 2020-08-04 11:22:18 -07:00
Michael Lumish 52eb0df1f8 grpc-js: Add XdsResolver and corresponding XdsClient behavior 2020-08-03 10:44:28 -07:00
Michael Lumish a3b27be211 Address a couple of comments 2020-07-28 15:43:39 -07:00
Michael Lumish 669d254045 grpc-js: Add LrsLoadBalancer class 2020-07-28 11:40:42 -07:00
Michael Lumish 3c948f5d66 Fixes from PR comments 2020-07-27 09:17:06 -07:00
Michael Lumish 9fb6f48bd6 grpc-js: xDS: add support for dropping calls and reporting drops 2020-07-24 16:06:37 -07:00
Michael Lumish fbf2a487f1 Fix Metadata import path 2020-07-24 09:56:33 -07:00
Michael Lumish c9074b634c Finish implementing the CDS load balancer 2020-07-23 14:21:53 -07:00
Michael Lumish c4c53a6e9b Merge branch 'master' into grpc-js_cds_lb_policy 2020-07-23 14:02:42 -07:00
Michael Lumish 0236633ac5
Merge pull request #1512 from murgatroid99/grpc-js_default_service_config
grpc-js: Fix handling of unsuccessful TXT record lookups
2020-07-23 13:16:53 -07:00
Michael Lumish f05e9fb3f4 Refine service config error handling 2020-07-23 12:57:13 -07:00
Michael Lumish 1fc0895d17 grpc-js: Fix handling of unsuccessful TXT record lookups 2020-07-23 11:36:38 -07:00
Michael Lumish 3ddfd373c5
Merge pull request #1507 from murgatroid99/grpc-js_eds_lb_policy
grpc-js: Implement EDS load balancer
2020-07-23 11:22:11 -07:00
Michael Lumish fc2fd00da7 grpc-js: xDS Client: cache updates to pass them to new watchers 2020-07-23 10:27:01 -07:00
Michael Lumish ef225cba30 Handle changing EDS service name, add comments 2020-07-23 10:08:50 -07:00
Michael Lumish 044da58c76 Update with changes from xDS Client PR 2020-07-22 16:38:00 -07:00
Michael Lumish 50b5af09ed Merge branch 'master' into grpc-js_eds_lb_policy 2020-07-22 16:32:27 -07:00
Michael Lumish 8d759b30ab
Merge pull request #1489 from murgatroid99/grpc-js_xds_client
grpc-js: Add XdsClient class
2020-07-22 16:31:35 -07:00
Michael Lumish 6b03311475 gts fix 2020-07-21 10:10:51 -07:00
Michael Lumish a3762259a1 Fix generated code errors 2020-07-20 14:32:19 -07:00
Michael Lumish 248479bc22 grpc-js: Implement CDS LB policy 2020-07-20 13:52:02 -07:00
Michael Lumish f061e4e762 gts fix 2020-07-17 10:37:49 -07:00
Michael Lumish 5e28fb3078 grpc-js: Implement EDS load balancer 2020-07-17 10:35:04 -07:00
Michael Lumish 31b297992b Merge branch 'master' into grpc-js_eds_lb_policy 2020-07-16 10:02:18 -07:00
Michael Lumish 25b2a27991 Move proto-loader to dev deps temporarily 2020-07-14 09:39:59 -07:00
Michael Lumish a0b050aa0c gts fix 2020-07-13 13:11:54 -07:00
Michael Lumish f91c837058 Update generated code with separate service files 2020-07-13 13:02:47 -07:00
Michael Lumish bf471a96a6 Generate comments in generated code 2020-07-10 14:24:54 -07:00
Michael Lumish db75460000 Regenerate type files 2020-07-10 12:41:55 -07:00
Michael Lumish a068d589ae Don't explicitly include protobufjs when loading protos 2020-07-10 11:53:20 -07:00
Michael Lumish 930d409165 Fix include paths for loading protos 2020-07-10 08:41:58 -07:00
Michael Lumish 62bee3876e
Merge pull request #1494 from murgatroid99/grpc-js_error_fixes
grpc-js: Improve error handling in a few places
2020-07-09 11:05:35 -07:00
Michael Lumish 7cf93591ca grpc-js: Remove peerDependency on google-auth-library 2020-07-09 09:57:00 -07:00
Michael Lumish 7b1bd147a6 gts fix 2020-07-08 15:18:15 -07:00
Michael Lumish 0c41a4e039 Move the generated files to .ts instead of .d.ts 2020-07-08 15:13:02 -07:00
Michael Lumish dbef861948 Add files, dependencies, and generation script to package.json 2020-07-08 14:49:28 -07:00
Michael Lumish 8a2c5af8f7 Finish up bootstrap and EDS client code 2020-07-08 14:48:54 -07:00
Michael Lumish 46c84bdb4e grpc-js: Improve error handling in a few places 2020-07-07 10:51:42 -07:00
Michael Lumish 5767f7d107 Complete most of the endpoint watcher implementation 2020-07-07 09:26:52 -07:00
Michael Lumish 81fff185ae Add generated code for Envoy APIs 2020-07-07 09:19:46 -07:00
Michael Lumish 3fa1c098c5 Start implementing XdsClient class 2020-06-24 14:49:10 -07:00
Michael Lumish cd8743e569 Omit port number from servername option 2020-06-19 08:56:48 -07:00
Michael Lumish 25dfe88fb3 grpc-js: bump to 1.1.0 2020-06-17 11:25:26 -07:00
Michael Lumish 3f7fb47505
Merge pull request #1479 from murgatroid99/grpc-js_read_fix
grpc-js: Don't initiate a read after receiving a message
2020-06-17 11:22:32 -07:00
Michael Lumish ece7d0f56d grpc-js: Don't initiate a read after receiving a message 2020-06-16 13:36:20 -07:00
Michael Lumish f97e27f0c0 Fix possible null reference 2020-06-16 11:40:22 -07:00
Michael Lumish 01dbc34eb1 grpc-js: Add port to :authority, leave it out of service_url 2020-06-16 11:33:23 -07:00
Michael Lumish 1d14203c38
Merge pull request #1468 from murgatroid99/grpc-js_propagate-constants
grpc-js: Export propagate constants for type parity with grpc
2020-06-15 15:02:20 -07:00
Michael Lumish a6101f3d6c
Merge pull request #1467 from murgatroid99/grpc-js_tryShutdown_fix
grpc-js: server: cull closed sessions from list, check for closed in tryShutdown
2020-06-15 15:02:03 -07:00
Michael Lumish 5d632d801a
Merge pull request #1466 from murgatroid99/grpc-js_servername_fix
grpc-js: Consistently set servername connection option to support SNI
2020-06-15 15:01:36 -07:00
Michael Lumish 353a6e9714 Add dependencies for xDS Client 2020-06-09 13:32:58 -07:00
Michael Lumish f4853c13f7 Don't double count sessions when closing 2020-06-09 11:07:20 -07:00
Michael Lumish 668b5aeb5a Consolidate LocalitySubchannelAddress definitions 2020-06-09 10:40:53 -07:00
Michael Lumish 29d7b4dc16 Merge branch 'master' into grpc-js_weighted_target_lb 2020-06-09 10:38:30 -07:00
Michael Lumish ab5910a42e
Merge pull request #1433 from murgatroid99/grpc-js_priority_load_balancer_actual
Add priority load balancer
2020-06-09 10:37:10 -07:00
Michael Lumish d9b7b098a7 grpc-js: Export propagate constants for type parity with grpc 2020-06-08 16:37:03 -07:00
Michael Lumish e90d0c2c0e
Merge pull request #1463 from azban/azb-grpc-js-server-call-deadline-lazy-singleton
grpc-js: clear noop server call deadline
2020-06-08 15:06:22 -07:00
Michael Lumish cb9f96126f grpc-js: server: cull closed sessions from list, check for closed in tryShutdown 2020-06-08 14:44:14 -07:00
azban e3a50ff3ee grpc-js: use lazy singleton for server call deadline to avoid open handles in jest 2020-06-08 14:41:54 -07:00
Michael Lumish 6701f19f5e grpc-js: Consistently set servername connection option to support SNI 2020-06-08 14:05:10 -07:00
Simen Bekkhus 0dca35a8b9
feat(client): export `ClientOptions` type 2020-06-08 20:15:59 +02:00
Michael Lumish 931a7c3e9e
Merge pull request #1459 from greenboxal/fix-credentials-type
grpc-js: Fix credentials type
2020-06-04 15:33:37 -07:00
Jonathan Lima 219ca8c5db grpc-js: Fix credentials type 2020-06-04 11:36:51 -03:00
Michael Lumish f4cbe025f5
Merge pull request #1450 from murgatroid99/grpc-js_1.0.5
Bump grpc-js to 1.0.5
2020-06-03 16:34:22 -07:00
Michael Lumish 861695bc28
Merge pull request #1436 from murgatroid99/grpc-js_dont_push_after_end
grpc-js: Don't push messages after ending a call
2020-06-03 16:33:48 -07:00
Michael Lumish 84829283c6
Merge pull request #1446 from murgatroid99/grpc-js_transient_failure_backoff
grpc-js: transition out of TRANSIENT_FAILURE if backoff timer has ended
2020-06-03 16:32:54 -07:00
Michael Lumish 658961d2ff
Merge pull request #1444 from murgatroid99/grpc-js_actually_backoff
grpc-js: Properly back off when transitioning through IDLE
2020-06-03 16:28:17 -07:00
Michael Lumish 5e9b852e8a
Merge pull request #1443 from murgatroid99/grpc-js_auth_peer_dep
Move google-auth-library to a peer dependency
2020-06-03 16:17:09 -07:00
Michael Lumish 136626aaca
Merge pull request #1454 from badsyntax/enable_http_proxy
grpc-js: Add support for grpc.enable_http_proxy channel option
2020-06-01 13:54:39 -07:00
Richard Willis f7a749da09 grpc-js: Add support for grpc.enable_http_proxy channel option 2020-06-01 21:22:02 +01:00
Michael Lumish d4d4740e97 Bump grpc-js to 1.0.5 2020-05-29 14:12:45 -07:00
Michael Lumish 4f38f1e92f Deactivate targets that are not in new configs 2020-05-29 12:35:25 -07:00
Michael Lumish a61dfb1527 Some cleanup and fixes 2020-05-28 11:52:02 -07:00
Michael Lumish 807d7d510f grpc-js: Add weighted_target load balancer 2020-05-28 11:48:47 -07:00
Michael Lumish bfc406dd7c Merge branch 'master' into grpc-js_priority_load_balancer_actual 2020-05-27 14:24:51 -07:00
Michael Lumish ff36a1de07 grpc-js: transition out of TRANSIENT_FAILURE if backoff timer has ended 2020-05-27 10:21:42 -07:00
Michael Lumish 2c022924cf grpc-js: Properly back off when transitioning through IDLE 2020-05-26 15:12:34 -07:00
Michael Lumish d02cbe432e Move google-auth-library to a peer dependency 2020-05-26 10:52:05 -07:00
Michael Lumish ed5b3ac1cd grpc-js: Don't push messages after ending a call 2020-05-21 11:41:44 -07:00
Michael Lumish 8ad1f82221 Merge branch 'master' into grpc-js_priority_load_balancer 2020-05-21 11:17:33 -07:00
Michael Lumish 69d4116057
Merge pull request #1413 from murgatroid99/grpc-js_pick_first_reconnect_fix
grpc-js: Fix pick_first handling of IDLE subchannels.
2020-05-21 10:29:58 -07:00
Michael Lumish 6c298d3a78
Merge pull request #1414 from murgatroid99/grpc-js_dont_split_metadata
grpc-js: Don't split header values by commas
2020-05-21 10:29:05 -07:00
Michael Lumish 10dd68d394
Merge pull request #1424 from murgatroid99/grpc-js_server_tracing
grpc-js: Add a few trace lines to the server
2020-05-21 10:13:51 -07:00
Michael Lumish c6deb79269 Test header splitting behavior 2020-05-21 10:12:08 -07:00
Michael Lumish be31009d9a Start failover timers when leaving IDLE 2020-05-21 10:04:29 -07:00
Michael Lumish 4361242eb9 Add priority load balancer 2020-05-20 14:00:05 -07:00
Michael Lumish 7625c2becd gts fix 2020-05-13 12:01:07 -07:00
Michael Lumish a53bcb3c97 grpc-js: Add a few basic trace lines to the server 2020-05-13 12:00:22 -07:00
Michael Lumish e26a3b264c grpc-js: Add more detailed information to client (de)serialization errors 2020-05-11 10:11:23 -07:00
Richard Willis f0fa806bfa
grpc-js: Fix README formatting
This should fix the heading rendering on npmjs.com
2020-05-10 09:16:28 +01:00
Michael Lumish eab63a94ac Don't use gts clean in npm clean to avoid errors on Node 8 2020-05-08 11:37:56 -07:00
Michael Lumish 4ef8abddf2 grpc-js: Don't split header values by commas 2020-05-08 10:47:35 -07:00
Michael Lumish 8c61b16642 Bump grpc-js to 1.0.4 2020-05-08 10:33:25 -07:00
Michael Lumish 3d8c9af401 grpc-js: Fix pick_first handling of IDLE subchannels. Also stop reporting IDLE on LB creation 2020-05-08 10:30:56 -07:00
Michael Lumish 7aa9177fa3 Don't allow null load balancing configs 2020-05-05 14:29:53 -07:00
Michael Lumish 6e202e0b53 gts fix 2020-05-04 15:07:45 -07:00
Michael Lumish 265b39b6de Fix state changes when handling resolution failures 2020-05-04 15:06:51 -07:00
Michael Lumish 90013c695d grpc-js: Add ChildLoadBalancerHandler and use it in ResolvingLoadBalancer 2020-05-04 14:03:17 -07:00
Michael Lumish cefb8d1f62 Load 'google-auth-library' lazily to avoid impacting load times 2020-04-27 17:35:20 -07:00
Michael Lumish 010ef569f7 grpc-js: Add internal "Google default" channel credentials 2020-04-27 15:35:32 -07:00
Michael Lumish 440d985f1f
Merge pull request #1397 from murgatroid99/grpc-js_pre_xds_internal_changes
grpc-js: Some internal changes in preparation for implementing xDS Global LB
2020-04-27 14:52:42 -07:00
Michael Lumish a2839e7b2d gts fix 2020-04-27 11:56:49 -07:00
Michael Lumish 424c9bfe70 Add onCallStarted field to Pick object 2020-04-27 10:24:15 -07:00
Michael Lumish 5bb80047db
Merge pull request #1393 from murgatroid99/grpc-js_1.0.3
Bump grpc-js to 1.0.3
2020-04-24 14:03:19 -07:00
Michael Lumish 3d4a27e6cc Plumb through an extra filter from the load balancer to the call stream 2020-04-24 14:00:54 -07:00
Michael Lumish 08dd114951 grpc-js: Add attributes argument passed from resolver to load balancer 2020-04-24 11:34:26 -07:00
Michael Lumish 05d7fa38c8 grpc-js: Don't try to call listener if it is unset 2020-04-24 10:40:14 -07:00
Michael Lumish f20c8e371b Bump grpc-js to 1.0.3 2020-04-24 10:13:17 -07:00
Michael Lumish b4af434b37
Merge pull request #1391 from murgatroid99/grpc-js_destroy_stream_fix
grpc-js: don't destroyHttp2Stream before saving the status code
2020-04-24 10:12:25 -07:00
Michael Lumish c87aa81dfb
Merge pull request #1390 from mdouglass/patch-3
Export sendUnaryData as part of the public API #1389
2020-04-24 09:31:38 -07:00
Michael Lumish 5d5468673f
Merge pull request #1387 from badsyntax/grpc-js--better-trace-logs
grpc-js: fix target in tracing logs
2020-04-23 14:55:49 -07:00
Michael Lumish cf0a90f9da grpc-js: don't destroyHttp2Stream before saving the status code 2020-04-23 14:17:07 -07:00
Matthew Douglass bf98da0e8d Export sendUnaryData as part of the public API #1389 2020-04-23 13:16:44 -07:00
Michael Lumish 79d3cfe4e6
Merge pull request #1386 from mdouglass/patch-2
Expose metadata property from ServerSurfaceCall #1384
2020-04-23 12:48:03 -07:00
Richard Willis 9bd0864c31 grpc-js: fix target in tracing logs 2020-04-23 07:37:36 +01:00
Matthew Douglass 9da6843ed7
Expose metadata property from ServerSurfaceCall #1384 2020-04-22 22:18:05 -07:00
Matthew Douglass f238bef70d
Export MetadataValue as part of the public API #1383
Matches native gRPC library
2020-04-22 22:02:20 -07:00
Michael Lumish 4946b418b4
Merge pull request #1381 from murgatroid99/grpc-js_proxy_fixes_final
grpc-js: Fix the final proxy bugs
2020-04-22 15:19:56 -07:00
Alexander Fenster ebfc5c9594 fix: make stream.write() synchronous in server-call 2020-04-22 13:58:26 -07:00
Michael Lumish 105e91e2eb Bump grpc-js to 1.0.2 2020-04-22 12:09:34 -07:00
Michael Lumish 070994a3a6 grpc-js: Fix the final proxy bugs 2020-04-22 12:06:13 -07:00
Michael Lumish e0533363ec Fix "other" resolver test 2020-04-21 10:55:06 -07:00
Michael Lumish b6846f0709 Update server to handle default schemes 2020-04-21 10:32:58 -07:00
Michael Lumish 0b522b2289 Bump grpc-js to 1.0.1 2020-04-21 10:04:40 -07:00
Michael Lumish 23e2353ea0 Update tests and add new ones 2020-04-21 09:58:34 -07:00
Michael Lumish ec4eb785fe Actually register 'dns' as the default scheme 2020-04-21 09:26:51 -07:00
Michael Lumish 726e7453f5 grpc-js: Fix proxy + URI parsing bugs 2020-04-21 09:18:35 -07:00
Michael Lumish 615058036b grpc-js: Add "Migrating from grpc" README section 2020-04-20 15:08:28 -07:00
Michael Lumish 5df87c9ac9
Merge pull request #1365 from murgatroid99/grpc-js_1.0
Bump grpc-js to 1.0 and stop calling it "beta"
2020-04-20 13:33:33 -07:00
Michael Lumish ae61562be2
Merge pull request #1364 from murgatroid99/grpc-js_uri_parsing
grpc-js: Use a more structured representation of URIs internally
2020-04-20 12:19:18 -07:00
Michael Lumish 238a91c985
Merge pull request #1373 from murgatroid99/grpc-js_callback_type_name_2
grpc-js: Make request callback type match the other library
2020-04-20 12:18:34 -07:00
Michael Lumish 8b16b3b699
Merge pull request #1368 from badsyntax/client-waitforready-fix
grpc-js: Client waitForReady callback fix.  Fixes #1352
2020-04-20 12:18:15 -07:00
Michael Lumish b62e22677d
Merge pull request #1319 from xpirt/patch-1
grpc-js: export InterceptorOptions
2020-04-20 11:32:30 -07:00
Michael Lumish 98e46260ef Fix merge error with proxy fixes 2020-04-20 11:22:56 -07:00
Richard Willis 7e381f7f2a grpc-js: Simplify client.waitForReady tests. Refs #1352
No need to add a service to the server to test the client.
2020-04-20 19:14:20 +01:00
Michael Lumish 5aa7817c7e
Merge branch 'master' into grpc-js_uri_parsing 2020-04-20 11:08:23 -07:00
Michael Lumish 6e3ab74e64 grpc-js: Make request callback type match the other library 2020-04-20 10:32:19 -07:00
Tom Kirkpatrick eef75a5c1b
grpc-js: use tls.ConnectionOptions type for proxy connection options 2020-04-19 20:07:45 +02:00
Tom Kirkpatrick 48072d5f4f
grpc-js: setting ALPNProtocols option for tls proxy 2020-04-19 20:07:45 +02:00
Tom Kirkpatrick b9e84f499f
grpc-js: commenting working for node issue 32922 2020-04-19 20:07:45 +02:00
Tom Kirkpatrick 11965fb0af
grpc-js: dont set createConnection when connecting with TLS and without a proxy 2020-04-18 23:16:07 +02:00
Tom Kirkpatrick 2c5a8b1a30
grpc-js: ensure tls connection is used when requested 2020-04-18 21:25:24 +02:00
Tom Kirkpatrick 4e61f21c2f
grpc-js: do not set host when instantiating tls socket 2020-04-18 17:58:40 +02:00
Tom Kirkpatrick 5af582e31c
grpc-js: pass secureContext through to proxied tls connection 2020-04-18 13:59:49 +02:00
Tom Kirkpatrick c650e59563
grpc-js: always explicitly establish connection 2020-04-18 12:56:51 +02:00
Tom Kirkpatrick af7f4f798d
grpc-js: initiate tls connection through http proxy 2020-04-18 11:04:13 +02:00
Richard Willis 615a3c65b1 grpc-js: Add test for client.waitForReady. Refs #1352 2020-04-18 09:45:22 +01:00
Richard Willis 4e7b94ab35 grpc-js: Remove watcher from queue before calling watcher callback. Fixes #1352
In the case where a new watcher is synchronously added to the watcher queue via the
watcher callback, this can result in the callback being called multiple times.

To support this case, the watcher needs to be move removed from the queue
before calling the watcher callback.
2020-04-18 09:41:46 +01:00
Michael Lumish 2db1aff5ff Bump grpc-js to 1.0 and stop calling it "beta" 2020-04-16 14:32:25 -07:00
Michael Lumish dbe98ad090 Fix "other" resovler registration code 2020-04-16 08:34:24 -07:00
Michael Lumish 1cd0ef12f2 Fix target name in "other" resolver test 2020-04-16 07:45:29 -07:00
Michael Lumish 13cc016e4e grpc-js: Use a more structured representation of URIs internally 2020-04-15 18:04:49 -07:00
Michael Lumish 4d1bdc4f20
Merge pull request #1356 from murgatroid99/grpc-js_proxy_support_take_2
grpc-js: Interact with proxies properly
2020-04-14 14:51:07 -07:00
Michael Lumish b489935b7c grpc-js: Fix how package.json is loaded 2020-04-14 13:58:12 -07:00
Michael Lumish e73c96298f Add error on DNS parsing failure, fix proxy DNS name 2020-04-14 11:32:07 -07:00
Michael Lumish cba41bc487 grpc-js: Interact with proxies properly 2020-04-14 10:43:36 -07:00
Michael Lumish 70b2a954e0
Merge branch 'master' into grpc-js_max_message_size 2020-04-13 14:13:03 -07:00
Patrick Remy e7b25e3070
gprc-js: upgrade to gts v2.0.0
Remove deprecated google-ts-style
2020-04-12 18:04:45 +02:00
Patrick Remy 70a92d2fc3
grpc-js: resolve node/no-unpublished-require 2020-04-12 17:20:28 +02:00
Patrick Remy 2c3c22ea2a
grpc-js: Merge remote-tracking branch 'upstream/master' into patch/grpc-js-linting 2020-04-12 16:56:44 +02:00
Patrick Remy a4d3f290eb
grpc-js: linter disable no-unused-vars
Make prettier happy and move eslint-disable comment
2020-04-11 16:11:13 +02:00
Michael Lumish 7eca188ae1
Merge pull request #1348 from murgatroid99/grpc-js_proxy_error_reporting
grpc-js: Add more information to proxy errors
2020-04-10 11:48:42 -07:00
Michael Lumish f1c1dafae4 grpc-js: Don't include the port in :authority 2020-04-10 10:16:56 -07:00
Michael Lumish 19d960074b grpc-js: Add more information to proxy errors 2020-04-10 10:09:54 -07:00
Patrick Remy 873e6d411c
gprc-js: Merge remote-tracking branch 'upstream/master' into patch/grpc-js-linting 2020-04-10 11:32:51 +02:00