open-consul/agent
Dan Upton 36a3d00f0d
bug: fix goroutine leaks caused by incorrect usage of `WatchCh` (#14916)
memdb's `WatchCh` method creates a goroutine that will publish to the
returned channel when the watchset is triggered or the given context
is canceled. Although this is called out in its godoc comment, it's
not obvious that this method creates a goroutine who's lifecycle you
need to manage.

In the xDS capacity controller, we were calling `WatchCh` on each
iteration of the control loop, meaning the number of goroutines would
grow on each autopilot event until there was catalog churn.

In the catalog config source, we were calling `WatchCh` with the
background context, meaning that the goroutine would keep running after
the sync loop had terminated.
2022-10-13 12:04:27 +01:00
..
ae
auto-config peering: initial sync (#12842) 2022-04-21 17:34:40 -05:00
cache add non-double-prefixed metrics (#14193) 2022-09-09 12:13:43 -05:00
cache-types Service http checks data source for agentless proxies (#14924) 2022-10-12 07:49:56 -07:00
checks UDP check for service stanza #12221 (#12722) 2022-06-06 15:13:19 -04:00
config adding configuration option cloud.scada_address (#14936) 2022-10-13 11:31:28 +02:00
configentry Merge central config for GetEnvoyBootstrapParams (#14869) 2022-10-10 12:40:27 -05:00
connect Use internal server certificate for peering TLS 2022-10-07 09:05:32 -06:00
consul bug: fix goroutine leaks caused by incorrect usage of `WatchCh` (#14916) 2022-10-13 12:04:27 +01:00
debug
dns test: fix incorrect use of t instead of r in retry test (#13146) 2022-05-19 14:00:07 -05:00
exec
grpc-external Merge pull request #14958 from hashicorp/peering/nonce 2022-10-12 08:18:15 -06:00
grpc-internal gRPC server metrics (#14922) 2022-10-11 17:00:32 -05:00
grpc-middleware gRPC server metrics (#14922) 2022-10-11 17:00:32 -05:00
hcp adding configuration option cloud.scada_address (#14936) 2022-10-13 11:31:28 +02:00
local Merge pull request #13499 from maxb/delete-unused-metric 2022-08-01 12:31:05 -06:00
metadata Change serf-tag references to field references. 2022-08-31 16:38:42 -05:00
mock
pool grpc: rename public/private directories to external/internal (#13721) 2022-07-13 16:33:48 +01:00
proxycfg Service http checks data source for agentless proxies (#14924) 2022-10-12 07:49:56 -07:00
proxycfg-glue Service http checks data source for agentless proxies (#14924) 2022-10-12 07:49:56 -07:00
proxycfg-sources bug: fix goroutine leaks caused by incorrect usage of `WatchCh` (#14916) 2022-10-13 12:04:27 +01:00
router
routine-leak-checker
rpc gRPC server metrics (#14922) 2022-10-11 17:00:32 -05:00
rpcclient/health proxycfg-glue: server-local implementation of the `Health` interface 2022-07-14 18:22:12 +01:00
structs Make the mesh gateway changes to allow `local` mode for cluster peering data plane traffic (#14817) 2022-10-06 09:54:14 -04:00
submatview proxycfg: terminate stream on irrecoverable errors 2022-08-23 20:17:49 +01:00
systemd
token
uiserver Enable/Disable Peering Support in the UI (#13816) 2022-07-25 11:50:11 -04:00
xds Add consul.xds.server.streamStart metric (#14957) 2022-10-12 14:17:58 -05:00
acl.go Unify various status errors into one HTTP error type. (#12594) 2022-04-29 13:42:49 -04:00
acl_endpoint.go Revert getPathSuffixUnescaped (#13256) 2022-06-01 13:17:14 -04:00
acl_endpoint_legacy.go
acl_endpoint_legacy_test.go
acl_endpoint_test.go [OSS] Add new peering ACL rule (#13848) 2022-07-22 14:42:23 -06:00
acl_oss.go
acl_test.go chore: removed unused method AddService (#13905) 2022-07-26 16:54:53 -04:00
agent.go Service http checks data source for agentless proxies (#14924) 2022-10-12 07:49:56 -07:00
agent_endpoint.go Merge branch 'main' of github.com:hashicorp/consul into derekm/split-grpc-ports 2022-09-08 14:53:08 -05:00
agent_endpoint_oss.go Fixup acl.EnterpriseMeta 2022-04-05 15:11:49 -07:00
agent_endpoint_oss_test.go Add oss test 2022-05-09 10:07:19 -07:00
agent_endpoint_test.go Use internal server certificate for peering TLS 2022-10-07 09:05:32 -06:00
agent_oss.go proxycfg: replace direct agent cache usage with interfaces (#13320) 2022-06-01 16:18:06 +01:00
agent_test.go chore: fix flakey scada provider test 2022-09-30 11:56:40 -04:00
apiserver.go
apiserver_test.go
catalog_endpoint.go [OSS] Support merge-central-config option in node services list API (#13450) 2022-06-15 08:30:31 -07:00
catalog_endpoint_oss.go
catalog_endpoint_test.go block PeerName register requests (#13887) 2022-07-29 14:36:22 -07:00
check.go Fixup acl.EnterpriseMeta 2022-04-05 15:11:49 -07:00
config_endpoint.go Revert getPathSuffixUnescaped (#13256) 2022-06-01 13:17:14 -04:00
config_endpoint_test.go Unify various status errors into one HTTP error type. (#12594) 2022-04-29 13:42:49 -04:00
connect_auth.go Unify various status errors into one HTTP error type. (#12594) 2022-04-29 13:42:49 -04:00
connect_ca_endpoint.go Unify various status errors into one HTTP error type. (#12594) 2022-04-29 13:42:49 -04:00
connect_ca_endpoint_test.go Update go version to 1.18.1 2022-04-18 11:41:10 -04:00
coordinate_endpoint.go Revert getPathSuffixUnescaped (#13256) 2022-06-01 13:17:14 -04:00
coordinate_endpoint_test.go Unify various status errors into one HTTP error type. (#12594) 2022-04-29 13:42:49 -04:00
delegate_mock_test.go Move ACLResolveResult into acl/resolver package (#13467) 2022-06-17 10:24:43 +01:00
denylist.go
denylist_test.go
discovery_chain_endpoint.go Revert getPathSuffixUnescaped (#13256) 2022-06-01 13:17:14 -04:00
discovery_chain_endpoint_test.go Cluster peering failover disco chain changes (#14296) 2022-08-23 09:13:43 -04:00
dns.go Bind a dns mux handler to gRPC proxy 2022-09-29 21:44:45 -07:00
dns_oss.go Parse peer name for virtual IP DNS queries (#13602) 2022-07-06 10:30:04 -06:00
dns_test.go Bind a dns mux handler to gRPC proxy 2022-09-29 21:44:45 -07:00
enterprise_delegate_oss.go
event_endpoint.go Revert getPathSuffixUnescaped (#13256) 2022-06-01 13:17:14 -04:00
event_endpoint_test.go Unify various status errors into one HTTP error type. (#12594) 2022-04-29 13:42:49 -04:00
federation_state_endpoint.go Revert getPathSuffixUnescaped (#13256) 2022-06-01 13:17:14 -04:00
health_endpoint.go Revert getPathSuffixUnescaped (#13256) 2022-06-01 13:17:14 -04:00
health_endpoint_test.go block PeerName register requests (#13887) 2022-07-29 14:36:22 -07:00
http.go Reuse http.DefaultTransport in UIMetricsProxy (#14521) 2022-09-08 11:02:05 -04:00
http_decode_test.go
http_oss.go Unify various status errors into one HTTP error type. (#12594) 2022-04-29 13:42:49 -04:00
http_oss_test.go
http_register.go Add new internal endpoint to list exported services to a peer 2022-09-23 09:43:56 -04:00
http_test.go Add separate grpc_tls port. 2022-08-29 13:43:43 -05:00
intentions_endpoint.go oss: peering, http: get peer service intentions (#2098) 2022-06-22 16:25:09 -07:00
intentions_endpoint_oss_test.go
intentions_endpoint_test.go oss: peering, http: get peer service intentions (#2098) 2022-06-22 16:25:09 -07:00
keyring.go
keyring_test.go
kvs_endpoint.go Fix KVSGet method to handle QueryOptions properly (#13344) 2022-06-02 12:26:18 -04:00
kvs_endpoint_test.go
metrics.go
metrics_test.go Middleware: `RequestRecorder` reports calls below 1ms as decimal value (#12905) 2022-09-15 13:04:37 -04:00
nodeid.go
nodeid_test.go
notify.go
notify_test.go
operator_endpoint.go Unify various status errors into one HTTP error type. (#12594) 2022-04-29 13:42:49 -04:00
operator_endpoint_oss.go
operator_endpoint_test.go
peering_endpoint.go Support Stale Queries for Trust Bundle Lookups (#14724) 2022-09-28 09:56:59 -07:00
peering_endpoint_oss_test.go [sync oss] api: add peering api module (#12911) 2022-05-02 11:49:05 -07:00
peering_endpoint_test.go Include stream-related information in peering endpoints 2022-10-10 13:20:14 -06:00
prepared_query_endpoint.go Revert getPathSuffixUnescaped (#13256) 2022-06-01 13:17:14 -04:00
prepared_query_endpoint_test.go Add Cluster Peering Failover Support to Prepared Queries (#13835) 2022-07-22 09:14:43 -04:00
reload.go
remote_exec.go
remote_exec_test.go
retry_join.go add HCP integration component (#14723) 2022-09-26 14:58:15 -04:00
retry_join_test.go add HCP integration component (#14723) 2022-09-26 14:58:15 -04:00
service_checks_test.go Service http checks data source for agentless proxies (#14924) 2022-10-12 07:49:56 -07:00
service_manager.go Merge central config for GetEnvoyBootstrapParams (#14869) 2022-10-10 12:40:27 -05:00
service_manager_test.go Add support for merge-central-config query param (#13001) 2022-05-25 13:20:17 -07:00
session_endpoint.go Revert getPathSuffixUnescaped (#13256) 2022-06-01 13:17:14 -04:00
session_endpoint_test.go
setup.go Add consul.xds.server.streamStart metric (#14957) 2022-10-12 14:17:58 -05:00
setup_oss.go
sidecar_service.go PR #14057 follow up fix: service id parsing from sidecar id (#14541) 2022-09-09 09:47:10 -05:00
sidecar_service_test.go PR #14057 follow up fix: service id parsing from sidecar id (#14541) 2022-09-09 09:47:10 -05:00
signal_unix.go
signal_windows.go
snapshot_endpoint.go
snapshot_endpoint_test.go
status_endpoint.go
status_endpoint_test.go
streaming_test.go
testagent.go Use internal server certificate for peering TLS 2022-10-07 09:05:32 -06:00
testagent_test.go
translate_addr.go
txn_endpoint.go increase the size of txn to support vault (#14599) 2022-09-19 09:07:19 -07:00
txn_endpoint_test.go increase the size of txn to support vault (#14599) 2022-09-19 09:07:19 -07:00
ui_endpoint.go Add new internal endpoint to list exported services to a peer 2022-09-23 09:43:56 -04:00
ui_endpoint_oss_test.go
ui_endpoint_test.go Rename `PeerName` to `Peer` on prepared queries and exported services (#14854) 2022-10-04 14:46:15 -04:00
user_event.go
user_event_test.go chore: removed unused method AddService (#13905) 2022-07-26 16:54:53 -04:00
util.go
util_test.go
watch_handler.go
watch_handler_test.go