[
https://issues.apache.org/jira/browse/FLINK-3798?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15251593#comment-15251593
]
ASF GitHub Bot commented on FLINK-3798:
---------------------------------------
Github user aljoscha commented on a diff in the pull request:
https://github.com/apache/flink/pull/1918#discussion_r60547896
--- Diff:
flink-contrib/flink-statebackend-rocksdb/src/main/java/org/apache/flink/contrib/streaming/state/RocksDBValueState.java
---
@@ -64,7 +64,7 @@
* @param stateDesc The state identifier for the state. This contains
name
* and can create a default state value.
*/
- RocksDBValueState(ColumnFamilyHandle columnFamily,
+ public RocksDBValueState(ColumnFamilyHandle columnFamily,
--- End diff --
Ah I see, you're right. Could you make all of the State constructors public
then? Just for consistency... 😃
> Clean up RocksDB state backend access modifiers
> -----------------------------------------------
>
> Key: FLINK-3798
> URL: https://issues.apache.org/jira/browse/FLINK-3798
> Project: Flink
> Issue Type: Improvement
> Components: Streaming Connectors
> Reporter: Gyula Fora
> Assignee: Gyula Fora
> Priority: Minor
>
> 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.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)