6 Commits
Author SHA1 Message Date
zooqueen 229cf11907 sharding hashes with hanzos3/blake2b-simd
controller/sharding/consistent was the last minio import here. It is now the
hanzos3 fork at v1.0.0.

The hash output is unchanged, and that is the part worth being sure about: this
is consistent hashing for controller shard assignment, so a different digest
would silently reassign every shard. The fork sits on the SAME commit consumers
already pinned (3f5f724cb5b1) and the release adds a go.mod and nothing else —
zero .go files differ. Same bytes in, same bytes out.

The rename is what makes it requirable at all. Upstream blake2b-simd predates
modules, so it can only be pinned as a pseudo-version; pointing that at a fork
needs a `replace`, which Go ignores in a non-main module and so would not have
travelled to anything depending on this repo.

go directive unchanged at 1.26.5; the fork declares 1.21 precisely so it imposes
no floor.

build passes, and ./controller/sharding/... passes.
2026-08-10 21:11:35 -07:00
Matthieu MORELandGitHub 08aec5b909 chore: enable exposedSyncMutex rule from go-critic (#24026)
Signed-off-by: Matthieu MOREL <[email protected]>
2025-08-03 12:47:33 +00:00
Michael CrenshawandGitHub 05ac7845c0 chore(lint): enable more gocritic linters (#23328)
Signed-off-by: Michael Crenshaw <[email protected]>
2025-06-11 23:50:02 -04:00
Matthieu MORELandGitHub a0d38d653a chore: enable early-return from revive (#21423)
Signed-off-by: Matthieu MOREL <[email protected]>
2025-01-08 15:26:02 -05:00
Matthieu MORELandGitHub 417ff7b19e chore: enable gofumpt and whitespace linters (#18567)
Signed-off-by: Matthieu MOREL <[email protected]>
2024-06-11 15:41:55 +00:00
Akram Ben AissiandGitHub 66019aa39c feat: Consistent hashing with bounded loads algorithm for sharding (#16564)
* Adds consistent hashing with bound loads sharding algorithm

Signed-off-by: Akram Ben Aissi <[email protected]>

* 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 <[email protected]>

* Extracting constant and simplifying boolean expression

Signed-off-by: Akram Ben Aissi <[email protected]>

* Update docs: consistent-hashing sharding algorithm

Signed-off-by: Akram Ben Aissi <[email protected]>

---------

Signed-off-by: Akram Ben Aissi <[email protected]>
2024-06-05 18:28:19 +00:00