Skip to content

Commit d4aa986

Browse files
authored
Fix support for setting object replicas in ObjectStore (#249)
Signed-off-by: Alberto Ricart <[email protected]>
1 parent 87c677f commit d4aa986

File tree

2 files changed

+16
-0
lines changed

2 files changed

+16
-0
lines changed

obj/src/objectstore.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -917,6 +917,7 @@ export class ObjectStoreImpl implements ObjectStore {
917917
sc.name = this.stream;
918918
sc.allow_direct = true;
919919
sc.allow_rollup_hdrs = true;
920+
sc.num_replicas = opts.replicas || 1;
920921
sc.discard = DiscardPolicy.New;
921922
sc.subjects = [`$O.${this.name}.C.>`, `$O.${this.name}.M.>`];
922923
if (opts.placement) {

obj/tests/objectstore_test.ts

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,9 @@
1515

1616
import {
1717
cleanup,
18+
connect,
1819
jetstreamServerConf,
20+
NatsServer,
1921
notCompatible,
2022
setup,
2123
} from "test_helpers";
@@ -1263,3 +1265,16 @@ Deno.test("os - objm open", async () => {
12631265

12641266
await cleanup(ns, nc);
12651267
});
1268+
1269+
Deno.test("os - objm creates right number of replicas", async () => {
1270+
const servers = await NatsServer.jetstreamCluster(3);
1271+
const nc = await connect({ port: servers[0].port });
1272+
const objm = new Objm(nc);
1273+
1274+
const obj = await objm.create("test", { replicas: 3 });
1275+
const status = await obj.status();
1276+
assertEquals(status.replicas, 3);
1277+
1278+
await nc.close();
1279+
await NatsServer.stopAll(servers, true);
1280+
});

0 commit comments

Comments
 (0)