Description
GridReduceQueryExecutor can fail with NPE on retry if it couldn't map during retry timeout.
So, 'lastRun' can be null here
if (attempt > 0 && retryTimeout > 0 && (U.currentTimeMillis() - startTime > retryTimeout)) { UUID retryNodeId = lastRun.retryNodeId(); String retryCause = lastRun.retryCause(); assert !F.isEmpty(retryCause);
Also assertion above is not correct.
It is possible, we failed to send request, then retried with success to remap.
So, 'lastRun' would be not null, but cause is empty.
Attachments
Issue Links
- links to