Github user shixiaogang commented on the issue:

    https://github.com/apache/flink/pull/2768
  
    @StephanEwen  Thanks a lot for your comments. 
    
    **Removing `clear()` from `State`**
    
    This change is suggested by @aljoscha who wants to let broadcast states 
share the same interface (see the discussion in 
[FLINK-5023](https://issues.apache.org/jira/browse/FLINK-5023)) . As mentioned, 
the broadcast states are read-only in some cases. Hence it's suggested not to 
provide the `clear()` method in the base `State` interface.
    
    **Changing the `State` interface**
    
    The `State` interface is typed because I want to provide the `get()` method 
for all states so that we can retrieve the data in the state (under the current 
key for keyed states). The functionality is already provided by all states 
except `ValueState` who provides the same functionality with the `value()` 
method. Providing the method for all states can help reduce some duplicated 
code in the implementation. It also makes sense for read-only states mentioned 
above.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---

Reply via email to