async_nats/jetstream/
errors.rs1use std::{error, fmt};
15
16use serde::{Deserialize, Serialize};
17
18#[derive(Debug, PartialEq, Eq, Clone, Copy, Deserialize, Serialize)]
19pub struct ErrorCode(pub u64);
20
21impl ErrorCode {
22 pub const CLUSTER_PEER_NOT_MEMBER: ErrorCode = ErrorCode(10040);
24
25 pub const CONSUMER_EPHEMERAL_WITH_DURABLE: ErrorCode = ErrorCode(10019);
27
28 pub const STREAM_EXTERNAL_DELETE_PREFIX_OVERLAPS: ErrorCode = ErrorCode(10022);
30
31 pub const ACCOUNT_RESOURCES_EXCEEDED: ErrorCode = ErrorCode(10002);
33
34 pub const CLUSTER_NOT_AVAILABLE: ErrorCode = ErrorCode(10008);
36
37 pub const STREAM_SUBJECT_OVERLAP: ErrorCode = ErrorCode(10065);
39
40 pub const STREAM_WRONG_LAST_SEQUENCE: ErrorCode = ErrorCode(10071);
42
43 pub const NAME_NOT_MATCH_SUBJECT: ErrorCode = ErrorCode(10073);
45
46 pub const CLUSTER_NO_PEERS: ErrorCode = ErrorCode(10005);
48
49 pub const CONSUMER_EPHEMERAL_WITH_DURABLE_NAME: ErrorCode = ErrorCode(10020);
51
52 pub const INSUFFICIENT_RESOURCES: ErrorCode = ErrorCode(10023);
54
55 pub const MIRROR_MAX_MESSAGE_SIZE_TOO_BIG: ErrorCode = ErrorCode(10030);
57
58 pub const STREAM_DELETE_FAILED: ErrorCode = ErrorCode(10067);
60
61 pub const BAD_REQUEST: ErrorCode = ErrorCode(10003);
63
64 pub const NOT_SUPPORTED_IN_CLUSTER_MODE: ErrorCode = ErrorCode(10036);
66
67 pub const CONSUMER_NOT_FOUND: ErrorCode = ErrorCode(10014);
69
70 pub const SOURCE_MAX_MESSAGE_SIZE_TOO_BIG: ErrorCode = ErrorCode(10046);
72
73 pub const STREAM_ASSIGNMENT: ErrorCode = ErrorCode(10048);
75
76 pub const STREAM_MESSAGE_EXCEEDS_MAXIMUM: ErrorCode = ErrorCode(10054);
78
79 pub const STREAM_CREATE_TEMPLATE: ErrorCode = ErrorCode(10066);
81
82 pub const INVALID_JSON: ErrorCode = ErrorCode(10025);
84
85 pub const STREAM_INVALID_EXTERNAL_DELIVERY_SUBJECT: ErrorCode = ErrorCode(10024);
87
88 pub const STREAM_RESTORE: ErrorCode = ErrorCode(10062);
90
91 pub const CLUSTER_INCOMPLETE: ErrorCode = ErrorCode(10004);
93
94 pub const NO_ACCOUNT: ErrorCode = ErrorCode(10035);
96
97 pub const RAFT_GENERAL: ErrorCode = ErrorCode(10041);
99
100 pub const RESTORE_SUBSCRIBE_FAILED: ErrorCode = ErrorCode(10042);
102
103 pub const STREAM_DELETE: ErrorCode = ErrorCode(10050);
105
106 pub const STREAM_EXTERNAL_API_OVERLAP: ErrorCode = ErrorCode(10021);
108
109 pub const MIRROR_WITH_SUBJECTS: ErrorCode = ErrorCode(10034);
111
112 pub const JETSTREAM_NOT_ENABLED: ErrorCode = ErrorCode(10076);
114
115 pub const JETSTREAM_NOT_ENABLED_FOR_ACCOUNT: ErrorCode = ErrorCode(10039);
117
118 pub const SEQUENCE_NOT_FOUND: ErrorCode = ErrorCode(10043);
120
121 pub const STREAM_MIRROR_NOT_UPDATABLE: ErrorCode = ErrorCode(10055);
123
124 pub const STREAM_SEQUENCE_NOT_MATCH: ErrorCode = ErrorCode(10063);
126
127 pub const STREAM_WRONG_LAST_MESSAGE_ID: ErrorCode = ErrorCode(10070);
129
130 pub const TEMP_STORAGE_FAILED: ErrorCode = ErrorCode(10072);
132
133 pub const STORAGE_RESOURCES_EXCEEDED: ErrorCode = ErrorCode(10047);
135
136 pub const STREAM_MISMATCH: ErrorCode = ErrorCode(10056);
138
139 pub const STREAM_NOT_MATCH: ErrorCode = ErrorCode(10060);
141
142 pub const MIRROR_CONSUMER_SETUP_FAILED: ErrorCode = ErrorCode(10029);
144
145 pub const NOT_EMPTY_REQUEST: ErrorCode = ErrorCode(10038);
147
148 pub const STREAM_NAME_EXIST: ErrorCode = ErrorCode(10058);
150
151 pub const CLUSTER_TAGS: ErrorCode = ErrorCode(10011);
153
154 pub const MAXIMUM_CONSUMERS_LIMIT: ErrorCode = ErrorCode(10026);
156
157 pub const SOURCE_CONSUMER_SETUP_FAILED: ErrorCode = ErrorCode(10045);
159
160 pub const CONSUMER_CREATE: ErrorCode = ErrorCode(10012);
162
163 pub const CONSUMER_DURABLE_NAME_NOT_IN_SUBJECT: ErrorCode = ErrorCode(10016);
165
166 pub const STREAM_LIMITS: ErrorCode = ErrorCode(10053);
168
169 pub const STREAM_REPLICAS_NOT_UPDATABLE: ErrorCode = ErrorCode(10061);
171
172 pub const STREAM_TEMPLATE_NOT_FOUND: ErrorCode = ErrorCode(10068);
174
175 pub const CLUSTER_NOT_ASSIGNED: ErrorCode = ErrorCode(10007);
177
178 pub const CLUSTER_NOT_LEADER: ErrorCode = ErrorCode(10009);
180
181 pub const CONSUMER_NAME_EXIST: ErrorCode = ErrorCode(10013);
183
184 pub const MIRROR_WITH_SOURCES: ErrorCode = ErrorCode(10031);
186
187 pub const STREAM_NOT_FOUND: ErrorCode = ErrorCode(10059);
189
190 pub const CLUSTER_REQUIRED: ErrorCode = ErrorCode(10010);
192
193 pub const CONSUMER_DURABLE_NAME_NOT_SET: ErrorCode = ErrorCode(10018);
195
196 pub const MAXIMUM_STREAMS_LIMIT: ErrorCode = ErrorCode(10027);
198
199 pub const MIRROR_WITH_START_SEQUENCE_AND_TIME: ErrorCode = ErrorCode(10032);
201
202 pub const STREAM_SNAPSHOT: ErrorCode = ErrorCode(10064);
204
205 pub const STREAM_UPDATE: ErrorCode = ErrorCode(10069);
207
208 pub const CLUSTER_NOT_ACTIVE: ErrorCode = ErrorCode(10006);
210
211 pub const CONSUMER_DURABLE_NAME_NOT_MATCH_SUBJECT: ErrorCode = ErrorCode(10017);
213
214 pub const MEMORY_RESOURCES_EXCEEDED: ErrorCode = ErrorCode(10028);
216
217 pub const MIRROR_WITH_SUBJECT_FILTERS: ErrorCode = ErrorCode(10033);
219
220 pub const STREAM_CREATE: ErrorCode = ErrorCode(10049);
222
223 pub const CLUSTER_SERVER_NOT_MEMBER: ErrorCode = ErrorCode(10044);
225
226 pub const NO_MESSAGE_FOUND: ErrorCode = ErrorCode(10037);
228
229 pub const SNAPSHOT_DELIVER_SUBJECT_INVALID: ErrorCode = ErrorCode(10015);
231
232 pub const STREAM_GENERALOR: ErrorCode = ErrorCode(10051);
234
235 pub const STREAM_INVALID_CONFIG: ErrorCode = ErrorCode(10052);
237
238 pub const STREAM_REPLICAS_NOT_SUPPORTED: ErrorCode = ErrorCode(10074);
240
241 pub const STREAM_MESSAGE_DELETE_FAILED: ErrorCode = ErrorCode(10057);
243
244 pub const PEER_REMAP: ErrorCode = ErrorCode(10075);
246
247 pub const STREAM_STORE_FAILED: ErrorCode = ErrorCode(10077);
249
250 pub const CONSUMER_CONFIG_REQUIRED: ErrorCode = ErrorCode(10078);
252
253 pub const CONSUMER_DELIVER_TO_WILDCARDS: ErrorCode = ErrorCode(10079);
255
256 pub const CONSUMER_PUSH_MAX_WAITING: ErrorCode = ErrorCode(10080);
258
259 pub const CONSUMER_DELIVER_CYCLE: ErrorCode = ErrorCode(10081);
261
262 pub const CONSUMER_MAX_PENDING_ACK_POLICY_REQUIRED: ErrorCode = ErrorCode(10082);
264
265 pub const CONSUMER_SMALL_HEARTBEAT: ErrorCode = ErrorCode(10083);
267
268 pub const CONSUMER_PULL_REQUIRES_ACK: ErrorCode = ErrorCode(10084);
270
271 pub const CONSUMER_PULL_NOT_DURABLE: ErrorCode = ErrorCode(10085);
273
274 pub const CONSUMER_PULL_WITH_RATE_LIMIT: ErrorCode = ErrorCode(10086);
276
277 pub const CONSUMER_MAX_WAITING_NEGATIVE: ErrorCode = ErrorCode(10087);
279
280 pub const CONSUMER_HEARTBEAT_REQUIRES_PUSH: ErrorCode = ErrorCode(10088);
282
283 pub const CONSUMER_FLOW_CONTROL_REQUIRES_PUSH: ErrorCode = ErrorCode(10089);
285
286 pub const CONSUMER_DIRECT_REQUIRES_PUSH: ErrorCode = ErrorCode(10090);
288
289 pub const CONSUMER_DIRECT_REQUIRES_EPHEMERAL: ErrorCode = ErrorCode(10091);
291
292 pub const CONSUMER_ON_MAPPED: ErrorCode = ErrorCode(10092);
294
295 pub const CONSUMER_FILTER_NOT_SUBSET: ErrorCode = ErrorCode(10093);
297
298 pub const CONSUMER_INVALID_POLICY: ErrorCode = ErrorCode(10094);
300
301 pub const CONSUMER_INVALID_SAMPLING: ErrorCode = ErrorCode(10095);
303
304 pub const STREAM_INVALID: ErrorCode = ErrorCode(10096);
306
307 pub const CONSUMER_WQ_REQUIRES_EXPLICIT_ACK: ErrorCode = ErrorCode(10098);
309
310 pub const CONSUMER_WQ_MULTIPLE_UNFILTERED: ErrorCode = ErrorCode(10099);
312
313 pub const CONSUMER_WQ_CONSUMER_NOT_UNIQUE: ErrorCode = ErrorCode(10100);
315
316 pub const CONSUMER_WQ_CONSUMER_NOT_DELIVER_ALL: ErrorCode = ErrorCode(10101);
318
319 pub const CONSUMER_NAME_TOO_LONG: ErrorCode = ErrorCode(10102);
321
322 pub const CONSUMER_BAD_DURABLE_NAME: ErrorCode = ErrorCode(10103);
324
325 pub const CONSUMER_STORE_FAILED: ErrorCode = ErrorCode(10104);
327
328 pub const CONSUMER_EXISTING_ACTIVE: ErrorCode = ErrorCode(10105);
330
331 pub const CONSUMER_REPLACEMENT_WITH_DIFFERENT_NAME: ErrorCode = ErrorCode(10106);
333
334 pub const CONSUMER_DESCRIPTION_TOO_LONG: ErrorCode = ErrorCode(10107);
336
337 pub const STREAM_HEADER_EXCEEDS_MAXIMUM: ErrorCode = ErrorCode(10097);
339
340 pub const CONSUMER_WITH_FLOW_CONTROL_NEEDS_HEARTBEATS: ErrorCode = ErrorCode(10108);
342
343 pub const STREAM_SEALED: ErrorCode = ErrorCode(10109);
345
346 pub const STREAM_PURGE_FAILED: ErrorCode = ErrorCode(10110);
348
349 pub const STREAM_ROLLUP_FAILED: ErrorCode = ErrorCode(10111);
351
352 pub const CONSUMER_INVALID_DELIVER_SUBJECT: ErrorCode = ErrorCode(10112);
354
355 pub const STREAM_MAX_BYTES_REQUIRED: ErrorCode = ErrorCode(10113);
357
358 pub const CONSUMER_MAX_REQUEST_BATCH_NEGATIVE: ErrorCode = ErrorCode(10114);
360
361 pub const CONSUMER_MAX_REQUEST_EXPIRES_TO_SMALL: ErrorCode = ErrorCode(10115);
363
364 pub const CONSUMER_MAX_DELIVER_BACKOFF: ErrorCode = ErrorCode(10116);
366
367 pub const STREAM_INFO_MAX_SUBJECTS: ErrorCode = ErrorCode(10117);
369
370 pub const STREAM_OFFLINE: ErrorCode = ErrorCode(10118);
372
373 pub const CONSUMER_OFFLINE: ErrorCode = ErrorCode(10119);
375
376 pub const NO_LIMITS: ErrorCode = ErrorCode(10120);
378
379 pub const CONSUMER_MAX_PENDING_ACK_EXCESS: ErrorCode = ErrorCode(10121);
381
382 pub const STREAM_MAX_STREAM_BYTES_EXCEEDED: ErrorCode = ErrorCode(10122);
384
385 pub const STREAM_MOVE_AND_SCALE: ErrorCode = ErrorCode(10123);
387
388 pub const STREAM_MOVE_IN_PROGRESS: ErrorCode = ErrorCode(10124);
390
391 pub const CONSUMER_MAX_REQUEST_BATCH_EXCEEDED: ErrorCode = ErrorCode(10125);
393
394 pub const CONSUMER_REPLICAS_EXCEEDS_STREAM: ErrorCode = ErrorCode(10126);
396
397 pub const CONSUMER_NAME_CONTAINS_PATH_SEPARATORS: ErrorCode = ErrorCode(10127);
399
400 pub const STREAM_NAME_CONTAINS_PATH_SEPARATORS: ErrorCode = ErrorCode(10128);
402
403 pub const STREAM_MOVE_NOT_IN_PROGRESS: ErrorCode = ErrorCode(10129);
405
406 pub const STREAM_NAME_EXIST_RESTORE_FAILED: ErrorCode = ErrorCode(10130);
408
409 pub const CONSUMER_CREATE_FILTER_SUBJECT_MISMATCH: ErrorCode = ErrorCode(10131);
411
412 pub const CONSUMER_CREATE_DURABLE_AND_NAME_MISMATCH: ErrorCode = ErrorCode(10132);
414
415 pub const REPLICAS_COUNT_CANNOT_BE_NEGATIVE: ErrorCode = ErrorCode(10133);
417
418 pub const CONSUMER_REPLICAS_SHOULD_MATCH_STREAM: ErrorCode = ErrorCode(10134);
420
421 pub const CONSUMER_METADATA_LENGTH: ErrorCode = ErrorCode(10135);
423
424 pub const CONSUMER_DUPLICATE_FILTER_SUBJECTS: ErrorCode = ErrorCode(10136);
426
427 pub const CONSUMER_MULTIPLE_FILTERS_NOT_ALLOWED: ErrorCode = ErrorCode(10137);
429
430 pub const CONSUMER_OVERLAPPING_SUBJECT_FILTERS: ErrorCode = ErrorCode(10138);
432
433 pub const CONSUMER_EMPTY_FILTER: ErrorCode = ErrorCode(10139);
435
436 pub const SOURCE_DUPLICATE_DETECTED: ErrorCode = ErrorCode(10140);
438
439 pub const SOURCE_INVALID_STREAM_NAME: ErrorCode = ErrorCode(10141);
441
442 pub const MIRROR_INVALID_STREAM_NAME: ErrorCode = ErrorCode(10142);
444
445 pub const MIRROR_WITH_FIRST_SEQ: ErrorCode = ErrorCode(10143);
447
448 pub const SOURCE_MULTIPLE_FILTERS_NOT_ALLOWED: ErrorCode = ErrorCode(10144);
450
451 pub const SOURCE_INVALID_SUBJECT_FILTER: ErrorCode = ErrorCode(10145);
453
454 pub const SOURCE_INVALID_TRANSFORM_DESTINATION: ErrorCode = ErrorCode(10146);
456
457 pub const SOURCE_OVERLAPPING_SUBJECT_FILTERS: ErrorCode = ErrorCode(10147);
459
460 pub const CONSUMER_ALREADY_EXISTS: ErrorCode = ErrorCode(10148);
462
463 pub const CONSUMER_DOES_NOT_EXIST: ErrorCode = ErrorCode(10149);
465
466 pub const MIRROR_MULTIPLE_FILTERS_NOT_ALLOWED: ErrorCode = ErrorCode(10150);
468
469 pub const MIRROR_INVALID_SUBJECT_FILTER: ErrorCode = ErrorCode(10151);
471
472 pub const MIRROR_OVERLAPPING_SUBJECT_FILTERS: ErrorCode = ErrorCode(10152);
474
475 pub const CONSUMER_INACTIVE_THRESHOLD_EXCESS: ErrorCode = ErrorCode(10153);
477
478 pub const MIRROR_INVALID_TRANSFORM_DESTINATION: ErrorCode = ErrorCode(10154);
480
481 pub const STREAM_TRANSFORM_INVALID_SOURCE: ErrorCode = ErrorCode(10155);
483
484 pub const STREAM_TRANSFORM_INVALID_DESTINATION: ErrorCode = ErrorCode(10156);
486
487 pub const PEDANTIC: ErrorCode = ErrorCode(10157);
489
490 pub const STREAM_DUPLICATE_MESSAGE_CONFLICT: ErrorCode = ErrorCode(10158);
492
493 pub const CONSUMER_PRIORITY_POLICY_WITHOUT_GROUP: ErrorCode = ErrorCode(10159);
495
496 pub const CONSUMER_INVALID_PRIORITY_GROUP: ErrorCode = ErrorCode(10160);
498
499 pub const CONSUMER_EMPTY_GROUP_NAME: ErrorCode = ErrorCode(10161);
501
502 pub const CONSUMER_INVALID_GROUP_NAME: ErrorCode = ErrorCode(10162);
504
505 pub const STREAM_EXPECTED_LAST_SEQ_PER_SUBJECT_NOT_READY: ErrorCode = ErrorCode(10163);
507
508 pub const STREAM_WRONG_LAST_SEQUENCE_CONSTANT: ErrorCode = ErrorCode(10164);
510
511 pub const MESSAGE_TTL_INVALID: ErrorCode = ErrorCode(10165);
513
514 pub const MESSAGE_TTL_DISABLED: ErrorCode = ErrorCode(10166);
516
517 pub const STREAM_TOO_MANY_REQUESTS: ErrorCode = ErrorCode(10167);
519
520 pub const MESSAGE_INCR_DISABLED: ErrorCode = ErrorCode(10168);
522
523 pub const MESSAGE_INCR_MISSING: ErrorCode = ErrorCode(10169);
525
526 pub const MESSAGE_INCR_PAYLOAD: ErrorCode = ErrorCode(10170);
528
529 pub const MESSAGE_INCR_INVALID: ErrorCode = ErrorCode(10171);
531
532 pub const MESSAGE_COUNTER_BROKEN: ErrorCode = ErrorCode(10172);
534
535 pub const MIRROR_WITH_COUNTERS: ErrorCode = ErrorCode(10173);
537
538 pub const ATOMIC_PUBLISH_DISABLED: ErrorCode = ErrorCode(10174);
540
541 pub const ATOMIC_PUBLISH_MISSING_SEQ: ErrorCode = ErrorCode(10175);
543
544 pub const ATOMIC_PUBLISH_INCOMPLETE_BATCH: ErrorCode = ErrorCode(10176);
546
547 pub const ATOMIC_PUBLISH_UNSUPPORTED_HEADER: ErrorCode = ErrorCode(10177);
549
550 pub const CONSUMER_PUSH_WITH_PRIORITY_GROUP: ErrorCode = ErrorCode(10178);
552
553 pub const ATOMIC_PUBLISH_INVALID_BATCH_ID: ErrorCode = ErrorCode(10179);
555
556 pub const STREAM_MIN_LAST_SEQ: ErrorCode = ErrorCode(10180);
558
559 pub const CONSUMER_ACK_POLICY_INVALID: ErrorCode = ErrorCode(10181);
561
562 pub const CONSUMER_REPLAY_POLICY_INVALID: ErrorCode = ErrorCode(10182);
564
565 pub const CONSUMER_ACK_WAIT_NEGATIVE: ErrorCode = ErrorCode(10183);
567
568 pub const CONSUMER_BACKOFF_NEGATIVE: ErrorCode = ErrorCode(10184);
570
571 pub const REQUIRED_API_LEVEL: ErrorCode = ErrorCode(10185);
573
574 pub const MIRROR_WITH_MSG_SCHEDULES: ErrorCode = ErrorCode(10186);
576
577 pub const SOURCE_WITH_MSG_SCHEDULES: ErrorCode = ErrorCode(10187);
579
580 pub const MESSAGE_SCHEDULES_DISABLED: ErrorCode = ErrorCode(10188);
582
583 pub const MESSAGE_SCHEDULES_PATTERN_INVALID: ErrorCode = ErrorCode(10189);
585
586 pub const MESSAGE_SCHEDULES_TARGET_INVALID: ErrorCode = ErrorCode(10190);
588
589 pub const MESSAGE_SCHEDULES_TTL_INVALID: ErrorCode = ErrorCode(10191);
591
592 pub const MESSAGE_SCHEDULES_ROLLUP_INVALID: ErrorCode = ErrorCode(10192);
594
595 pub const STREAM_EXPECTED_LAST_SEQ_PER_SUBJECT_INVALID: ErrorCode = ErrorCode(10193);
597
598 pub const STREAM_OFFLINE_REASON: ErrorCode = ErrorCode(10194);
600
601 pub const CONSUMER_OFFLINE_REASON: ErrorCode = ErrorCode(10195);
603
604 pub const CONSUMER_PRIORITY_GROUP_WITH_POLICY_NONE: ErrorCode = ErrorCode(10196);
606
607 pub const CONSUMER_PINNED_TTL_WITHOUT_PRIORITY_POLICY_NONE: ErrorCode = ErrorCode(10197);
609
610 pub const MIRROR_WITH_ATOMIC_PUBLISH: ErrorCode = ErrorCode(10198);
612
613 pub const ATOMIC_PUBLISH_TOO_LARGE_BATCH: ErrorCode = ErrorCode(10199);
615
616 pub const ATOMIC_PUBLISH_INVALID_BATCH_COMMIT: ErrorCode = ErrorCode(10200);
618}
619
620#[derive(Debug, Serialize, Deserialize, Clone, PartialEq)]
622pub struct Error {
623 code: usize,
624 err_code: ErrorCode,
625 description: Option<String>,
626}
627
628impl Error {
629 pub fn code(&self) -> usize {
631 self.code
632 }
633
634 pub fn error_code(&self) -> ErrorCode {
636 self.err_code
637 }
638
639 pub fn kind(&self) -> ErrorCode {
640 self.err_code
641 }
642}
643
644impl fmt::Display for Error {
645 fn fmt(&self, fmt: &mut fmt::Formatter<'_>) -> fmt::Result {
646 write!(
647 fmt,
648 "{} (code {}, error code {})",
649 self.description.as_ref().unwrap_or(&"unknown".to_string()),
650 self.code,
651 self.err_code.0,
652 )
653 }
654}
655
656impl error::Error for Error {}