open-consul/agent/consul/state
Lincoln Stoll 5c5e1266e3
perf: Remove expensive reflection from raft/mesh hot path (#16552)
* perf: Remove expensive reflection from raft/mesh hot path

Replaces a reflection-based copy of a struct in the mesh topology with a
deep-copy generated implementation.

This is in the hot-path of raft FSM updates, and the reflection overhead was a
substantial part of mesh registration times (~90%). This could manifest as raft
thread saturation, and resulting instability.

Co-authored-by: Joel Brandhorst <joel.brandhorst@gmail.com>

* add changelog

---------

Co-authored-by: Joel Brandhorst <joel.brandhorst@gmail.com>
Co-authored-by: John Murret <john.murret@hashicorp.com>
2023-05-26 11:42:05 -06:00
..
acl.go copyright headers for agent folder (#16704) 2023-03-28 14:39:22 -04:00
acl_events.go copyright headers for agent folder (#16704) 2023-03-28 14:39:22 -04:00
acl_events_test.go copyright headers for agent folder (#16704) 2023-03-28 14:39:22 -04:00
acl_oss.go copyright headers for agent folder (#16704) 2023-03-28 14:39:22 -04:00
acl_oss_test.go copyright headers for agent folder (#16704) 2023-03-28 14:39:22 -04:00
acl_schema.go copyright headers for agent folder (#16704) 2023-03-28 14:39:22 -04:00
acl_test.go copyright headers for agent folder (#16704) 2023-03-28 14:39:22 -04:00
autopilot.go copyright headers for agent folder (#16704) 2023-03-28 14:39:22 -04:00
autopilot_test.go copyright headers for agent folder (#16704) 2023-03-28 14:39:22 -04:00
catalog.go perf: Remove expensive reflection from raft/mesh hot path (#16552) 2023-05-26 11:42:05 -06:00
catalog_events.go copyright headers for agent folder (#16704) 2023-03-28 14:39:22 -04:00
catalog_events_oss.go copyright headers for agent folder (#16704) 2023-03-28 14:39:22 -04:00
catalog_events_oss_test.go copyright headers for agent folder (#16704) 2023-03-28 14:39:22 -04:00
catalog_events_test.go copyright headers for agent folder (#16704) 2023-03-28 14:39:22 -04:00
catalog_oss.go copyright headers for agent folder (#16704) 2023-03-28 14:39:22 -04:00
catalog_oss_test.go copyright headers for agent folder (#16704) 2023-03-28 14:39:22 -04:00
catalog_schema.deepcopy.go perf: Remove expensive reflection from raft/mesh hot path (#16552) 2023-05-26 11:42:05 -06:00
catalog_schema.go Attach service virtual IP info to compiled discovery chain (#17295) 2023-05-12 02:28:16 +00:00
catalog_test.go Add /v1/internal/service-virtual-ip for manually setting service VIPs (#17294) 2023-05-12 00:38:52 +00:00
config_entry.go This fixes an issue where TCP services that are exported cannot be configured to failover. (#17469) 2023-05-25 12:50:20 -04:00
config_entry_events.go JWT Authentication with service intentions: xds package update (#17414) 2023-05-19 18:14:16 -04:00
config_entry_events_test.go copyright headers for agent folder (#16704) 2023-03-28 14:39:22 -04:00
config_entry_exported_services.go sidecar-proxy refactor (#17328) 2023-05-12 16:49:42 -04:00
config_entry_exported_services_oss.go [COMPLIANCE] Add Copyright and License Headers (#16854) 2023-04-20 12:40:22 +00:00
config_entry_intention.go fix tproxy sameness groups (#17468) 2023-05-25 12:18:55 -04:00
config_entry_intention_oss.go copyright headers for agent folder (#16704) 2023-03-28 14:39:22 -04:00
config_entry_oss.go fix tproxy sameness groups (#17468) 2023-05-25 12:18:55 -04:00
config_entry_oss_test.go copyright headers for agent folder (#16704) 2023-03-28 14:39:22 -04:00
config_entry_sameness_group.go Add sameness group field to prepared queries (#17089) 2023-04-24 13:21:28 -07:00
config_entry_sameness_group_oss.go Add default resolvers to disco chains based on the default sameness group (#16837) 2023-03-31 14:35:56 -04:00
config_entry_sameness_group_oss_test.go copyright headers for agent folder (#16704) 2023-03-28 14:39:22 -04:00
config_entry_schema.go fix tproxy sameness groups (#17468) 2023-05-25 12:18:55 -04:00
config_entry_test.go This fixes an issue where TCP services that are exported cannot be configured to failover. (#17469) 2023-05-25 12:50:20 -04:00
connect_ca.go copyright headers for agent folder (#16704) 2023-03-28 14:39:22 -04:00
connect_ca_events.go copyright headers for agent folder (#16704) 2023-03-28 14:39:22 -04:00
connect_ca_events_test.go copyright headers for agent folder (#16704) 2023-03-28 14:39:22 -04:00
connect_ca_test.go copyright headers for agent folder (#16704) 2023-03-28 14:39:22 -04:00
coordinate.go copyright headers for agent folder (#16704) 2023-03-28 14:39:22 -04:00
coordinate_oss.go copyright headers for agent folder (#16704) 2023-03-28 14:39:22 -04:00
coordinate_oss_test.go copyright headers for agent folder (#16704) 2023-03-28 14:39:22 -04:00
coordinate_test.go copyright headers for agent folder (#16704) 2023-03-28 14:39:22 -04:00
deep-copy.sh perf: Remove expensive reflection from raft/mesh hot path (#16552) 2023-05-26 11:42:05 -06:00
delay_oss.go copyright headers for agent folder (#16704) 2023-03-28 14:39:22 -04:00
delay_test.go copyright headers for agent folder (#16704) 2023-03-28 14:39:22 -04:00
events.go JWT Authentication with service intentions: xds package update (#17414) 2023-05-19 18:14:16 -04:00
events_test.go * added Sameness Group to proto files (#16998) 2023-04-14 09:24:46 -07:00
federation_state.go copyright headers for agent folder (#16704) 2023-03-28 14:39:22 -04:00
graveyard.go copyright headers for agent folder (#16704) 2023-03-28 14:39:22 -04:00
graveyard_oss.go copyright headers for agent folder (#16704) 2023-03-28 14:39:22 -04:00
graveyard_test.go copyright headers for agent folder (#16704) 2023-03-28 14:39:22 -04:00
index_connect_test.go copyright headers for agent folder (#16704) 2023-03-28 14:39:22 -04:00
indexer.go copyright headers for agent folder (#16704) 2023-03-28 14:39:22 -04:00
intention.go fix tproxy sameness groups (#17468) 2023-05-25 12:18:55 -04:00
intention_oss.go fix tproxy sameness groups (#17468) 2023-05-25 12:18:55 -04:00
intention_test.go Include virtual services from discovery chain in intention topology (#16862) 2023-04-21 16:58:13 +00:00
kvs.go copyright headers for agent folder (#16704) 2023-03-28 14:39:22 -04:00
kvs_oss.go copyright headers for agent folder (#16704) 2023-03-28 14:39:22 -04:00
kvs_oss_test.go copyright headers for agent folder (#16704) 2023-03-28 14:39:22 -04:00
kvs_test.go copyright headers for agent folder (#16704) 2023-03-28 14:39:22 -04:00
memdb.go JWT Authentication with service intentions: xds package update (#17414) 2023-05-19 18:14:16 -04:00
memdb_test.go [COMPLIANCE] Add Copyright and License Headers (#16854) 2023-04-20 12:40:22 +00:00
mock_publishFuncType.go Memdb Txn Commit race condition fix (#16871) 2023-04-12 13:18:01 -04:00
operations_oss.go copyright headers for agent folder (#16704) 2023-03-28 14:39:22 -04:00
peering.go Add sameness-group to exported-services config entries (#16836) 2023-03-31 12:36:44 -05:00
peering_oss.go copyright headers for agent folder (#16704) 2023-03-28 14:39:22 -04:00
peering_oss_test.go copyright headers for agent folder (#16704) 2023-03-28 14:39:22 -04:00
peering_test.go copyright headers for agent folder (#16704) 2023-03-28 14:39:22 -04:00
prepared_query.go copyright headers for agent folder (#16704) 2023-03-28 14:39:22 -04:00
prepared_query_index.go copyright headers for agent folder (#16704) 2023-03-28 14:39:22 -04:00
prepared_query_index_test.go copyright headers for agent folder (#16704) 2023-03-28 14:39:22 -04:00
prepared_query_test.go copyright headers for agent folder (#16704) 2023-03-28 14:39:22 -04:00
query.go copyright headers for agent folder (#16704) 2023-03-28 14:39:22 -04:00
query_oss.go copyright headers for agent folder (#16704) 2023-03-28 14:39:22 -04:00
schema.go copyright headers for agent folder (#16704) 2023-03-28 14:39:22 -04:00
schema_oss.go copyright headers for agent folder (#16704) 2023-03-28 14:39:22 -04:00
schema_oss_test.go copyright headers for agent folder (#16704) 2023-03-28 14:39:22 -04:00
schema_test.go copyright headers for agent folder (#16704) 2023-03-28 14:39:22 -04:00
session.go copyright headers for agent folder (#16704) 2023-03-28 14:39:22 -04:00
session_oss.go copyright headers for agent folder (#16704) 2023-03-28 14:39:22 -04:00
session_test.go copyright headers for agent folder (#16704) 2023-03-28 14:39:22 -04:00
state_store.go copyright headers for agent folder (#16704) 2023-03-28 14:39:22 -04:00
state_store_oss_test.go copyright headers for agent folder (#16704) 2023-03-28 14:39:22 -04:00
state_store_test.go copyright headers for agent folder (#16704) 2023-03-28 14:39:22 -04:00
store_integration_test.go copyright headers for agent folder (#16704) 2023-03-28 14:39:22 -04:00
system_metadata.go copyright headers for agent folder (#16704) 2023-03-28 14:39:22 -04:00
system_metadata_test.go copyright headers for agent folder (#16704) 2023-03-28 14:39:22 -04:00
tombstone_gc.go copyright headers for agent folder (#16704) 2023-03-28 14:39:22 -04:00
tombstone_gc_test.go copyright headers for agent folder (#16704) 2023-03-28 14:39:22 -04:00
txn.go copyright headers for agent folder (#16704) 2023-03-28 14:39:22 -04:00
txn_test.go copyright headers for agent folder (#16704) 2023-03-28 14:39:22 -04:00
usage.go copyright headers for agent folder (#16704) 2023-03-28 14:39:22 -04:00
usage_oss.go copyright headers for agent folder (#16704) 2023-03-28 14:39:22 -04:00
usage_test.go copyright headers for agent folder (#16704) 2023-03-28 14:39:22 -04:00