waitinfuture opened a new pull request, #1010:
URL: https://github.com/apache/incubator-celeborn/pull/1010
# [BUG]/[FEATURE] title
### What changes were proposed in this pull request?
### Why are the changes needed?
<!--
Please clarify why the changes are needed. For instance,
1. If you propose a new API, clarify the use case for a new API.
2. If you fix a bug, you can clarify why it is a bug.
-->
### What are the items that need reviewer attention?
### Related issues.
### Related pull requests.
### How was this patch tested?
1T TPCDS, q23a.sql
ESS result:
```
60500293976.77
```
Then I mock onFailure on RetryingChunkClient:
```
try {
if (replica.getLocation().getMode() == PartitionLocation.Mode.Master
&& chunkIndex == 3) {
throw new IOException("Mock Exception");
} else {
TransportClient client = replica.getOrOpenStream();
client.fetchChunk(replica.getStreamId(), chunkIndex, callback);
}
}
```
Or let FetchHandler invoke onFailure
```
if (Random.nextInt(100) < 10 && req.streamChunkSlice.chunkIndex ==
3) {
logInfo("mock fail")
client.getChannel.writeAndFlush(new
ChunkFetchFailure(req.streamChunkSlice, "mock fail"))
} else {
val buf = streamManager.getChunk(req.streamChunkSlice.streamId,
req.streamChunkSlice.chunkIndex, req.streamChunkSlice.offset,
req.streamChunkSlice.len)
streamManager.chunkBeingSent(req.streamChunkSlice.streamId)
client.getChannel.writeAndFlush(new
ChunkFetchSuccess(req.streamChunkSlice, buf))
.addListener(new GenericFutureListener[Future[_ >: Void]] {
override def operationComplete(future: Future[_ >: Void]):
Unit = {
streamManager.chunkSent(req.streamChunkSlice.streamId)
source.stopTimer(NetWorkSource.FetchChunkTime, req.toString)
}
})
}
```
Before this pr, RSS got incorrect results with multiple runs:
```
60498861157.02
60499371915.55
60498787758.25
60499912743.75
```
This pr fixes this, with and without replication
```
60500293976.77
```
/cc @related-reviewer
/assign @main-reviewer
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]