1
0
mirror of https://github.com/redis/node-redis.git synced 2025-08-07 13:22:56 +03:00

fix bug in cluster slots, enhance live resharding test

This commit is contained in:
leibale
2021-11-10 14:20:46 -05:00
parent 27a1fa7d14
commit f1f9c7ac24
3 changed files with 7 additions and 2 deletions

View File

@@ -19,4 +19,3 @@ export function createClient<S extends RedisScripts = Record<string, never>>(
modules modules
}); });
} }

View File

@@ -82,7 +82,7 @@ export default class RedisClusterSlots<M extends RedisModules, S extends RedisSc
}; };
for (const { from, to } of master.slots) { for (const { from, to } of master.slots) {
for (let i = from; i < to; i++) { for (let i = from; i <= to; i++) {
this.#slots[i] = slot; this.#slots[i] = slot;
} }
} }

View File

@@ -82,6 +82,12 @@ describe('Cluster', () => {
10 10
); );
await Promise.all(
cluster.getMasters().map(({ client }) => {
return client.clusterSetSlot(slot, ClusterSlotStates.NODE, to!.id);
})
);
// should be able to get the key from the new node // should be able to get the key from the new node
assert.equal( assert.equal(
await cluster.get(key), await cluster.get(key),