Github user tillrohrmann commented on a diff in the pull request:

    https://github.com/apache/flink/pull/6071#discussion_r194660815
  
    --- Diff: 
flink-runtime/src/main/java/org/apache/flink/runtime/io/network/buffer/ReadOnlySlicedNetworkBuffer.java
 ---
    @@ -75,12 +75,12 @@ private ReadOnlySlicedNetworkBuffer(ByteBuf buffer, int 
index, int length, int m
     
        @Override
        public ByteBuf unwrap() {
    -           return super.unwrap().unwrap();
    +           return super.unwrap();
    --- End diff --
    
    But isn't it a bit counter-intuitive that you instantiate a 
`ReadOnlySlicedNetworkBuffer` with a `NetworkBuffer` and when you call 
`ReadOnlySlicedNetworkBuffer.unwrap` you don't get a `NetworkBuffer` back but a 
`SlicedByteBuf`? Thus, you need to know the internals of this class to know 
that you have to call twice `unwrap` to obtain the `NetworkBuffer`. This shows 
for example in the `NetworkBufferTest` where we always call 
`slice.unwrap().unwrap()`.
    
    What exactly did change with the structure of nested classes that this 
change is necessary?


---

Reply via email to