consul/agent
Freddy cf4821885d
Avoid panic on concurrent writes to cached service config map (#10647)
If multiple instances of a service are co-located on the same node then
their proxies will all share a cache entry for their resolved service
configuration. This is because the cache key contains the name of the
watched service but does not take into account the ID of the watching
proxies.

This means that there will be multiple agent service manager watches
that can wake up on the same cache update. These watchers then
concurrently modify the value in the cache when merging the resolved
config into the local proxy definitions.

To avoid this concurrent map write we will only delete the key from
opaque config in the local proxy definition after the merge, rather
than from the cached value before the merge.
2021-07-20 10:09:29 -06:00
..
ae testing: skip slow tests with -short 2020-12-07 13:42:55 -05:00
auto-config connect: include optional partition prefixes in SPIFFE identifiers (#10507) 2021-06-25 16:47:47 -05:00
cache cache: Fix bug where connection errors can cause early cache expiry (#9979) 2021-04-08 11:11:15 +01:00
cache-types connect: include optional partition prefixes in SPIFFE identifiers (#10507) 2021-06-25 16:47:47 -05:00
checks create separate function with its own context to shutdown http2 client conn in h2ping check 2021-04-29 18:05:50 -04:00
config Add DNS recursor strategy option (#10611) 2021-07-19 15:22:51 -07:00
connect check expiry date of the root/intermediate before using it to sign a leaf (#10500) 2021-07-13 12:15:06 -04:00
consul acl: use SetHash consistently in testPolicyForID 2021-07-16 17:59:56 -04:00
debug chore: upgrade to gopsutil/v3 (#9118) 2020-11-06 20:48:38 -05:00
dns Add DNS recursor strategy option (#10611) 2021-07-19 15:22:51 -07:00
exec
grpc fix 64-bit aligment for 32-bit platforms 2021-06-29 16:10:21 -04:00
local make tests use a dummy node_name to avoid environment related failures (#10262) 2021-06-01 11:58:03 -04:00
metadata Refactor of serf feature flag tags. 2021-05-20 12:57:06 -04:00
mock
pool introduce certopts (#9606) 2021-03-22 10:16:41 +01:00
proxycfg Add TODOs about partition handling 2021-07-14 22:21:55 -06:00
router Correcting the changed function name in comment 2021-02-06 20:23:40 -05:00
routine-leak-checker Preparation for changing where license management is done. 2021-05-24 10:19:31 -04:00
rpc/subscribe structs: remove EnterpriseMeta.GetNamespace 2021-03-09 15:17:26 -05:00
rpcclient/health streaming: support X-Cache-Hit header 2021-06-28 17:29:23 -04:00
structs acls: Show `AuthMethodNamespace` when reading/listing ACL token meta (#10598) 2021-07-15 10:38:52 -07:00
submatview streaming: support X-Cache-Hit header 2021-06-28 17:29:23 -04:00
systemd
token token: OSS support for enterprise tokens 2020-08-31 15:10:15 -04:00
uiserver auto-updated agent/uiserver/bindata_assetfs.go from commit 1eb7a83ee 2021-07-20 15:15:10 +00:00
xds Merge pull request #10621 from hashicorp/vuln/validate-sans 2021-07-15 09:43:55 -06:00
acl.go Move static token resolution into the ACLResolver (#10013) 2021-04-14 12:39:35 -04:00
acl_endpoint.go Move static token resolution into the ACLResolver (#10013) 2021-04-14 12:39:35 -04:00
acl_endpoint_legacy.go api: rename HTTPServer to HTTPHandlers 2020-09-18 17:38:23 -04:00
acl_endpoint_legacy_test.go testing: skip slow tests with -short 2020-12-07 13:42:55 -05:00
acl_endpoint_test.go Add support for returning ACL secret IDs for accessors with acl:write (#10546) 2021-07-08 15:13:08 -07:00
acl_test.go Move static token resolution into the ACLResolver (#10013) 2021-04-14 12:39:35 -04:00
agent.go Merge pull request #10588 from hashicorp/dnephin/config-fix-ports-grpc 2021-07-13 13:11:38 -04:00
agent_endpoint.go fix backwards compat for envoy command 2021-07-13 12:31:49 -04:00
agent_endpoint_test.go Omit empty tproxy config in JSON responses (#10402) 2021-06-15 13:53:35 -06:00
agent_oss.go Preparation for changing where license management is done. 2021-05-24 10:19:31 -04:00
agent_test.go agent: fix two data race in agent tests 2021-07-14 18:58:16 -04:00
apiserver.go agent: fix bug with multiple listeners 2020-11-18 13:03:29 -05:00
apiserver_test.go agent: add apiServers type for managing HTTP servers 2020-09-03 13:40:12 -04:00
catalog_endpoint.go http: add partition query param parsing 2021-07-14 12:07:38 -07:00
catalog_endpoint_test.go testing: skip slow tests with -short 2020-12-07 13:42:55 -05:00
check.go
config_endpoint.go connect: intentions are now managed as a new config entry kind "service-intentions" (#8834) 2020-10-06 13:24:05 -05:00
config_endpoint_test.go Rename CatalogDestinationsOnly (#10397) 2021-06-14 14:15:09 -06:00
connect_auth.go connect: include optional partition prefixes in SPIFFE identifiers (#10507) 2021-06-25 16:47:47 -05:00
connect_ca_endpoint.go Format certificates properly (rfc7468) with a trailing new line (#10411) 2021-06-30 20:48:29 -04:00
connect_ca_endpoint_test.go ca: remove unused RotationPeriod field 2021-07-05 19:15:44 -04:00
coordinate_endpoint.go api: rename HTTPServer to HTTPHandlers 2020-09-18 17:38:23 -04:00
coordinate_endpoint_test.go testing: skip slow tests with -short 2020-12-07 13:42:55 -05:00
denylist.go
denylist_test.go
discovery_chain_endpoint.go http: Check HTTPUseCache in a single place 2020-12-11 14:03:47 -05:00
discovery_chain_endpoint_test.go testing: skip slow tests with -short 2020-12-07 13:42:55 -05:00
dns.go Add DNS recursor strategy option (#10611) 2021-07-19 15:22:51 -07:00
dns_oss.go
dns_test.go Add DNS recursor strategy option (#10611) 2021-07-19 15:22:51 -07:00
enterprise_delegate_oss.go
event_endpoint.go Move static token resolution into the ACLResolver (#10013) 2021-04-14 12:39:35 -04:00
event_endpoint_test.go testing: skip slow tests with -short 2020-12-07 13:42:55 -05:00
federation_state_endpoint.go api: rename HTTPServer to HTTPHandlers 2020-09-18 17:38:23 -04:00
health_endpoint.go http: set consistency header properly 2021-05-06 13:19:45 -04:00
health_endpoint_test.go streaming: fix enable of streaming in the client 2021-06-28 17:23:14 -04:00
http.go http: add an X-Consul-Query-Backend header to responses 2021-06-28 16:44:58 -04:00
http_decode_test.go Add support for configuring TLS ServerName for health checks 2021-03-16 18:16:44 -04:00
http_oss.go http: add partition query param parsing 2021-07-14 12:07:38 -07:00
http_oss_test.go testing: skip slow tests with -short 2020-12-07 13:42:55 -05:00
http_register.go Switch to using the external autopilot module 2020-11-09 09:22:11 -05:00
http_test.go agent: fix two data race in agent tests 2021-07-14 18:58:16 -04:00
intentions_endpoint.go agent: allow the /v1/connect/intentions/match endpoint to use the agent cache (#8875) 2020-10-08 14:51:53 -05:00
intentions_endpoint_oss_test.go testing: skip slow tests with -short 2020-12-07 13:42:55 -05:00
intentions_endpoint_test.go server: deletions of intentions by name using the intention API is now idempotent (#9278) 2021-01-04 11:27:00 -06:00
keyring.go
keyring_test.go testing: skip slow tests with -short 2020-12-07 13:42:55 -05:00
kvs_endpoint.go Add content type headers to raw KV responses 2021-04-14 16:20:22 -04:00
kvs_endpoint_test.go Add content type headers to raw KV responses 2021-04-14 16:20:22 -04:00
nodeid.go chore: upgrade to gopsutil/v3 (#9118) 2020-11-06 20:48:38 -05:00
nodeid_test.go
notify.go
notify_test.go
operator_endpoint.go Fix defaults for autopilot config update 2021-07-06 18:39:40 -04:00
operator_endpoint_oss.go Add a CLI command for retrieving the autopilot configuration. (#9142) 2020-11-11 13:19:02 -05:00
operator_endpoint_test.go Fix defaults for autopilot config update 2021-07-06 18:39:40 -04:00
prepared_query_endpoint.go http: Check HTTPUseCache in a single place 2020-12-11 14:03:47 -05:00
prepared_query_endpoint_test.go testing: skip slow tests with -short 2020-12-07 13:42:55 -05:00
reload.go Refactor uiserver to separate package, cleaner Reloading 2020-10-01 11:32:25 +01:00
remote_exec.go
remote_exec_test.go testing: skip slow tests with -short 2020-12-07 13:42:55 -05:00
retry_join.go
retry_join_test.go testing: skip slow tests with -short 2020-12-07 13:42:55 -05:00
service_checks_test.go agent: move deprecated AddServiceFromSource to a test file 2021-01-25 17:25:03 -05:00
service_manager.go Avoid panic on concurrent writes to cached service config map (#10647) 2021-07-20 10:09:29 -06:00
service_manager_test.go Avoid panic on concurrent writes to cached service config map (#10647) 2021-07-20 10:09:29 -06:00
session_endpoint.go api: rename HTTPServer to HTTPHandlers 2020-09-18 17:38:23 -04:00
session_endpoint_test.go testing: skip slow tests with -short 2020-12-07 13:42:55 -05:00
setup.go connect: emit a metric for the number of seconds until root CA expiration 2021-06-14 16:57:01 -04:00
setup_oss.go Move some things around to allow for license updating via config reload 2021-05-25 09:57:50 -04:00
sidecar_service.go Replace use of 'sane' where appropriate 2021-07-02 12:18:46 -04:00
sidecar_service_test.go agent: move deprecated AddServiceFromSource to a test file 2021-01-25 17:25:03 -05:00
signal_unix.go
signal_windows.go
snapshot_endpoint.go api: rename HTTPServer to HTTPHandlers 2020-09-18 17:38:23 -04:00
snapshot_endpoint_test.go testing: skip slow tests with -short 2020-12-07 13:42:55 -05:00
status_endpoint.go api: rename HTTPServer to HTTPHandlers 2020-09-18 17:38:23 -04:00
status_endpoint_test.go testing: skip slow tests with -short 2020-12-07 13:42:55 -05:00
streaming_test.go streaming: fix enable of streaming in the client 2021-06-28 17:23:14 -04:00
testagent.go agent: fix a data race in DNS tests 2021-07-14 18:58:16 -04:00
testagent_test.go
translate_addr.go
txn_endpoint.go Add support for configuring TLS ServerName for health checks 2021-03-16 18:16:44 -04:00
txn_endpoint_test.go testing: skip slow tests with -short 2020-12-07 13:42:55 -05:00
ui_endpoint.go Merge pull request #10016 from hashicorp/topology-update 2021-04-15 14:11:23 -06:00
ui_endpoint_oss_test.go testing: skip slow tests with -short 2020-12-07 13:42:55 -05:00
ui_endpoint_test.go Update viz endpoint to include topology from intentions 2021-04-14 10:20:15 -06:00
user_event.go subscribe: Add steps to rpc/subscribe tests 2020-10-08 15:38:01 -04:00
user_event_test.go testing: skip slow tests with -short 2020-12-07 13:42:55 -05:00
util.go
util_test.go testing: skip slow tests with -short 2020-12-07 13:42:55 -05:00
watch_handler.go
watch_handler_test.go