open-consul/agent/consul/state
freddygv 6d368b5eed Update peering state and RPC for deferred deletion
When deleting a peering we do not want to delete the peering and all
imported data in a single operation, since deleting a large amount of
data at once could overload Consul.

Instead we defer deletion of peerings so that:

1. When a peering deletion request is received via gRPC the peering is
   marked for deletion by setting the DeletedAt field.

2. A leader routine will monitor for peerings that are marked for
   deletion and kick off a throttled deletion of all imported resources
   before deleting the peering itself.

This commit mostly addresses point #1 by modifying the peering service
to mark peerings for deletion. Another key change is to add a
PeeringListDeleted state store function which can return all peerings
marked for deletion. This function is what will be watched by the
deferred deletion leader routine.
2022-06-13 12:10:32 -06:00
..
acl.go Fixup acl.EnterpriseMeta 2022-04-05 15:11:49 -07:00
acl_events.go
acl_events_test.go
acl_oss.go Fixup acl.EnterpriseMeta 2022-04-05 15:11:49 -07:00
acl_oss_test.go Fixup acl.EnterpriseMeta 2022-04-05 15:11:49 -07:00
acl_schema.go peering: initial sync (#12842) 2022-04-21 17:34:40 -05:00
acl_test.go remove gogo from acl protobufs 2022-03-28 16:20:56 -04:00
autopilot.go
autopilot_test.go
catalog.go Egress gtw/intention rpc endpoint (#13354) 2022-06-07 15:55:02 -04:00
catalog_events.go agent: allow for service discovery queries involving peer name to use streaming (#13168) 2022-05-20 15:27:01 -05:00
catalog_events_oss.go peering: initial sync (#12842) 2022-04-21 17:34:40 -05:00
catalog_events_oss_test.go peering: initial sync (#12842) 2022-04-21 17:34:40 -05:00
catalog_events_test.go update gateway-services table with endpoints (#13217) 2022-05-31 16:20:12 -04:00
catalog_oss.go peering: initial sync (#12842) 2022-04-21 17:34:40 -05:00
catalog_oss_test.go peering: initial sync (#12842) 2022-04-21 17:34:40 -05:00
catalog_schema.go peering: initial sync (#12842) 2022-04-21 17:34:40 -05:00
catalog_test.go update gateway-services table with endpoints (#13217) 2022-05-31 16:20:12 -04:00
config_entry.go Egress gtw/connect destination intentions (#13341) 2022-06-07 15:03:59 -04:00
config_entry_intention.go Add missing index for read 2022-06-08 13:53:31 -04:00
config_entry_intention_oss.go Fixup acl.EnterpriseMeta 2022-04-05 15:11:49 -07:00
config_entry_oss.go peering: add store.PeeringsForService implementation (#12957) 2022-05-06 12:35:31 -07:00
config_entry_oss_test.go Update assumptions around exported-service config 2022-06-01 17:03:51 -06:00
config_entry_schema.go
config_entry_test.go Egress gtw/connect destination intentions (#13341) 2022-06-07 15:03:59 -04:00
connect_ca.go streaming: emit events when Connect CA Roots change (#12590) 2022-03-22 19:13:59 +00:00
connect_ca_events.go peering: initial sync (#12842) 2022-04-21 17:34:40 -05:00
connect_ca_events_test.go Move to using a shared EventPublisher (#12673) 2022-04-12 09:47:42 -04:00
connect_ca_test.go Bump go-control-plane 2022-03-30 13:11:27 -04:00
coordinate.go Fixup acl.EnterpriseMeta 2022-04-05 15:11:49 -07:00
coordinate_oss.go Fixup acl.EnterpriseMeta 2022-04-05 15:11:49 -07:00
coordinate_oss_test.go Fixup acl.EnterpriseMeta 2022-04-05 15:11:49 -07:00
coordinate_test.go add general runstep test helper instead of copying it all over the place (#13013) 2022-05-10 15:25:51 -05:00
delay_oss.go Fixup acl.EnterpriseMeta 2022-04-05 15:11:49 -07:00
delay_test.go
federation_state.go
graveyard.go Fixup acl.EnterpriseMeta 2022-04-05 15:11:49 -07:00
graveyard_oss.go Fixup acl.EnterpriseMeta 2022-04-05 15:11:49 -07:00
graveyard_test.go KV state store refactoring and partitioning (#11510) 2021-11-08 09:35:56 -05:00
index_connect_test.go
indexer.go Fixup acl.EnterpriseMeta 2022-04-05 15:11:49 -07:00
intention.go Egress gtw/intention rpc endpoint (#13354) 2022-06-07 15:55:02 -04:00
intention_oss.go Fixup acl.EnterpriseMeta 2022-04-05 15:11:49 -07:00
intention_test.go Add IntentionMatch tests for source peers 2022-06-08 13:53:31 -04:00
kvs.go Fixup acl.EnterpriseMeta 2022-04-05 15:11:49 -07:00
kvs_oss.go Fixup acl.EnterpriseMeta 2022-04-05 15:11:49 -07:00
kvs_oss_test.go Fixup acl.EnterpriseMeta 2022-04-05 15:11:49 -07:00
kvs_test.go KV state store refactoring and partitioning (#11510) 2021-11-08 09:35:56 -05:00
memdb.go Move to using a shared EventPublisher (#12673) 2022-04-12 09:47:42 -04:00
operations_oss.go Fixup acl.EnterpriseMeta 2022-04-05 15:11:49 -07:00
peering.go Update peering state and RPC for deferred deletion 2022-06-13 12:10:32 -06:00
peering_oss.go peering: initial sync (#12842) 2022-04-21 17:34:40 -05:00
peering_oss_test.go Update peering state and RPC for deferred deletion 2022-06-13 12:10:32 -06:00
peering_test.go Update peering state and RPC for deferred deletion 2022-06-13 12:10:32 -06:00
prepared_query.go refactor session state store tables to use the new index pattern (#11525) 2021-11-08 16:20:50 -05:00
prepared_query_index.go
prepared_query_index_test.go
prepared_query_test.go [OSS] Remove remaining references to master (#11827) 2022-01-20 12:47:50 +00:00
query.go peering: initial sync (#12842) 2022-04-21 17:34:40 -05:00
query_oss.go peering: initial sync (#12842) 2022-04-21 17:34:40 -05:00
schema.go Update peering state and RPC for deferred deletion 2022-06-13 12:10:32 -06:00
schema_oss.go peering: initial sync (#12842) 2022-04-21 17:34:40 -05:00
schema_oss_test.go re-run gofmt on 1.17 (#11579) 2021-11-16 12:04:01 -06:00
schema_test.go Update peering state and RPC for deferred deletion 2022-06-13 12:10:32 -06:00
session.go Fixup acl.EnterpriseMeta 2022-04-05 15:11:49 -07:00
session_oss.go Fixup acl.EnterpriseMeta 2022-04-05 15:11:49 -07:00
session_test.go peering: initial sync (#12842) 2022-04-21 17:34:40 -05:00
state_store.go peering: initial sync (#12842) 2022-04-21 17:34:40 -05:00
state_store_oss_test.go re-run gofmt on 1.17 (#11579) 2021-11-16 12:04:01 -06:00
state_store_test.go Fixup acl.EnterpriseMeta 2022-04-05 15:11:49 -07:00
store_integration_test.go peering: initial sync (#12842) 2022-04-21 17:34:40 -05:00
system_metadata.go
system_metadata_test.go
tombstone_gc.go
tombstone_gc_test.go
txn.go Enable servers to configure arbitrary proxies from the catalog (#13244) 2022-05-27 12:38:52 +01:00
txn_test.go peering: initial sync (#12842) 2022-04-21 17:34:40 -05:00
usage.go Replace fmt.Sprintf with function 2021-10-11 12:43:38 -05:00
usage_oss.go re-run gofmt on 1.17 (#11579) 2021-11-16 12:04:01 -06:00
usage_test.go peering: initial sync (#12842) 2022-04-21 17:34:40 -05:00