|
See jeff.yemin's analysis in https://jira.mongodb.org/browse/JAVA-2858
There may be a similar problem in ChangeStreamCusor.cs
Relevant snippet from ChangeStreamCursor.cs:
|
public bool MoveNext(CancellationToken cancellationToken = default(CancellationToken))
|
{
|
bool hasMore;
|
try
|
{
|
hasMore = _cursor.MoveNext(cancellationToken);
|
}
|
catch (Exception ex)
|
{
|
if (RetryabilityHelper.IsResumableChangeStreamException(ex))
|
{
|
_cursor = _changeStreamOperation.Resume(_binding, _resumeToken, cancellationToken);
|
hasMore = _cursor.MoveNext(cancellationToken);
|
}
|
else
|
{
|
throw;
|
}
|
}
|
|
ProcessBatch(hasMore);
|
return hasMore;
|
}
|
|
|
|
|