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

    https://github.com/apache/flink/pull/5230#discussion_r166344317
  
    --- Diff: 
flink-runtime/src/main/java/org/apache/flink/runtime/state/KeyedStateBackend.java
 ---
    @@ -38,6 +38,37 @@
         */
        void setCurrentKey(K newKey);
     
    +   /**
    +    * Returns a safe version of the current key (see {@link 
#setCurrentKey(Object)}).
    +    *
    +    * <p>"Safe" means that the user can interact with it without 
jeopardizing correctness.
    +    * This implies that:
    +    * <ol>
    +    *     <li>for the {@code MemoryStateBackend} and the {@code 
FsStateBackend} we
    +    *     return a <b>copy</b> of the actual key, while
    +    *     <li>for the {@code RocksDBStateBackend} we return the key 
itself, as returned
    +    *     by the backend.
    +    * </ol>
    +    *
    +    * <p>The copy is created using the {@link TypeSerializer#copy(Object) 
copy()} method
    +    * of the key {@link TypeSerializer}. Consequently, the correctness of 
the method assumes
    +    * a correct {@code copy()} method.
    +    *
    +    */
    +   K getCurrentKeySafe();
    --- End diff --
    
    Ok I will remove this.


---

Reply via email to