Class CompositeKeySerializationUtils


  • public class CompositeKeySerializationUtils
    extends Object
    Utils for RocksDB state serialization and deserialization.
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static int computeRequiredBytesInKeyGroupPrefix​(int totalKeyGroupsInJob)  
      static int extractKeyGroup​(int keyGroupPrefixBytes, byte[] rocksDBKey)  
      static boolean isAmbiguousKeyPossible​(org.apache.flink.api.common.typeutils.TypeSerializer keySerializer, org.apache.flink.api.common.typeutils.TypeSerializer namespaceSerializer)  
      static boolean isSerializerTypeVariableSized​(org.apache.flink.api.common.typeutils.TypeSerializer<?> serializer)  
      static <K> K readKey​(org.apache.flink.api.common.typeutils.TypeSerializer<K> keySerializer, org.apache.flink.core.memory.DataInputDeserializer inputView, boolean ambiguousKeyPossible)  
      static int readKeyGroup​(int keyGroupPrefixBytes, org.apache.flink.core.memory.DataInputView inputView)  
      static <N> N readNamespace​(org.apache.flink.api.common.typeutils.TypeSerializer<N> namespaceSerializer, org.apache.flink.core.memory.DataInputDeserializer inputView, boolean ambiguousKeyPossible)  
      static void readVariableIntBytes​(org.apache.flink.core.memory.DataInputView inputView, int value)  
      static void serializeKeyGroup​(int keyGroup, byte[] startKeyGroupPrefixBytes)  
      static <K> void writeKey​(K key, org.apache.flink.api.common.typeutils.TypeSerializer<K> keySerializer, org.apache.flink.core.memory.DataOutputSerializer keySerializationDataOutputView, boolean ambiguousKeyPossible)  
      static void writeKeyGroup​(int keyGroup, int keyGroupPrefixBytes, org.apache.flink.core.memory.DataOutputView keySerializationDateDataOutputView)  
      static <N> void writeNameSpace​(N namespace, org.apache.flink.api.common.typeutils.TypeSerializer<N> namespaceSerializer, org.apache.flink.core.memory.DataOutputSerializer keySerializationDataOutputView, boolean ambiguousKeyPossible)  
      static void writeVariableIntBytes​(int value, org.apache.flink.core.memory.DataOutputView keySerializationDateDataOutputView)  
    • Constructor Detail

      • CompositeKeySerializationUtils

        public CompositeKeySerializationUtils()
    • Method Detail

      • readKeyGroup

        public static int readKeyGroup​(int keyGroupPrefixBytes,
                                       org.apache.flink.core.memory.DataInputView inputView)
                                throws IOException
        Throws:
        IOException
      • extractKeyGroup

        public static int extractKeyGroup​(int keyGroupPrefixBytes,
                                          byte[] rocksDBKey)
      • readKey

        public static <K> K readKey​(org.apache.flink.api.common.typeutils.TypeSerializer<K> keySerializer,
                                    org.apache.flink.core.memory.DataInputDeserializer inputView,
                                    boolean ambiguousKeyPossible)
                             throws IOException
        Throws:
        IOException
      • readNamespace

        public static <N> N readNamespace​(org.apache.flink.api.common.typeutils.TypeSerializer<N> namespaceSerializer,
                                          org.apache.flink.core.memory.DataInputDeserializer inputView,
                                          boolean ambiguousKeyPossible)
                                   throws IOException
        Throws:
        IOException
      • writeNameSpace

        public static <N> void writeNameSpace​(N namespace,
                                              org.apache.flink.api.common.typeutils.TypeSerializer<N> namespaceSerializer,
                                              org.apache.flink.core.memory.DataOutputSerializer keySerializationDataOutputView,
                                              boolean ambiguousKeyPossible)
                                       throws IOException
        Throws:
        IOException
      • isSerializerTypeVariableSized

        public static boolean isSerializerTypeVariableSized​(@Nonnull
                                                            org.apache.flink.api.common.typeutils.TypeSerializer<?> serializer)
      • isAmbiguousKeyPossible

        public static boolean isAmbiguousKeyPossible​(org.apache.flink.api.common.typeutils.TypeSerializer keySerializer,
                                                     org.apache.flink.api.common.typeutils.TypeSerializer namespaceSerializer)
      • writeKeyGroup

        public static void writeKeyGroup​(int keyGroup,
                                         int keyGroupPrefixBytes,
                                         org.apache.flink.core.memory.DataOutputView keySerializationDateDataOutputView)
                                  throws IOException
        Throws:
        IOException
      • writeKey

        public static <K> void writeKey​(K key,
                                        org.apache.flink.api.common.typeutils.TypeSerializer<K> keySerializer,
                                        org.apache.flink.core.memory.DataOutputSerializer keySerializationDataOutputView,
                                        boolean ambiguousKeyPossible)
                                 throws IOException
        Throws:
        IOException
      • readVariableIntBytes

        public static void readVariableIntBytes​(org.apache.flink.core.memory.DataInputView inputView,
                                                int value)
                                         throws IOException
        Throws:
        IOException
      • writeVariableIntBytes

        public static void writeVariableIntBytes​(int value,
                                                 org.apache.flink.core.memory.DataOutputView keySerializationDateDataOutputView)
                                          throws IOException
        Throws:
        IOException
      • serializeKeyGroup

        public static void serializeKeyGroup​(int keyGroup,
                                             byte[] startKeyGroupPrefixBytes)
      • computeRequiredBytesInKeyGroupPrefix

        public static int computeRequiredBytesInKeyGroupPrefix​(int totalKeyGroupsInJob)