Dear All

Currently, we found the implementations of AppendingState#add are not the
same, taking some as example:

   - HeapReducingState will clear state if add null element
   - RocksDBReducingState will add null element if serializer can serialize
   null
   - Both HeapListState and RocksDBListState refuse to add null element —
   will throw NullPointException


we think this need to be fixed, and possible solutions include:

   1. Respect the current java doc, which said “If null is passed in, the
   state value will remain unchanged”
   2. Make all AppendingState#add refuse to add null element


We propose to apply the second solution, following the recommendation in
Guava[1].


Would love to hear your thoughts. Thanks.


Regards,

Congxian


[1] https://github.com/google/guava/wiki/UsingAndAvoidingNullExplained

Reply via email to