Myracle commented on issue #7226: FLINK-11050 add lowerBound and upperBound for 
optimizing RocksDBMapState's entries
URL: https://github.com/apache/flink/pull/7226#issuecomment-449844234
 
 
   Thank you @StefanRRichter for your reply. The items you mentioned are all 
right and I learn a lot from them. But consider the great performance after my 
optimization, I think that this will help more persons.  My code is already 
used in our company's online platform and it is stable for a long time. We just 
use IntervalJoin to deal our data. 
   
   Following your suggestions and for code-simple, I think it's better to add 
filter(lowerBound, upperBound) rather than entries(lowerBound, upperBound) in 
MapState in semantics, although their function is the same. Also, we add 
isIntervalJoinSeekOptimization in config to open the optimization. This 
optimization is not open to users.
   
   Currently, only rocksDB's filter is supported. Because rocksDB's storage is 
different than others and only rocksDB supports large state . Also, rocksDB 
supports lowerBound and upperBound interfaces for users to optimize seek. 
Consider the specific implement for rocksDB, we only open the optimization by 
config parameter. 
   
    For comparable, we will give a note in the comment to warn developers of 
key-types. Anyone who wants to use this function must guarantee the comparison 
for the key. As for my case in the intervalJoinOperator, the key is timestamp 
and it is comparable in byte-lexicographical.
   
   For upperBound, rocksDB does't support setIterateUpperBound in ReadOptions 
until the rocksdbjni version 5.9.2. Flink rocksdbjni's version is 5.7.5.
   
   Above is my thought. The code is modified too. Thank you.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

Reply via email to