3350 Commits

Author SHA1 Message Date
08d23162a9 grpclb: recreate SubConns when switching fallback (#2899)
With pickfirst, the same SubConn is reused, only addresses are updated.
But backends and fallbacks may need different credentials. This change
force-removes all SubConns when switching fallback.
2019-07-10 13:56:55 -07:00
8e511dc15f xds: update proto (#2896) 2019-07-08 16:47:29 -07:00
005a2997ef Change version to 1.23.0-dev (#2893) 2019-07-03 09:06:53 -07:00
73b304d882 xds: bazel proto gen code generation scripts (#2775) 2019-06-27 15:18:59 -07:00
95da23bbf9 xds: load report for server loads (from trailer) (#2870) 2019-06-26 12:49:37 -07:00
5caf962939 client: addrConn NewStream and health check cleanup (#2848) 2019-06-26 11:15:17 -07:00
915d20dcdb grpc: change type of Server.conns
Change Server.conns from a map[io.Closer]bool to a map[transport.ServerTransport]bool.
2019-06-26 11:09:45 -07:00
7472edcc1e metadata: write original md before appended md (#2879) 2019-06-25 10:34:12 -07:00
70e8b38052 test: end2end test improvements separate server and client configs. (#2877)
- Seperated and documented the options for client and server sides.
- Better support for multiple grpc.Servers. This will be used in other
  improvements that I have in the works.
- Moved some common functionality from channelz_test.go to
  end2end_test.go.
- Added an option to use the default health service implementation, instead
 of each test creating a new health.Server and passing it in. The
 inidividual tests have not been changed in this PR. I will do that in a
 follow up PR to keep the changes to a reasonable size.
- Fixed one of the tests which had to be fixed because of the separation
  of client and server configs.
2019-06-24 14:53:45 -07:00
e8b58ff637 [xds_ignore_weight_0_localities] xds: ignore localities with weight 0 (#2875)
Locality weighted load balancer can be enabled by setting an option in
CDS, and the weight of each locality. Currently, without the guarantee
that CDS is always sent, we assume locality weighted load balance is
always enabled, and ignore all weight 0 localities.
In the future, we should look at the config in CDS response and decide
whether locality weight matters.
2019-06-24 09:40:15 -07:00
43c0599b22 test: fix flaky grpclb TestDropRequest (#2865) 2019-06-24 09:38:28 -07:00
ecb921ddb9 test: end2end test cleanup http handler server (#2876)
* end2end test cleanup #1

- Removed some old code which has a TODO asking for it's removal once
  Go1.6 and Go1.7 support is gone.
- Cleaned up a couple of error messages along with it.
2019-06-20 15:35:55 -07:00
eca11cb9e4 transport: share recv buffers (#2813)
transport: share recv buffers
2019-06-20 15:01:58 -07:00
712624e686 examples: note about ALTS special access permission on GCP (#2846) 2019-06-20 13:39:07 -07:00
f7e18a395d examples: fixed spelling mistake in route_guide client example (#2873) 2019-06-19 10:24:51 -07:00
7a12d52f3b internal: update channelz.pb.go (#2871)
A comment change.
2019-06-18 16:20:48 -07:00
fc15416d24 test: fix GoAwayThenClose by wait for cc state change (#2855)
In the end of the test, 10 RPCs are made to make sure data is sent to
the second server. The first RPC of these 10 is made right after the
second server's listener receives a connection. But at this time, the
connectivity state on the client side is not set to READY yet (though
ac's state should be either connecting or ready, the race between ac
and balancer could cause cc to still be in transient failure). So the
first RPC fails due to transient failure, but the following 9 will
succeed.
2019-06-13 15:57:55 -07:00
c7831546a1 test: extend RPC timeout for TestHTTPHeaderFrameErrorHandlingHTTPMode (#2861)
This test sometimes fails with error creating stream due to
DeadlineExceeded. It's very hard to reproduce (failed twice in 100000
runs). Extend the RPC timeout in case it's too short.
2019-06-13 15:29:28 -07:00
684ef04609 Fix a typo in the comment. (#2866)
I was trying to run this test and I had copied the name of the function
from the comment, and it took a good while to figure out why
`go test -run` was returning `testing: warning: no tests to run`.
2019-06-12 15:56:39 -07:00
cd89eaf40e test: fix Test/GracefulStop by not removing activeStreams too aggresivelly (#2857)
Before this fix, stream is removed from activeStreams in finishStream,
which happens when the service handler returns status, without waiting
for the status to be sent by loopyWriter. If GracefulStop() is called in
between, it will close the connection (because activeStreams is empty),
which causes the RPC to fail with "transport is closing". This change
moves the activeStreams cleanup into loopyWriter, after sending status
on wire.
2019-06-12 10:26:18 -07:00
a1d4c283c6 client: update state earlier to prevent resetTransport calls from killing good transports (#2862) 2019-06-10 16:58:43 -07:00
a5396fd45c Remove call to proto.Clone() in http2Server.WriteStatus. (#2842)
* Expose a method from the internal package to get to the raw
  StatusProto wrapped by the status error, and use it from
  http2Server.WriteStatus().
* Add a helper method in internal/testutils to compare two status errors
  and update test code to use that instead of reflect.DeepEqual()
2019-06-10 15:03:12 -07:00
b681a11d08 A few more improvements to the benchmark code. (#2840)
* A few more improvements to the benchmark code.

* In benchmain/main.go:
  * Define types for function arguments to make code more readable
  * Significantly simplify the code as a result of stats package refactor.
* In benchresult/main.go
  * Simplify code as a result of stats package refactor.
* In stats/stats.go
  * Define and expose featureIndex enum.
  * Refactor the types used to store features, results, stats etc.
  * Provide easy to use methods to add/modify/read/dump stats info.
* Delete stats/util.go - dead code.
2019-06-10 09:53:35 -07:00
f2967c2f83 serviceconfig: mark new package experimental (#2852) 2019-06-06 13:39:47 -07:00
d33cecdadd xds: fix difference between user target name and resource name (#2845) 2019-06-05 10:52:48 -07:00
914c27f822 internal: ignore unexported fields when comparing struct fields (#2853) 2019-06-05 09:54:21 -07:00
2df9cb80d4 xds: rpc counts (start/end) per locality (#2805) 2019-06-04 12:47:23 -07:00
73e5679828 travis: run most test environments on Go 1.12 instead of 1.11 (#2847) 2019-06-04 11:19:23 -07:00
532a0b98cb only force update picker when cache is used (sub-balancer is round-robin) (#2843) 2019-06-03 10:43:53 -07:00
99aff99e53 xds: rename balancer to xds_experimental during testing (#2850) 2019-06-03 10:08:20 -07:00
a69f97005b internal: lint receiver name not x (#2844) 2019-05-30 16:20:18 -07:00
82fdf27702 addrConn: not reset backoff if update address in TransientFailure (#2740) 2019-05-30 13:13:47 -07:00
58c136ca0f [xds_112] internal: balancer/xds remove build contrain >= 1.12 (#2834)
This reverts commit b03f6fd5e3dfa7663a225c36a15d623159f6724b.
2019-05-30 13:08:45 -07:00
d40a995895 balancer/resolver: add loadBalancingConfig and pre-parsing support (#2732) 2019-05-30 09:12:58 -07:00
0435a4bb26 balancer: stop using picker from old balancer with switching balancers (#2833) 2019-05-29 10:35:14 -07:00
b3e4b49ddb xds: fix eds balancer nil pointer panic without addresses (#2809) 2019-05-28 11:14:10 -07:00
f34abd9513 xds: add orca generated file, and move orca to xds folder (#2804) 2019-05-24 12:35:57 -07:00
b7325a3150 Update go.mod for golang/x/tools and staticcheck (#2832) 2019-05-24 11:13:46 -07:00
25ad15b871 transport: Fix the inconsistency between headerChan and headerDone (#2818)
transport: Fix the inconsistency between headerChan and headerDone
2019-05-22 14:02:23 -07:00
e73aa7fee0 Change version to 1.22.0-dev (#2830) 2019-05-22 14:01:12 -07:00
c2e0a6d772 Fix a typo. (#2826) 2019-05-21 11:09:30 -07:00
7c03793042 benchmark: refactor the benchmark code. (#2820)
benchmark: refactor the benchmark code.
2019-05-20 16:01:37 -07:00
8655d473ad credentials/alts: Add example of authz in ALTS (#2814) 2019-05-16 14:58:44 -07:00
263405c7fe docs: small docs fixed to WithDisableServiceConfig (#2819) 2019-05-16 13:30:58 -07:00
4a199db194 xds: split proto imports for message and service (#2812) 2019-05-14 15:15:08 -07:00
ab909771a0 Fix using grpc.WithBalancerName("grpclb") explicitly (#2778) (#2802) 2019-05-10 15:42:49 -07:00
a0be99ad32 xds: use BuildOptions.Target.endpoint string instead of deprecated cc.Target (#2807) 2019-05-10 10:45:05 -07:00
4748a040c8 balancer: provide parsed target through BuildOptions (#2803) 2019-05-09 13:27:41 -07:00
39ed87fce2 xds: report loads to traffic director (#2789) 2019-05-07 13:58:58 -07:00
9949ee0c45 xds: lrs load store (#2779) 2019-05-07 10:06:40 -07:00