maobaolong commented on code in PR #2144:
URL: 
https://github.com/apache/incubator-uniffle/pull/2144#discussion_r1776441287


##########
server/src/main/java/org/apache/uniffle/server/ShuffleServerGrpcService.java:
##########
@@ -1241,7 +1241,8 @@ public void getLocalShuffleIndex(
           reply = builder.build();
         } catch (FileNotFoundException indexFileNotFoundException) {
           LOG.warn(
-              "Index file for {} is not found, maybe the data has been flushed 
to cold storage.",
+              "Index file for {} is not found, maybe the data has been flushed 
to cold storage "
+                  + "or still in memory buffer pool.",

Review Comment:
   @zuston It is what you said in the common case, but for the `partition 
split` case, the server 0 store the partial data of the partition in the 
memory, and server 1 store the other part of partition data in the memory too. 
then the client could read data by the `LocalFileClientReadHandler` from server 
0, but server 0 has no index file, finally, the client read data from the 
memory of server 1.
   
   It works when `MultiReplicaClientReadHandler` contains multiply 
`ComposedClientReadHandler` for multiply 
    partition `replica` or `slice`, and each `ComposedClientReadHandler` 
contains two  read handlers for two `tier` which are `MemoryClientReadHandler` 
and `getLocalfileClientReaderHandler`. 
   
   This is interesting and I learn that spend much time 😄.



-- 
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]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to