Sanil15 opened a new pull request #1475:
URL: https://github.com/apache/samza/pull/1475


   **Issue:** BaseKeyValueStorageEngine does a null check on keySerde and 
msgSerde, however this null check might only apply to some StorageEngine like 
RocksDbStorageEngine
   
   If we want to add a new KeyValueStorageEngine for Samza which itself handles 
serialization/deserialization of KeyValue messages the type of Serde you want 
to use with it is null. Since BaseKeyValueStorageEngine assumes serdes as 
non-null while constructing the KeyValueStore it throws a null / serde not 
found exception
   
   **Changes:** Push the non-null serde validation for key and msg serde down 
to RocksDbKeyValueStorageEngineFactory
   
   **Tests:** Added a unit test
   
   **API Changes:** Yes
   
   BaseKeyValueStorageEngineFactory#getKeyStore has two new serde arguments
   
   ```
    protected abstract KeyValueStore<byte[], byte[]> getKVStore(String 
storeName,
         `Serde<K> keySerde,`
         `Serde<V> msgSerde,`
         File storeDir,
         MetricsRegistry registry,
         SystemStreamPartition changeLogSystemStreamPartition,
         JobContext jobContext,
         ContainerContext containerContext,
         StoreMode storeMode); {
   
   }
   ```
   
   **Upgrade Instructions:** 
   
   If a user class is extending BaseKeyValueStorageEngineFactory they are 
required to do a null check for serde in the concrete implementation of 
StorageEngineFactories
   
   
   Usage Instructions: None


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

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to