@google-cloud/pubsub 5.0.0 → 5.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -0
- package/build/protos/google/pubsub/v1/pubsub.proto +144 -29
- package/build/protos/google/pubsub/v1/schema.proto +2 -3
- package/build/protos/protos.d.ts +1007 -27
- package/build/protos/protos.js +3093 -172
- package/build/protos/protos.json +357 -32
- package/build/src/exponential-retry.js +3 -3
- package/build/src/exponential-retry.js.map +1 -1
- package/build/src/index.d.ts +1 -1
- package/build/src/index.js +2 -1
- package/build/src/index.js.map +1 -1
- package/build/src/lease-manager.d.ts +18 -0
- package/build/src/lease-manager.js +52 -2
- package/build/src/lease-manager.js.map +1 -1
- package/build/src/logs.d.ts +9 -0
- package/build/src/logs.js +26 -0
- package/build/src/logs.js.map +1 -0
- package/build/src/message-queues.d.ts +25 -1
- package/build/src/message-queues.js +41 -5
- package/build/src/message-queues.js.map +1 -1
- package/build/src/message-stream.d.ts +8 -0
- package/build/src/message-stream.js +37 -14
- package/build/src/message-stream.js.map +1 -1
- package/build/src/publisher/message-batch.d.ts +26 -1
- package/build/src/publisher/message-batch.js +41 -6
- package/build/src/publisher/message-batch.js.map +1 -1
- package/build/src/publisher/message-queues.d.ts +22 -5
- package/build/src/publisher/message-queues.js +51 -18
- package/build/src/publisher/message-queues.js.map +1 -1
- package/build/src/pubsub.d.ts +25 -6
- package/build/src/pubsub.js.map +1 -1
- package/build/src/subscriber.d.ts +70 -4
- package/build/src/subscriber.js +154 -9
- package/build/src/subscriber.js.map +1 -1
- package/build/src/subscription.d.ts +11 -13
- package/build/src/subscription.js +2 -1
- package/build/src/subscription.js.map +1 -1
- package/build/src/telemetry-tracing.js +19 -12
- package/build/src/telemetry-tracing.js.map +1 -1
- package/build/src/temporal.d.ts +66 -4
- package/build/src/temporal.js +104 -4
- package/build/src/temporal.js.map +1 -1
- package/build/src/util.d.ts +22 -0
- package/build/src/util.js +36 -0
- package/build/src/util.js.map +1 -1
- package/build/src/v1/publisher_client.d.ts +0 -18
- package/build/src/v1/publisher_client.js +16 -8
- package/build/src/v1/publisher_client.js.map +1 -1
- package/build/src/v1/schema_service_client.d.ts +0 -20
- package/build/src/v1/schema_service_client.js +5 -5
- package/build/src/v1/schema_service_client.js.map +1 -1
- package/build/src/v1/subscriber_client.d.ts +4 -36
- package/build/src/v1/subscriber_client.js +6 -8
- package/build/src/v1/subscriber_client.js.map +1 -1
- package/package.json +5 -5
- package/CHANGELOG.md +0 -1620
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
* limitations under the License.
|
|
16
16
|
*/
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
-
exports.MessageStream = exports.ChannelError = exports.StatusError = void 0;
|
|
18
|
+
exports.MessageStream = exports.ChannelError = exports.StatusError = exports.logs = void 0;
|
|
19
19
|
const promisify_1 = require("@google-cloud/promisify");
|
|
20
20
|
const google_gax_1 = require("google-gax");
|
|
21
21
|
const isStreamEnded = require("is-stream-ended");
|
|
@@ -25,6 +25,15 @@ const default_options_1 = require("./default-options");
|
|
|
25
25
|
const temporal_1 = require("./temporal");
|
|
26
26
|
const exponential_retry_1 = require("./exponential-retry");
|
|
27
27
|
const debug_1 = require("./debug");
|
|
28
|
+
const logs_1 = require("./logs");
|
|
29
|
+
/**
|
|
30
|
+
* Loggers. Exported for unit tests.
|
|
31
|
+
*
|
|
32
|
+
* @private
|
|
33
|
+
*/
|
|
34
|
+
exports.logs = {
|
|
35
|
+
subscriberStreams: logs_1.logs.pubsub.sublog('subscriber-streams'),
|
|
36
|
+
};
|
|
28
37
|
/*!
|
|
29
38
|
* Frequency to ping streams.
|
|
30
39
|
*/
|
|
@@ -40,7 +49,7 @@ const DEFAULT_OPTIONS = {
|
|
|
40
49
|
highWaterMark: 0,
|
|
41
50
|
maxStreams: default_options_1.defaultOptions.subscription.maxStreams,
|
|
42
51
|
timeout: 300000,
|
|
43
|
-
retryMinBackoff: temporal_1.Duration.from({
|
|
52
|
+
retryMinBackoff: temporal_1.Duration.from({ milliseconds: 100 }),
|
|
44
53
|
retryMaxBackoff: temporal_1.Duration.from({ seconds: 60 }),
|
|
45
54
|
};
|
|
46
55
|
/**
|
|
@@ -152,7 +161,7 @@ class MessageStream extends stream_1.PassThrough {
|
|
|
152
161
|
for (let i = 0; i < this._streams.length; i++) {
|
|
153
162
|
const tracker = this._streams[i];
|
|
154
163
|
if (tracker.stream) {
|
|
155
|
-
this._removeStream(i);
|
|
164
|
+
this._removeStream(i, 'overall message stream destroyed', 'n/a');
|
|
156
165
|
}
|
|
157
166
|
}
|
|
158
167
|
callback(error);
|
|
@@ -164,8 +173,8 @@ class MessageStream extends stream_1.PassThrough {
|
|
|
164
173
|
*
|
|
165
174
|
* @param {stream} stream The StreamingPull stream.
|
|
166
175
|
*/
|
|
167
|
-
_replaceStream(index, stream) {
|
|
168
|
-
this._removeStream(index);
|
|
176
|
+
_replaceStream(index, stream, reason) {
|
|
177
|
+
this._removeStream(index, reason, 'stream replacement');
|
|
169
178
|
this._setHighWaterMark(stream);
|
|
170
179
|
const tracker = this._streams[index];
|
|
171
180
|
tracker.stream = stream;
|
|
@@ -205,7 +214,7 @@ class MessageStream extends stream_1.PassThrough {
|
|
|
205
214
|
}
|
|
206
215
|
const all = [];
|
|
207
216
|
for (let i = 0; i < this._streams.length; i++) {
|
|
208
|
-
all.push(this._fillOne(i, client));
|
|
217
|
+
all.push(this._fillOne(i, client, 'initial fill'));
|
|
209
218
|
}
|
|
210
219
|
await Promise.all(all);
|
|
211
220
|
try {
|
|
@@ -216,8 +225,9 @@ class MessageStream extends stream_1.PassThrough {
|
|
|
216
225
|
this.destroy(err);
|
|
217
226
|
}
|
|
218
227
|
}
|
|
219
|
-
async _fillOne(index, client) {
|
|
228
|
+
async _fillOne(index, client, reason) {
|
|
220
229
|
if (this.destroyed) {
|
|
230
|
+
exports.logs.subscriberStreams.info('not filling stream %i for reason "%s" because already shut down', index, reason);
|
|
221
231
|
return;
|
|
222
232
|
}
|
|
223
233
|
const tracker = this._streams[index];
|
|
@@ -229,6 +239,7 @@ class MessageStream extends stream_1.PassThrough {
|
|
|
229
239
|
client = await this._getClient();
|
|
230
240
|
}
|
|
231
241
|
catch (e) {
|
|
242
|
+
exports.logs.subscriberStreams.error('unable to create stream %i: %o', index, e);
|
|
232
243
|
const err = e;
|
|
233
244
|
this.destroy(err);
|
|
234
245
|
return;
|
|
@@ -251,7 +262,7 @@ class MessageStream extends stream_1.PassThrough {
|
|
|
251
262
|
},
|
|
252
263
|
};
|
|
253
264
|
const stream = client.streamingPull({ deadline, otherArgs });
|
|
254
|
-
this._replaceStream(index, stream);
|
|
265
|
+
this._replaceStream(index, stream, reason);
|
|
255
266
|
stream.write(request);
|
|
256
267
|
}
|
|
257
268
|
/**
|
|
@@ -276,6 +287,7 @@ class MessageStream extends stream_1.PassThrough {
|
|
|
276
287
|
* @private
|
|
277
288
|
*/
|
|
278
289
|
_keepAlive() {
|
|
290
|
+
exports.logs.subscriberStreams.info('sending keepAlive to %i streams', this._streams.length);
|
|
279
291
|
this._streams.forEach(tracker => {
|
|
280
292
|
// It's possible that a status event fires off (signaling the rpc being
|
|
281
293
|
// closed) but the stream hasn't drained yet. Writing to such a stream will
|
|
@@ -299,17 +311,22 @@ class MessageStream extends stream_1.PassThrough {
|
|
|
299
311
|
* @param {object} status The stream status.
|
|
300
312
|
*/
|
|
301
313
|
_onEnd(index, status) {
|
|
302
|
-
|
|
314
|
+
const willRetry = pull_retry_1.PullRetry.retry(status);
|
|
315
|
+
this._removeStream(index, 'stream was closed', willRetry ? 'will be retried' : 'will not be retried');
|
|
303
316
|
const statusError = new StatusError(status);
|
|
304
|
-
if (
|
|
305
|
-
|
|
317
|
+
if (willRetry) {
|
|
318
|
+
const message = `Subscriber stream ${index} has ended with status ${status.code}; will be retried.`;
|
|
319
|
+
exports.logs.subscriberStreams.info('%s', message);
|
|
320
|
+
this.emit('debug', new debug_1.DebugMessage(message, statusError));
|
|
306
321
|
if (pull_retry_1.PullRetry.resetFailures(status)) {
|
|
307
322
|
this._retrier.reset(this._streams[index]);
|
|
308
323
|
}
|
|
309
|
-
this._retrier.retryLater(this._streams[index], () => this._fillOne(index));
|
|
324
|
+
this._retrier.retryLater(this._streams[index], () => this._fillOne(index, undefined, 'retry'));
|
|
310
325
|
}
|
|
311
326
|
else if (this._activeStreams() === 0) {
|
|
312
|
-
|
|
327
|
+
const message = `Subscriber stream ${index} has ended with status ${status.code}; will not be retried.`;
|
|
328
|
+
exports.logs.subscriberStreams.info('%s', message);
|
|
329
|
+
this.emit('debug', new debug_1.DebugMessage(message, statusError));
|
|
313
330
|
// No streams left, and nothing to retry.
|
|
314
331
|
this.destroy(new StatusError(status));
|
|
315
332
|
}
|
|
@@ -329,6 +346,11 @@ class MessageStream extends stream_1.PassThrough {
|
|
|
329
346
|
const code = err.code;
|
|
330
347
|
const tracker = this._streams[index];
|
|
331
348
|
const receivedStatus = !tracker.stream || (tracker.stream && !tracker.receivedStatus);
|
|
349
|
+
// For the user-cancelled errors, we don't need to show those, we're handling
|
|
350
|
+
// notifying of us closing the stream elsewhere.
|
|
351
|
+
if (err.code !== google_gax_1.grpc.status.CANCELLED) {
|
|
352
|
+
exports.logs.subscriberStreams.error('error on stream %i: %o', index, err);
|
|
353
|
+
}
|
|
332
354
|
if (typeof code !== 'number' || !receivedStatus) {
|
|
333
355
|
this.emit('error', err);
|
|
334
356
|
}
|
|
@@ -368,9 +390,10 @@ class MessageStream extends stream_1.PassThrough {
|
|
|
368
390
|
*
|
|
369
391
|
* @param {number} index The stream to remove.
|
|
370
392
|
*/
|
|
371
|
-
_removeStream(index) {
|
|
393
|
+
_removeStream(index, reason, whatNext) {
|
|
372
394
|
const tracker = this._streams[index];
|
|
373
395
|
if (tracker.stream) {
|
|
396
|
+
exports.logs.subscriberStreams.info('closing stream %i; why: %s; next: %s', index, reason, whatNext);
|
|
374
397
|
tracker.stream.unpipe(this);
|
|
375
398
|
tracker.stream.cancel();
|
|
376
399
|
tracker.stream = undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message-stream.js","sourceRoot":"","sources":["../../src/message-stream.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"message-stream.js","sourceRoot":"","sources":["../../src/message-stream.ts"],"names":[],"mappings":"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"}
|
|
@@ -59,10 +59,23 @@ export declare class MessageBatch {
|
|
|
59
59
|
/**
|
|
60
60
|
* Indicates if a given message can fit in the batch.
|
|
61
61
|
*
|
|
62
|
-
* @param {
|
|
62
|
+
* @param {PubsubMessage} message The message in question.
|
|
63
63
|
* @returns {boolean}
|
|
64
64
|
*/
|
|
65
65
|
canFit(message: PubsubMessage): boolean;
|
|
66
|
+
/**
|
|
67
|
+
* Indicates if a given message can fit in the batch, re: message count.
|
|
68
|
+
*
|
|
69
|
+
* @returns {boolean}
|
|
70
|
+
*/
|
|
71
|
+
canFitCount(): boolean;
|
|
72
|
+
/**
|
|
73
|
+
* Indicates if a given message can fit in the batch, re: byte count.
|
|
74
|
+
*
|
|
75
|
+
* @param {PubsubMessage} message The message in question.
|
|
76
|
+
* @returns {boolean}
|
|
77
|
+
*/
|
|
78
|
+
canFitSize(message: PubsubMessage): boolean;
|
|
66
79
|
/**
|
|
67
80
|
* Checks to see if this batch is at the maximum allowed payload size.
|
|
68
81
|
* When publishing ordered messages, it is ok to exceed the user configured
|
|
@@ -77,4 +90,16 @@ export declare class MessageBatch {
|
|
|
77
90
|
* @returns {boolean}
|
|
78
91
|
*/
|
|
79
92
|
isFull(): boolean;
|
|
93
|
+
/**
|
|
94
|
+
* True if we are full because of too many messages.
|
|
95
|
+
*
|
|
96
|
+
* @private
|
|
97
|
+
*/
|
|
98
|
+
isFullMessages(): boolean;
|
|
99
|
+
/**
|
|
100
|
+
* True if we are full because of too many bytes.
|
|
101
|
+
*
|
|
102
|
+
* @private
|
|
103
|
+
*/
|
|
104
|
+
isFullSize(): boolean;
|
|
80
105
|
}
|
|
@@ -81,18 +81,36 @@ class MessageBatch {
|
|
|
81
81
|
return {
|
|
82
82
|
messages: this.messages,
|
|
83
83
|
callbacks: this.callbacks,
|
|
84
|
+
bytes: this.bytes,
|
|
84
85
|
};
|
|
85
86
|
}
|
|
86
87
|
/**
|
|
87
88
|
* Indicates if a given message can fit in the batch.
|
|
88
89
|
*
|
|
89
|
-
* @param {
|
|
90
|
+
* @param {PubsubMessage} message The message in question.
|
|
90
91
|
* @returns {boolean}
|
|
91
92
|
*/
|
|
92
93
|
canFit(message) {
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
94
|
+
return this.canFitCount() && this.canFitSize(message);
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Indicates if a given message can fit in the batch, re: message count.
|
|
98
|
+
*
|
|
99
|
+
* @returns {boolean}
|
|
100
|
+
*/
|
|
101
|
+
canFitCount() {
|
|
102
|
+
const { maxMessages } = this.options;
|
|
103
|
+
return this.messages.length < maxMessages;
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Indicates if a given message can fit in the batch, re: byte count.
|
|
107
|
+
*
|
|
108
|
+
* @param {PubsubMessage} message The message in question.
|
|
109
|
+
* @returns {boolean}
|
|
110
|
+
*/
|
|
111
|
+
canFitSize(message) {
|
|
112
|
+
const { maxBytes } = this.options;
|
|
113
|
+
return this.bytes + (0, pubsub_message_1.calculateMessageSize)(message) <= maxBytes;
|
|
96
114
|
}
|
|
97
115
|
/**
|
|
98
116
|
* Checks to see if this batch is at the maximum allowed payload size.
|
|
@@ -111,8 +129,25 @@ class MessageBatch {
|
|
|
111
129
|
* @returns {boolean}
|
|
112
130
|
*/
|
|
113
131
|
isFull() {
|
|
114
|
-
|
|
115
|
-
|
|
132
|
+
return this.isFullMessages() || this.isFullSize();
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* True if we are full because of too many messages.
|
|
136
|
+
*
|
|
137
|
+
* @private
|
|
138
|
+
*/
|
|
139
|
+
isFullMessages() {
|
|
140
|
+
const { maxMessages } = this.options;
|
|
141
|
+
return this.messages.length >= maxMessages;
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* True if we are full because of too many bytes.
|
|
145
|
+
*
|
|
146
|
+
* @private
|
|
147
|
+
*/
|
|
148
|
+
isFullSize() {
|
|
149
|
+
const { maxBytes } = this.options;
|
|
150
|
+
return this.bytes >= maxBytes;
|
|
116
151
|
}
|
|
117
152
|
}
|
|
118
153
|
exports.MessageBatch = MessageBatch;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message-batch.js","sourceRoot":"","sources":["../../../src/publisher/message-batch.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAEH,yBAAgE;AAChE,qDAAsD;AACtD,gDAAgD;
|
|
1
|
+
{"version":3,"file":"message-batch.js","sourceRoot":"","sources":["../../../src/publisher/message-batch.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAEH,yBAAgE;AAChE,qDAAsD;AACtD,gDAAgD;AAoBhD;;;;;;;;GAQG;AACH;;;;;;GAMG;AACH,MAAa,YAAY;IAOd;IACA;IAPT,QAAQ,CAAkB;IAC1B,SAAS,CAAoB;IAC7B,OAAO,CAAS;IAChB,KAAK,CAAS;IAEd,YACS,OAA4B,EAC5B,SAAiB;QADjB,YAAO,GAAP,OAAO,CAAqB;QAC5B,cAAS,GAAT,SAAS,CAAQ;QAExB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;IACjB,CAAC;IAED;;;;OAIG;IACH,UAAU,CAAC,OAA4B;QACrC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED;;;;;OAKG;IACH,GAAG,CAAC,OAAsB,EAAE,QAAyB;QACnD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9B,IAAI,CAAC,KAAK,IAAI,IAAA,qCAAoB,EAAC,OAAO,CAAC,CAAC;QAE5C,OAAO,CAAC,WAAW,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC;IAC1D,CAAC;IAED;;;;;OAKG;IACH,GAAG;QACD,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,oBAAoB,EAAE,GAAG,EAAE,CAAC,CAAC;QAC1D,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,OAAsB;QAC3B,OAAO,IAAI,CAAC,WAAW,EAAE,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IACxD,CAAC;IAED;;;;OAIG;IACH,WAAW;QACT,MAAM,EAAC,WAAW,EAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QACnC,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,WAAY,CAAC;IAC7C,CAAC;IAED;;;;;OAKG;IACH,UAAU,CAAC,OAAsB;QAC/B,MAAM,EAAC,QAAQ,EAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QAChC,OAAO,IAAI,CAAC,KAAK,GAAG,IAAA,qCAAoB,EAAC,OAAO,CAAC,IAAI,QAAS,CAAC;IACjE,CAAC;IAED;;;;;;OAMG;IACH,OAAO;QACL,MAAM,EAAC,WAAW,EAAE,QAAQ,EAAC,GAAG,eAAY,CAAC;QAC7C,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,WAAY,IAAI,IAAI,CAAC,KAAK,IAAI,QAAS,CAAC;IACzE,CAAC;IAED;;;;OAIG;IACH,MAAM;QACJ,OAAO,IAAI,CAAC,cAAc,EAAE,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;IACpD,CAAC;IAED;;;;OAIG;IACH,cAAc;QACZ,MAAM,EAAC,WAAW,EAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QACnC,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,WAAY,CAAC;IAC9C,CAAC;IAED;;;;OAIG;IACH,UAAU;QACR,MAAM,EAAC,QAAQ,EAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QAChC,OAAO,IAAI,CAAC,KAAK,IAAI,QAAS,CAAC;IACjC,CAAC;CACF;AA7HD,oCA6HC"}
|
|
@@ -18,6 +18,14 @@ import { EventEmitter } from 'events';
|
|
|
18
18
|
import { BatchPublishOptions, MessageBatch } from './message-batch';
|
|
19
19
|
import { PublishError } from './publish-error';
|
|
20
20
|
import { Publisher, PubsubMessage, PublishCallback } from './';
|
|
21
|
+
/**
|
|
22
|
+
* Loggers. Exported for unit tests.
|
|
23
|
+
*
|
|
24
|
+
* @private
|
|
25
|
+
*/
|
|
26
|
+
export declare const logs: {
|
|
27
|
+
publishBatch: import("google-logging-utils").AdhocDebugLogFunction;
|
|
28
|
+
};
|
|
21
29
|
/**
|
|
22
30
|
* Queues are used to manage publishing batches of messages.
|
|
23
31
|
*
|
|
@@ -54,8 +62,14 @@ export declare abstract class MessageQueue extends EventEmitter {
|
|
|
54
62
|
* queues are ordered or not.
|
|
55
63
|
*
|
|
56
64
|
* @abstract
|
|
65
|
+
* @param {string} [reason] Optional log explanation of why the publish is happening.
|
|
57
66
|
*/
|
|
58
|
-
abstract publish(): Promise<void>;
|
|
67
|
+
abstract publish(reason: string): Promise<void>;
|
|
68
|
+
/*!
|
|
69
|
+
* Logs about a batch being sent, and why.
|
|
70
|
+
* @private
|
|
71
|
+
*/
|
|
72
|
+
private logBatch;
|
|
59
73
|
/**
|
|
60
74
|
* Method to finalize publishing. Does as many publishes as are needed
|
|
61
75
|
* to finish emptying the queues, and fires a drain event afterward.
|
|
@@ -68,8 +82,9 @@ export declare abstract class MessageQueue extends EventEmitter {
|
|
|
68
82
|
*
|
|
69
83
|
* @param {object[]} messages The messages to publish.
|
|
70
84
|
* @param {PublishCallback[]} callbacks The corresponding callback functions.
|
|
85
|
+
* @private
|
|
71
86
|
*/
|
|
72
|
-
_publish(messages: PubsubMessage[], callbacks: PublishCallback[]): Promise<void>;
|
|
87
|
+
_publish(messages: PubsubMessage[], callbacks: PublishCallback[], bytes: number, reason?: string): Promise<void>;
|
|
73
88
|
}
|
|
74
89
|
/**
|
|
75
90
|
* Standard message queue used for publishing messages.
|
|
@@ -102,14 +117,16 @@ export declare class Queue extends MessageQueue {
|
|
|
102
117
|
* Cancels any pending publishes and calls _publish immediately.
|
|
103
118
|
*
|
|
104
119
|
* Does _not_ attempt to further drain after one batch is sent.
|
|
120
|
+
* @private
|
|
105
121
|
*/
|
|
106
|
-
publish(): Promise<void>;
|
|
122
|
+
publish(reason?: string): Promise<void>;
|
|
107
123
|
/**
|
|
108
124
|
* Cancels any pending publishes and calls _publish immediately.
|
|
109
125
|
*
|
|
110
126
|
* @emits Queue#drain when all messages are sent.
|
|
127
|
+
* @private
|
|
111
128
|
*/
|
|
112
|
-
_publishInternal(fullyDrain: boolean): Promise<void>;
|
|
129
|
+
_publishInternal(fullyDrain: boolean, reason?: string): Promise<void>;
|
|
113
130
|
}
|
|
114
131
|
/**
|
|
115
132
|
* Queue for handling ordered messages. Unlike the standard queue, this
|
|
@@ -168,7 +185,7 @@ export declare class OrderedQueue extends MessageQueue {
|
|
|
168
185
|
*
|
|
169
186
|
* @fires OrderedQueue#drain
|
|
170
187
|
*/
|
|
171
|
-
publish(): Promise<void>;
|
|
188
|
+
publish(reason: string): Promise<void>;
|
|
172
189
|
/**
|
|
173
190
|
* For ordered queues, this does exactly the same thing as `publish()`.
|
|
174
191
|
*
|
|
@@ -15,13 +15,22 @@
|
|
|
15
15
|
* limitations under the License.
|
|
16
16
|
*/
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
-
exports.OrderedQueue = exports.Queue = exports.MessageQueue = void 0;
|
|
18
|
+
exports.OrderedQueue = exports.Queue = exports.MessageQueue = exports.logs = void 0;
|
|
19
19
|
const events_1 = require("events");
|
|
20
20
|
const message_batch_1 = require("./message-batch");
|
|
21
21
|
const publish_error_1 = require("./publish-error");
|
|
22
22
|
const tracing = require("../telemetry-tracing");
|
|
23
23
|
const pubsub_message_1 = require("./pubsub-message");
|
|
24
24
|
const util_1 = require("util");
|
|
25
|
+
const logs_1 = require("../logs");
|
|
26
|
+
/**
|
|
27
|
+
* Loggers. Exported for unit tests.
|
|
28
|
+
*
|
|
29
|
+
* @private
|
|
30
|
+
*/
|
|
31
|
+
exports.logs = {
|
|
32
|
+
publishBatch: logs_1.logs.pubsub.sublog('publish-batch'),
|
|
33
|
+
};
|
|
25
34
|
/**
|
|
26
35
|
* Queues are used to manage publishing batches of messages.
|
|
27
36
|
*
|
|
@@ -50,13 +59,21 @@ class MessageQueue extends events_1.EventEmitter {
|
|
|
50
59
|
updateOptions() {
|
|
51
60
|
this.batchOptions = this.publisher.settings.batching;
|
|
52
61
|
}
|
|
62
|
+
/*!
|
|
63
|
+
* Logs about a batch being sent, and why.
|
|
64
|
+
* @private
|
|
65
|
+
*/
|
|
66
|
+
logBatch(reason, length, bytes) {
|
|
67
|
+
exports.logs.publishBatch.info('%s triggered a publish batch of %i messages, a total of %i bytes', reason, length, bytes);
|
|
68
|
+
}
|
|
53
69
|
/**
|
|
54
70
|
* Accepts a batch of messages and publishes them to the API.
|
|
55
71
|
*
|
|
56
72
|
* @param {object[]} messages The messages to publish.
|
|
57
73
|
* @param {PublishCallback[]} callbacks The corresponding callback functions.
|
|
74
|
+
* @private
|
|
58
75
|
*/
|
|
59
|
-
async _publish(messages, callbacks) {
|
|
76
|
+
async _publish(messages, callbacks, bytes, reason) {
|
|
60
77
|
const { topic, settings } = this.publisher;
|
|
61
78
|
const reqOpts = {
|
|
62
79
|
topic: topic.name,
|
|
@@ -79,6 +96,9 @@ class MessageQueue extends events_1.EventEmitter {
|
|
|
79
96
|
});
|
|
80
97
|
}
|
|
81
98
|
const rpcSpan = tracing.PubsubSpans.createPublishRpcSpan(spanMessages, topic.name, 'MessageQueue._publish');
|
|
99
|
+
if (reason) {
|
|
100
|
+
this.logBatch(reason, messages.length, bytes);
|
|
101
|
+
}
|
|
82
102
|
const requestCallback = (topic.request);
|
|
83
103
|
const request = (0, util_1.promisify)(requestCallback.bind(topic));
|
|
84
104
|
try {
|
|
@@ -140,12 +160,16 @@ class Queue extends MessageQueue {
|
|
|
140
160
|
// Make a background best-effort attempt to clear out the
|
|
141
161
|
// queue. If this fails, we'll basically just be overloaded
|
|
142
162
|
// for a bit.
|
|
143
|
-
this.
|
|
163
|
+
const reason = !this.batch.canFitCount() ? 'message count' : 'byte count';
|
|
164
|
+
this.publish(reason).catch(() => { });
|
|
144
165
|
}
|
|
145
166
|
this.batch.add(message, callback);
|
|
146
167
|
if (this.batch.isFull()) {
|
|
147
168
|
// See comment above - best effort.
|
|
148
|
-
this.
|
|
169
|
+
const reason = this.batch.isFullMessages()
|
|
170
|
+
? 'message count'
|
|
171
|
+
: 'byte count';
|
|
172
|
+
this.publish(reason).catch(() => { });
|
|
149
173
|
}
|
|
150
174
|
else if (!this.pending) {
|
|
151
175
|
const { maxMilliseconds } = this.batchOptions;
|
|
@@ -153,7 +177,7 @@ class Queue extends MessageQueue {
|
|
|
153
177
|
// See comment above - we are basically making a best effort
|
|
154
178
|
// to start clearing out the queue if nothing else happens
|
|
155
179
|
// before the batch timeout.
|
|
156
|
-
this.publish().catch(() => { });
|
|
180
|
+
this.publish('timeout').catch(() => { });
|
|
157
181
|
}, maxMilliseconds);
|
|
158
182
|
}
|
|
159
183
|
}
|
|
@@ -165,35 +189,38 @@ class Queue extends MessageQueue {
|
|
|
165
189
|
* @emits Queue#drain when all messages are sent.
|
|
166
190
|
*/
|
|
167
191
|
async publishDrain() {
|
|
168
|
-
await this._publishInternal(true);
|
|
192
|
+
await this._publishInternal(true, 'manual drain');
|
|
169
193
|
}
|
|
170
194
|
/**
|
|
171
195
|
* Cancels any pending publishes and calls _publish immediately.
|
|
172
196
|
*
|
|
173
197
|
* Does _not_ attempt to further drain after one batch is sent.
|
|
198
|
+
* @private
|
|
174
199
|
*/
|
|
175
|
-
async publish() {
|
|
176
|
-
await this._publishInternal(false);
|
|
200
|
+
async publish(reason) {
|
|
201
|
+
await this._publishInternal(false, reason);
|
|
177
202
|
}
|
|
178
203
|
/**
|
|
179
204
|
* Cancels any pending publishes and calls _publish immediately.
|
|
180
205
|
*
|
|
181
206
|
* @emits Queue#drain when all messages are sent.
|
|
207
|
+
* @private
|
|
182
208
|
*/
|
|
183
|
-
async _publishInternal(fullyDrain) {
|
|
209
|
+
async _publishInternal(fullyDrain, reason) {
|
|
184
210
|
const { messages, callbacks } = this.batch.end();
|
|
211
|
+
const bytes = this.batch.bytes;
|
|
185
212
|
this.batch = new message_batch_1.MessageBatch(this.batchOptions, this.publisher.topic.name);
|
|
186
213
|
if (this.pending) {
|
|
187
214
|
clearTimeout(this.pending);
|
|
188
215
|
delete this.pending;
|
|
189
216
|
}
|
|
190
|
-
await this._publish(messages, callbacks);
|
|
217
|
+
await this._publish(messages, callbacks, bytes, reason);
|
|
191
218
|
if (this.batch.messages.length) {
|
|
192
219
|
// We only do the indefinite go-arounds when we're trying to do a
|
|
193
220
|
// final drain for flush(). In all other cases, we want to leave
|
|
194
221
|
// subsequent batches alone so that they can time out as needed.
|
|
195
222
|
if (fullyDrain) {
|
|
196
|
-
await this._publishInternal(true);
|
|
223
|
+
await this._publishInternal(true, 'message count');
|
|
197
224
|
}
|
|
198
225
|
}
|
|
199
226
|
else {
|
|
@@ -263,7 +290,10 @@ class OrderedQueue extends MessageQueue {
|
|
|
263
290
|
// Make a best-effort attempt to clear out the publish queue,
|
|
264
291
|
// to make more space for the new batch. If this fails, we'll
|
|
265
292
|
// just be overfilled for a bit.
|
|
266
|
-
this.
|
|
293
|
+
const reason = !this.currentBatch.canFitCount()
|
|
294
|
+
? 'message count'
|
|
295
|
+
: 'byte count';
|
|
296
|
+
this.publish(reason).catch(() => { });
|
|
267
297
|
}
|
|
268
298
|
this.currentBatch.add(message, callback);
|
|
269
299
|
// it is possible that we triggered a publish earlier, so we'll need to
|
|
@@ -271,7 +301,10 @@ class OrderedQueue extends MessageQueue {
|
|
|
271
301
|
if (!this.inFlight) {
|
|
272
302
|
if (this.currentBatch.isFull()) {
|
|
273
303
|
// See comment above - best-effort.
|
|
274
|
-
this.
|
|
304
|
+
const reason = this.currentBatch.isFullMessages()
|
|
305
|
+
? 'message count'
|
|
306
|
+
: 'byte count';
|
|
307
|
+
this.publish(reason).catch(() => { });
|
|
275
308
|
}
|
|
276
309
|
else if (!this.pending) {
|
|
277
310
|
this.beginNextPublish();
|
|
@@ -289,7 +322,7 @@ class OrderedQueue extends MessageQueue {
|
|
|
289
322
|
// Make a best-effort attempt to start a publish request. If
|
|
290
323
|
// this fails, we'll catch it again later, eventually, when more
|
|
291
324
|
// messages try to enter the queue.
|
|
292
|
-
this.publish().catch(() => { });
|
|
325
|
+
this.publish('timeout').catch(() => { });
|
|
293
326
|
}, delay);
|
|
294
327
|
}
|
|
295
328
|
/**
|
|
@@ -324,7 +357,7 @@ class OrderedQueue extends MessageQueue {
|
|
|
324
357
|
*
|
|
325
358
|
* @fires OrderedQueue#drain
|
|
326
359
|
*/
|
|
327
|
-
async publish() {
|
|
360
|
+
async publish(reason) {
|
|
328
361
|
// If there's nothing to flush, don't try, just short-circuit to the drain event.
|
|
329
362
|
// This can happen if we get a publish() call after already being drained, in
|
|
330
363
|
// the case that topic.flush() pulls a reference to us before we get deleted.
|
|
@@ -337,9 +370,9 @@ class OrderedQueue extends MessageQueue {
|
|
|
337
370
|
clearTimeout(this.pending);
|
|
338
371
|
delete this.pending;
|
|
339
372
|
}
|
|
340
|
-
const { messages, callbacks } = this.batches.pop().end();
|
|
373
|
+
const { messages, callbacks, bytes } = this.batches.pop().end();
|
|
341
374
|
try {
|
|
342
|
-
await this._publish(messages, callbacks);
|
|
375
|
+
await this._publish(messages, callbacks, bytes, reason);
|
|
343
376
|
}
|
|
344
377
|
catch (e) {
|
|
345
378
|
const err = e;
|
|
@@ -362,7 +395,7 @@ class OrderedQueue extends MessageQueue {
|
|
|
362
395
|
* @fires OrderedQueue#drain
|
|
363
396
|
*/
|
|
364
397
|
async publishDrain() {
|
|
365
|
-
await this.publish();
|
|
398
|
+
await this.publish('manual drain');
|
|
366
399
|
}
|
|
367
400
|
/**
|
|
368
401
|
* Tells the queue it is ok to continue publishing messages.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message-queues.js","sourceRoot":"","sources":["../../../src/publisher/message-queues.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAGH,mCAAoC;AAEpC,mDAAkE;AAClE,mDAA6C;AAG7C,gDAAgD;AAChD,qDAA+C;AAC/C,+BAA+B;
|
|
1
|
+
{"version":3,"file":"message-queues.js","sourceRoot":"","sources":["../../../src/publisher/message-queues.ts"],"names":[],"mappings":"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"}
|