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
Michael Lumish
d3a1ba6cbf
Make grpc-js and grpc-js-xds versions match
2020-11-25 10:04:05 -08:00
Michael Lumish
4b3e0b6a8a
Update version and dependencies for final release
2020-11-24 16:18:47 -08:00
Michael Lumish
7c5c4e845a
Merge branch 'master' into proto-loader_type_generator
2020-11-24 16:09:40 -08:00
A. Tate Barber
8c50e2d40f
Refactor loadFileDescriptorSetFile to not catch JSON decoding errors
...
This change ensures that errors are not hidden when
loadFileDescriptorSet fails to decode JSON. Instead, only JSON parsing
errors are hidden.
2020-11-23 21:54:34 -06:00
A. Tate Barber
63af3bcd6a
Enable loadFileDescriptorSetFile to parse JSON files
2020-11-23 21:46:04 -06:00
A. Tate Barber
bf98c167cd
Refactor loadFileDescriptorSet
...
This change refactors the loadFileDescriptorSetFile function to take
a plain Buffer or Javascript object as input.
2020-11-23 21:24:39 -06:00
A. Tate Barber
08254e4d2e
Add functions for loading and parsing binary-encoded file decriptor sets
...
Fixes #1627
2020-11-22 17:30:43 -06: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
c981d2cec3
grpc-tools: Bump version to 1.10.0
2020-11-18 11:25:02 -08:00
Masaki Hara
ccb85ba470
Bump protobuf dep to v3.14.0
2020-11-18 16:01:08 +09:00
Michael Lumish
8bacb12d23
grpc-js-xds: Reset LRS backoff on data, not metadata
2020-11-13 14:54:38 -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
62e5038fcc
Reorder gulp cleanup step to avoid breakages
2020-11-03 10:10:07 -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
dc80dc1f17
Add a simple test for the xds package to the test job
2020-10-23 14:57:18 -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
fba3a795c2
Fix up grpc-js dependency
2020-10-22 14:22:51 -07:00
Michael Lumish
0a4219e0b8
Fix a directory error in the xds script
2020-10-22 13:14:13 -07:00
Michael Lumish
94391ca64d
import type * as grpc, fix ConstructorParameters usage
2020-10-22 11:09:23 -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
f2c82cc8e5
Bump the version again to capture a merge
2020-10-21 14:36:50 -07:00
Michael Lumish
542f619124
Merge branch 'proto-loader_type_generator' of https://github.com/murgatroid99/grpc-node into proto-loader_type_generator
2020-10-21 14:35:11 -07:00
Michael Lumish
96cba74b9b
Use 'import type' where possible
2020-10-21 14:33:21 -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
e05b74b631
Add grpc-js-xds README
2020-10-21 14:06:14 -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
Richard Willis
e85b72bbc4
Regenerate golden types
2020-10-11 12:10:52 +01:00
Richard Willis
330d1835fe
proto-loader: fix typescript generation callType for client streaming
2020-10-11 12:01:32 +01: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
Richard Willis
829333c459
Regenerate golden types
2020-09-24 18:22:52 +01: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
acf403b704
proto-loader: use method descriptor types to define server handlers
2020-09-24 09:42:10 +01: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
Michael Lumish
677741d442
ConstructorParameters is already a TypeScript builtin
2020-09-02 13:35:43 -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
Michael Lumish
2d1cb15dec
Fix imports for messages without packages
2020-08-31 09:40:17 -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