Commit Graph

118 Commits

Author SHA1 Message Date
Esun Kim 434b3b62e5 Applied the best practice using global configuration 2019-05-31 14:46:58 -07:00
Mark D. Roth a4d4bb82c9 Revamp subchannel connectivity state monitoring APIs. 2019-05-10 07:57:11 -07:00
Esun Kim ccf4734907
Merge pull request #18799 from veblush/config
New config system & migration sample
2019-05-01 09:01:35 -07:00
Esun Kim 1518ecbd76 Added new configuration system to core/grp.
More generic configuration system is introduced in order to i) unify the
way how modules access the configurations instead of using low-level
get/setenv functions and ii) enable the customization for where configuration
is stored. This could be extended to support flag, file, etc.

Default configuration system uses environment variables as before so
basically this is expected to work just as it did. This behavior can
change by redefining GPR_GLOBAL_CONFIG_DEFINE_*type* macros.

* Migrated configuration

GRPC_CLIENT_CHANNEL_BACKUP_POLL_INTERVAL_MS
GRPC_EXPERIMENTAL_DISABLE_FLOW_CONTROL
GRPC_ABORT_ON_LEAKS
GRPC_NOT_USE_SYSTEM_SSL_ROOTS
2019-04-30 15:49:24 -07:00
Karthik Ravi Shankar 17ca558e13 Merge branch 'master' into grpc_namespace_channel_arguments 2019-04-23 11:38:13 -07:00
Nicolas "Pixel" Noble b9a279c030 Resolving ambiguous call to CreateCustomChannel. 2019-04-22 23:53:53 +02:00
Soheil Hassas Yeganeh 2b9448a71c Revert "Revert "Introduce C++ wrappers for gpr_mu and gpr_cv.""
This reverts commit d09c9f8e20.
2019-04-17 14:35:29 -04:00
Alexander Polcyn d09c9f8e20 Revert "Introduce C++ wrappers for gpr_mu and gpr_cv."
This reverts commit a26c09dd25.
2019-04-11 16:52:54 -07:00
Soheil Hassas Yeganeh a26c09dd25 Introduce C++ wrappers for gpr_mu and gpr_cv.
Introduce RAII wrappers in the grpc::internal and grpc_core
namespaces, and use them in place of std::mutex and
std::condition_variable.

Note that, since std::mutex is also used by the public
C++ headers we cannot introduce these wrappers in grpc_core.

Also, note that in grpcpp we cannot use gRPC core and vice versa.
So we had to duplicate the code, once using core_codegen_interface
and once using direct calls.
2019-04-08 18:27:07 -04:00
Mark D. Roth ee4e4bead3 pick_first: don't go into TRANSIENT_FAILURE upon empty update when in IDLE. 2019-04-01 14:55:29 -07:00
Mark D. Roth 206592ce9c Restructure how addresses and service config are passed from resolver to LB policy. 2019-03-26 11:57:21 -07:00
Mark D. Roth c9421eeb85 Fix state reported by pick_first when we receive a GOAWAY with a pending subchannel list. 2019-03-12 13:15:45 -07:00
yang-g 5480dc5cd6 fix client_lb_e2e_test 2019-02-25 10:28:06 -08:00
Mark D. Roth 428fa7602c Transition into state CONNECTING when we start name resolution. 2019-02-22 10:31:16 -08:00
Mark D. Roth 10fa278660
Merge pull request #17577 from markdroth/lb_trailing_metadata
Allow LB policies to intercept recv_trailing_metadata
2019-01-17 13:26:29 -08:00
Mark D. Roth e8cd36924e Add test for retry code path. 2019-01-16 10:19:14 -08:00
Juanli Shen bbe2587c39 Enable per-channel subchannel pool 2019-01-15 14:15:18 -08:00
Juanli Shen b3c0b91db1 Remove force_creation param from subchannel index 2019-01-15 10:47:35 -08:00
Mark D. Roth 08f94b1623 Clean up test. 2019-01-15 08:32:18 -08:00
Mark D. Roth d6e2b33670 Move InterceptRecvTrailingMetadataLoadBalancingPolicy to a separate file.
This fixes a link error when building with make.
2019-01-10 10:31:16 -08:00
Mark D. Roth 8cd7178afb Add dtors in LB policy subclasses. 2019-01-10 09:26:44 -08:00
Mark D. Roth 40f22bfc94 move ForwardingLoadBalancingPolicy to its own library 2018-12-21 15:09:17 -08:00
Mark D. Roth c4c4b9152f WIP 2018-12-21 10:57:54 -08:00
Mark D. Roth e1b36decba Merge remote-tracking branch 'upstream/master' into lb_trailing_metadata 2018-12-21 08:42:42 -08:00
Mark D. Roth c5f344deaf
Revert "Revert "Allow encoding arbitrary channel args on a per-address basis."" 2018-12-11 07:48:14 -08:00
hcaseyal 27e2ba31bf
Revert "Allow encoding arbitrary channel args on a per-address basis." 2018-12-07 16:13:37 -08:00
Mark D. Roth bc91ebf74c
Merge pull request #17343 from markdroth/server_address_list
Allow encoding arbitrary channel args on a per-address basis.
2018-12-07 14:26:09 -08:00
Mark D. Roth dedff37b4f Allow encoding arbitrary channel args on a per-address basis. 2018-12-07 12:41:51 -08:00
Mark D. Roth 6dc358ca34
Merge pull request #17391 from markdroth/reset_connection_backoff
Fix bug in subchannel backoff reset code.
2018-12-07 12:28:03 -08:00
Mark D. Roth a6a21d1c64 more code review changes 2018-12-07 08:38:29 -08:00
Mark D. Roth 3dd24ea978 code review changes 2018-12-06 12:27:41 -08:00
Mark D. Roth bb5741f9c0 Change pick_first to immediately select the first subchannel in READY state. 2018-12-06 10:18:44 -08:00
Mark D. Roth 5f806d77dc Fix bug in subchannel backoff reset code. 2018-12-06 09:21:21 -08:00
yang-g e75fc243da change tests to use the new class instead of grpc_test_init 2018-11-30 08:57:38 -08:00
Mark D. Roth d18458720c Don't reset channel state on resolver failure when LB policy exists. 2018-11-15 09:36:49 -08:00
Vijay Pai a192fc6880 Fix clang-tidy issues 2018-11-11 14:32:55 -08:00
Mark D. Roth 36ac496c35
Merge pull request #17046 from markdroth/health_check_client_fix
Fix handling of call context in health check call batch payload.
2018-10-30 07:03:28 -07:00
Mark D. Roth 8352f9d274 Fix handling of call context in health check call batch payload. 2018-10-29 14:11:08 -07:00
Spencer Fang 2808bd0ba0 Use forwarding LB test policy. Fix trailer interception code. 2018-10-25 15:47:13 -07:00
Mark D. Roth 2cff9ca408
Revert "Revert "Fail wait_for_ready=false RPCs when channel is in TRANSIENT_FAILURE."" 2018-10-25 12:24:42 -07:00
hcaseyal c4e2c46be1
Revert "Fail wait_for_ready=false RPCs when channel is in TRANSIENT_FAILURE." 2018-10-24 17:20:05 -07:00
Mark D. Roth f85fd026e3 Client-side health checking support. 2018-10-24 12:29:04 -07:00
Mark D. Roth b6059e2e86 Fail wait_for_ready=false RPCs when channel is in TRANSIENT_FAILURE. 2018-10-24 07:13:58 -07:00
Spencer Fang c62c3b920c Add fake lb policy for test. Tweak existing interception code. 2018-10-23 16:50:31 -07:00
Juanli Shen dd10cbc554 Change force_creation from atm to bool 2018-09-19 10:28:39 -07:00
Mark D. Roth 4312d1217e clang-format 2018-08-20 13:10:22 -07:00
Mark D. Roth aad7884233 Code review changes. 2018-08-17 11:24:54 -07:00
Mark D. Roth e9e92d443c Merge remote-tracking branch 'juanlishen/pf_check_state_before_watch' into pf_keep_unselected_subchannels 2018-08-17 08:11:10 -07:00
Mark D. Roth 4d6f002780 Code review changes and fix threading bug in test. 2018-08-17 08:09:32 -07:00
Juanli Shen d19fd1c689 PF: Check connectivity state before watching 2018-08-16 17:54:27 -07:00