Skip to content

Commit 0b538b9

Browse files
committed
Update message metadata to use deliveryCount consistently
Replaced outdated `redeliveryCount` references with `deliveryCount` across tests and implementations for consistency. Deprecated `redeliveryCount` but maintained backward compatibility by mapping it to `deliveryCount`. Updated documentation and comments to reflect the changes accurately.
1 parent 052a20e commit 0b538b9

File tree

7 files changed

+21
-16
lines changed

7 files changed

+21
-16
lines changed

examples/legacy_js/07_pullsub.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ const psub = await js.pullSubscribe(subj, {
3333
for await (const m of psub) {
3434
console.log(
3535
`[${m.seq}] ${
36-
m.redelivered ? `- redelivery ${m.info.redeliveryCount}` : ""
36+
m.redelivered ? `- redelivery ${m.info.deliveryCount}` : ""
3737
}`,
3838
);
3939
if (m.seq % 2 === 0) {

jetstream/jsapi_types.ts

+6-2
Original file line numberDiff line numberDiff line change
@@ -950,7 +950,7 @@ export interface ConsumerUpdateConfig {
950950
*/
951951
"ack_wait"?: Nanos;
952952
/**
953-
* The number of times a message will be redelivered to consumers if not acknowledged in time
953+
* The maximum number of times a message will be delivered to consumers.
954954
*/
955955
"max_deliver"?: number;
956956
/**
@@ -1083,7 +1083,11 @@ export interface DeliveryInfo {
10831083
*/
10841084
consumer: string;
10851085
/**
1086-
* The number of times the message has been redelivered.
1086+
* The number of times the message has been delivered.
1087+
*/
1088+
deliveryCount: number;
1089+
/**
1090+
* @deprecated: use deliveryCount
10871091
*/
10881092
redeliveryCount: number;
10891093
/**

jetstream/jsmsg.ts

+6-5
Original file line numberDiff line numberDiff line change
@@ -142,17 +142,18 @@ export function parseInfo(s: string): DeliveryInfo {
142142
}
143143

144144
// old
145-
// "$JS.ACK.<stream>.<consumer>.<redeliveryCount><streamSeq><deliverySequence>.<timestamp>.<pending>"
145+
// "$JS.ACK.<stream>.<consumer>.<deliveryCount><streamSeq><deliverySequence>.<timestamp>.<pending>"
146146
// new
147-
// $JS.ACK.<domain>.<accounthash>.<stream>.<consumer>.<redeliveryCount>.<streamSeq>.<deliverySequence>.<timestamp>.<pending>.<random>
147+
// $JS.ACK.<domain>.<accounthash>.<stream>.<consumer>.<deliveryCount>.<streamSeq>.<deliverySequence>.<timestamp>.<pending>.<random>
148148
const di = {} as DeliveryInfo;
149149
// if domain is "_", replace with blank
150150
di.domain = tokens[2] === "_" ? "" : tokens[2];
151151
di.account_hash = tokens[3];
152152
di.stream = tokens[4];
153153
di.consumer = tokens[5];
154-
di.redeliveryCount = parseInt(tokens[6], 10);
155-
di.redelivered = di.redeliveryCount > 1;
154+
di.deliveryCount = parseInt(tokens[6], 10);
155+
di.redeliveryCount = di.deliveryCount;
156+
di.redelivered = di.deliveryCount > 1;
156157
di.streamSequence = parseInt(tokens[7], 10);
157158
di.deliverySequence = parseInt(tokens[8], 10);
158159
di.timestampNanos = parseInt(tokens[9], 10);
@@ -196,7 +197,7 @@ export class JsMsgImpl implements JsMsg {
196197
}
197198

198199
get redelivered(): boolean {
199-
return this.info.redeliveryCount > 1;
200+
return this.info.deliveryCount > 1;
200201
}
201202

202203
get reply(): string {

jetstream/tests/fetch_test.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -244,7 +244,7 @@ Deno.test("fetch - listener leaks", async () => {
244244
for await (const m of iter) {
245245
assertEquals(nci.protocol.listeners.length, base);
246246
m?.nak();
247-
if (m.info.redeliveryCount > 100) {
247+
if (m.info.deliveryCount > 100) {
248248
done = true;
249249
}
250250
}

jetstream/tests/jetstream_test.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1168,7 +1168,7 @@ Deno.test("jetstream - backoff", async () => {
11681168
start = Date.now();
11691169
}
11701170
arrive.push(Date.now());
1171-
if (m.info.redeliveryCount === 4) {
1171+
if (m.info.deliveryCount === 4) {
11721172
break;
11731173
}
11741174
}

jetstream/tests/jsmsg_test.ts

+5-5
Original file line numberDiff line numberDiff line change
@@ -38,18 +38,18 @@ import { JetStreamManagerImpl } from "../jsm.ts";
3838
import { MsgImpl } from "../../nats-base-client/msg.ts";
3939

4040
Deno.test("jsmsg - parse", () => {
41-
// "$JS.ACK.<stream>.<consumer>.<redeliveryCount><streamSeq><deliverySequence>.<timestamp>.<pending>"
41+
// "$JS.ACK.<stream>.<consumer>.<deliveryCount><streamSeq><deliverySequence>.<timestamp>.<pending>"
4242
const rs = `$JS.ACK.streamname.consumername.2.3.4.${nanos(Date.now())}.100`;
4343
const info = parseInfo(rs);
4444
assertEquals(info.stream, "streamname");
4545
assertEquals(info.consumer, "consumername");
46-
assertEquals(info.redeliveryCount, 2);
46+
assertEquals(info.deliveryCount, 2);
4747
assertEquals(info.streamSequence, 3);
4848
assertEquals(info.pending, 100);
4949
});
5050

5151
Deno.test("jsmsg - parse long", () => {
52-
// $JS.ACK.<domain>.<accounthash>.<stream>.<consumer>.<redeliveryCount>.<streamSeq>.<deliverySequence>.<timestamp>.<pending>.<random>
52+
// $JS.ACK.<domain>.<accounthash>.<stream>.<consumer>.<deliveryCount>.<streamSeq>.<deliverySequence>.<timestamp>.<pending>.<random>
5353
const rs = `$JS.ACK.domain.account.streamname.consumername.2.3.4.${
5454
nanos(Date.now())
5555
}.100.rand`;
@@ -58,7 +58,7 @@ Deno.test("jsmsg - parse long", () => {
5858
assertEquals(info.account_hash, "account");
5959
assertEquals(info.stream, "streamname");
6060
assertEquals(info.consumer, "consumername");
61-
assertEquals(info.redeliveryCount, 2);
61+
assertEquals(info.deliveryCount, 2);
6262
assertEquals(info.streamSequence, 3);
6363
assertEquals(info.pending, 100);
6464
});
@@ -95,7 +95,7 @@ Deno.test("jsmsg - acks", async () => {
9595
fail(err.message);
9696
}
9797
msg.respond(Empty, {
98-
// "$JS.ACK.<stream>.<consumer>.<redeliveryCount><streamSeq><deliverySequence>.<timestamp>.<pending>"
98+
// "$JS.ACK.<stream>.<consumer>.<deliveryCount><streamSeq><deliverySequence>.<timestamp>.<pending>"
9999
reply:
100100
`MY.TEST.streamname.consumername.1.${counter}.${counter}.${Date.now()}.0`,
101101
});

jetstream/tests/next_test.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ Deno.test("next - listener leaks", async () => {
107107
const m = await consumer.next();
108108
if (m) {
109109
m.nak();
110-
if (m.info?.redeliveryCount > 100) {
110+
if (m.info?.deliveryCount > 100) {
111111
break;
112112
}
113113
}

0 commit comments

Comments
 (0)