Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -460,9 +460,9 @@ private void onError(Throwable error) {
retryTimer.newTimeout(t -> call(), delayNs, TimeUnit.NANOSECONDS);
}

private void updateNextStartRowWhenError(Result result) {
private void updateNextStartRowWhenError(Result result, boolean isHeartbeatMessage) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Mind adding some comments to describe the behavior? Especially on 3.x we do not have sync client implementation any more, we'd better add some comments so later developers could still know why we need this.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

At the moment this seems to be not an HBase issue after all.

I am closing the PRs and tickets to avoid further confusion.

If the problem ends up being on the HBase side, I will repoen the ticket.

nextStartRowWhenError = result.getRow();
includeNextStartRowWhenError = result.mayHaveMoreCellsInRow();
includeNextStartRowWhenError = result.mayHaveMoreCellsInRow() || isHeartbeatMessage;
}

private void completeWhenNoMoreResultsInRegion() {
Expand Down Expand Up @@ -531,7 +531,7 @@ private void onComplete(HBaseRpcController controller, ScanResponse resp) {
if (results.length > 0) {
scanController = new ScanControllerImpl(
resp.hasCursor() ? Optional.of(ProtobufUtil.toCursor(resp.getCursor())) : Optional.empty());
updateNextStartRowWhenError(results[results.length - 1]);
updateNextStartRowWhenError(results[results.length - 1], isHeartbeatMessage);
consumer.onNext(results, scanController);
} else {
Optional<Cursor> cursor = Optional.empty();
Expand Down