argo-cd/controller
Akram Ben Aissi 75cd97d6d4
feat: Consistent hashing with bounded loads algorithm for sharding (#16564)
* Adds consistent hashing with bound loads sharding algorithm

Signed-off-by: Akram Ben Aissi <akram.benaissi@gmail.com>

* Make the assignement consistent accross all clusters
- The assignment or running of the algorithm has to be consistent across all the clusters. Changed the function to return a map where the consistent hash will be used to build the map

- Modifications to the createConsistentHashsingWithBoundLoads function. This will create the map for cluster to shard. Note that the list must be consistent across all shards so that is why the cluster list must be sorted before going through the consistent hash algorithm

Signed-off-by: Akram Ben Aissi <akram.benaissi@gmail.com>

* Extracting constant and simplifying boolean expression

Signed-off-by: Akram Ben Aissi <akram.benaissi@gmail.com>

* Update docs: consistent-hashing sharding algorithm

Signed-off-by: Akram Ben Aissi <akram.benaissi@gmail.com>

---------

Signed-off-by: Akram Ben Aissi <akram.benaissi@gmail.com>
2024-06-05 18:28:19 +00:00
..
cache chore: automate mock generation v2 (#18371) 2024-05-23 11:15:15 +03:00
metrics Document units for argocd_app_reconcile (#18018) 2024-04-29 20:47:50 -04:00
sharding feat: Consistent hashing with bounded loads algorithm for sharding (#16564) 2024-06-05 18:28:19 +00:00
testdata fix: fix calculating patch for respect ignore diff feature (#17693) 2024-04-03 22:56:59 +00:00
appcontroller.go chore: Improve appcontroller logs further - Closes [#18113] (#18174) 2024-05-13 16:07:24 -04:00
appcontroller_test.go fix: Argo CD app is out of sync right after sync (#18155) 2024-05-09 12:52:11 -07:00
clusterinfoupdater.go feat: add ability to auto label clusters from k8s clusterinfo (#17289) 2024-03-01 15:18:19 -05:00
clusterinfoupdater_test.go feat: add ability to auto label clusters from k8s clusterinfo (#17289) 2024-03-01 15:18:19 -05:00
health.go fix: enable misspell linter (#18412) 2024-05-28 12:51:04 +03:00
health_test.go chore: replace github.com/ghodss/yaml with sigs.k8s.io/yaml (#13292) 2023-05-04 18:06:56 -04:00
hook.go feat: PostDelete hook support (#16595) 2023-12-18 08:40:23 -08:00
OWNERS docs: document Argo CD development process (#6546) 2021-07-01 08:55:07 -07:00
sort_delete.go feat: delete in reverse order of sync waves (#3959) 2020-07-21 09:52:59 +02:00
sort_delete_test.go feat: delete in reverse order of sync waves (#3959) 2020-07-21 09:52:59 +02:00
state.go Merge pull request from GHSA-9m6p-x4h2-6frq 2024-04-26 12:24:02 +03:00
state_test.go feat(controller): use manifest generate path during comparison (#14242) (#15636) 2024-04-04 16:01:11 -04:00
sync.go fix: fix calculating patch for respect ignore diff feature (#17693) 2024-04-03 22:56:59 +00:00
sync_namespace.go fix: do not mutate live when managed namespace enabled (#11197) 2022-11-08 16:06:05 -05:00
sync_namespace_test.go fix: do not mutate live when managed namespace enabled (#11197) 2022-11-08 16:06:05 -05:00
sync_test.go Merge pull request from GHSA-9m6p-x4h2-6frq 2024-04-26 12:24:02 +03:00