Yu Li created FLINK-12121: ----------------------------- Summary: Use composition instead of inheritance for the InternalKeyContext logic in backend Key: FLINK-12121 URL: https://issues.apache.org/jira/browse/FLINK-12121 Project: Flink Issue Type: Improvement Components: Runtime / State Backends Reporter: Yu Li Assignee: Yu Li
Commonly it's [recommended|https://stackoverflow.com/questions/2399544/difference-between-inheritance-and-composition] to favor composition over inheritance in java design, but currently in keyed backend we're using inheritance for the {{InternalKeyContext}} logic, and here we propose to change to the composition way. Another advantage of changing to the composition way is that we could remove the requirement of a heap backend instance when constructing {{HeapRestoreOperation}}, and further making sure all fields are final when constructing the {{HeapKeyedStateBackend}} -- This message was sent by Atlassian JIRA (v7.6.3#76005)