Skip to content

[FLINK-11287] [rocksdb] RocksDBListState should be using registered serializer in state meta infos#7434

Closed
tzulitai wants to merge 2 commits intoapache:masterfrom
tzulitai:FLINK-11287
Closed

[FLINK-11287] [rocksdb] RocksDBListState should be using registered serializer in state meta infos#7434
tzulitai wants to merge 2 commits intoapache:masterfrom
tzulitai:FLINK-11287

Conversation

@tzulitai
Copy link
Contributor

@tzulitai tzulitai commented Jan 8, 2019

What is the purpose of the change

RocksDBListState was using the serializer provided by the state descriptor, which is incorrect because that serializer have not been checked for compatibility or reconfigured if required.

Instead, it should be using the actual resulting registered serializer in the backend's state meta infos, which is guaranteed to have been checked for compatibility.

Brief change log

  • 9317611: the main change as described in description
  • 6b7401c: Validates the fix by activating a previously ignored test in StateBackendMigrationTestBase. That test wasn't passing due to FLINK-11073 and FLINK-11287 (which this PR fixes).

Verifying this change

The previously ignored test StateBackendMigrationTestBase.testKeyedListStateSerializerReconfiguration should now pass, as FLINK-11287 is partially the reason of why it wasn't passing before.

That test verifies that RocksDBListState is indeed using the correct, compatibility-checked / reconfigured serializer.

Does this pull request potentially affect one of the following parts:

  • Dependencies (does it add or upgrade a dependency): no
  • The public API, i.e., is any changed class annotated with @Public(Evolving): no
  • The serializers: no
  • The runtime per-record code paths (performance sensitive): no
  • Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Yarn/Mesos, ZooKeeper: no
  • The S3 file system connector: no

Documentation

  • Does this pull request introduce a new feature? no
  • If yes, how is the feature documented? not applicable

…tateSerializerReconfiguration test in StateBackendMigrationTestBase

This test was previously ignored due to 2 missing changes:
- ListSerializerSnapshot was not respecting serializer reconfiguration
  (fixed by FLINK-11073), and
- RocksDBListState did not use the correct registered state serializer
  in backend's state meta info (fixed by FLINK-11287)

With those fixes in, the test can now be activated and expected to pass.
@igalshilman
Copy link
Contributor

LGTM 👍

@tzulitai
Copy link
Contributor Author

tzulitai commented Jan 9, 2019

Thanks, merging ...

@asfgit asfgit closed this in e5ed8c8 Jan 9, 2019
tisonkun pushed a commit to tisonkun/flink that referenced this pull request Jan 17, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants