Skip to content

Commit 5974268

Browse files
committed
CDRIVER-3329 fix error label check
1 parent 4949baa commit 5974268

File tree

2 files changed

+14
-1
lines changed

2 files changed

+14
-1
lines changed

src/libmongoc/src/mongoc/mongoc-change-stream.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ _is_resumable_error (const bson_t *reply)
4646
return true;
4747
}
4848

49-
if (mongoc_error_has_label (reply, "NonRetryableChangeStreamError")) {
49+
if (mongoc_error_has_label (reply, "NonResumableChangeStreamError")) {
5050
return false;
5151
}
5252

src/libmongoc/tests/test-mongoc-change-stream.c

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -691,6 +691,19 @@ test_getmore_errors (void)
691691
_test_getmore_error ("{'ok': 0, 'errmsg': 'random error'}",
692692
false /* should_resume */,
693693
false /* resume_kills_cursor */);
694+
/* An error with a 'NonResumableChangeStreamError' label should not attempt
695+
* to resume. */
696+
_test_getmore_error (
697+
"{'ok': 0, 'code': 280, 'errorLabels': "
698+
"['NonResumableChangeStreamError'], 'errmsg': 'random error'}",
699+
false /* should_resume */,
700+
false /* resume_kills_cursor */);
701+
/* But other error labels should resume. */
702+
_test_getmore_error (
703+
"{'ok': 0, 'code': 280, 'errorLabels': "
704+
"['NonRetryableChangeStreamError'], 'errmsg': 'random error'}",
705+
true /* should_resume */,
706+
true /* resume_kills_cursor */);
694707
}
695708
/* From Change Streams Spec tests:
696709
* "ChangeStream will automatically resume one time on a resumable error

0 commit comments

Comments
 (0)