[ https://issues.apache.org/jira/browse/FLINK-6018?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
sunjincheng updated FLINK-6018: ------------------------------- Description: The code snippet currently in the `AbstractKeyedStateBackend # getPartitionedState` method, as follows: {code} line 352: // TODO: This is wrong, it should throw an exception that the initialization has not properly happened line 353: if (!stateDescriptor.isSerializerInitialized()) { line 354: stateDescriptor.initializeSerializerUnlessSet(new ExecutionConfig()); line 354 } {code} I hope this code has a little improvement to the following: approach 1: According to the `TODO` information we throw an exception {code} if (!stateDescriptor.isSerializerInitialized()) { throw new IllegalStateException("The serializer of the descriptor has not been initialized!"); } {code} approach 2: Try to initialize and remove `if (!stateDescriptor.isSerializerInitialized()) {` logic. {code} stateDescriptor.initializeSerializerUnlessSet(new ExecutionConfig()); {code} Meanwhile, If we use the approach 2, I suggest that `AbstractKeyedStateBackend` add a `private final ExecutionConfig executionConfig` property. then we can change the code like this: {code} stateDescriptor.initializeSerializerUnlessSet(executionConfig); {code} Are the above suggestions reasonable for you? Welcome anybody's feedback and corrections. was: The code snippet currently in the `AbstractKeyedStateBackend # getPartitionedState` method, as follows: {code} // TODO: This is wrong, it should throw an exception that the initialization has not properly happened if (!stateDescriptor.isSerializerInitialized()) { stateDescriptor.initializeSerializerUnlessSet(new ExecutionConfig()); } {code} I hope this code has a little improvement to the following: approach 1: According to the `TODO` information we throw an exception {code} if (!stateDescriptor.isSerializerInitialized()) { throw new IllegalStateException("The serializer of the descriptor has not been initialized!"); } {code} approach 2: Try to initialize and remove `if (!stateDescriptor.isSerializerInitialized()) {` logic. {code} stateDescriptor.initializeSerializerUnlessSet(new ExecutionConfig()); {code} Meanwhile, If we use the approach 2, I suggest that `AbstractKeyedStateBackend` add a `private final ExecutionConfig executionConfig` property. then we can change the code like this: {code} stateDescriptor.initializeSerializerUnlessSet(executionConfig); {code} Are the above suggestions reasonable for you? Welcome anybody's feedback and corrections. > Minor improvements about `AbstractKeyedStateBackend#getPartitionedState` > method > ------------------------------------------------------------------------------- > > Key: FLINK-6018 > URL: https://issues.apache.org/jira/browse/FLINK-6018 > Project: Flink > Issue Type: Improvement > Components: DataStream API, State Backends, Checkpointing > Reporter: sunjincheng > Assignee: sunjincheng > > The code snippet currently in the `AbstractKeyedStateBackend # > getPartitionedState` method, as follows: > {code} > line 352: // TODO: This is wrong, it should throw an exception that the > initialization has not properly happened > line 353: if (!stateDescriptor.isSerializerInitialized()) { > line 354: stateDescriptor.initializeSerializerUnlessSet(new > ExecutionConfig()); > line 354 } > {code} > I hope this code has a little improvement to the following: > approach 1: > According to the `TODO` information we throw an exception > {code} > if (!stateDescriptor.isSerializerInitialized()) { > throw new IllegalStateException("The serializer of the > descriptor has not been initialized!"); > } > {code} > approach 2: > Try to initialize and remove `if (!stateDescriptor.isSerializerInitialized()) > {` logic. > {code} > stateDescriptor.initializeSerializerUnlessSet(new ExecutionConfig()); > {code} > Meanwhile, If we use the approach 2, I suggest that > `AbstractKeyedStateBackend` add a `private final ExecutionConfig > executionConfig` property. then we can change the code like this: > {code} > stateDescriptor.initializeSerializerUnlessSet(executionConfig); > {code} > Are the above suggestions reasonable for you? > Welcome anybody's feedback and corrections. -- This message was sent by Atlassian JIRA (v6.3.15#6346)