Details
-
Improvement
-
Status: Resolved
-
Minor
-
Resolution: Fixed
-
None
-
None
-
None
Description
The RocksDB state backend uses a lot package private methods and fields which makes it very hard to subclass the different parts for added functionality. I think these should be protected instead.
Also the AbstractRocksDBState declares some methods final when there are use-cases when a subclass migh want to call them.
Just to give you an example I am creating a version of the value state which would keep a small cache on heap. For this it would be enough to subclass the RockDBStateBackend and RocksDBVAlue state classes if the above mentioned changes were made. Now I have to use reflection to access package private fields and actually copy classes due to final methods.