[
https://issues.apache.org/jira/browse/FLINK-17909?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17116124#comment-17116124
]
Timo Walther commented on FLINK-17909:
--------------------------------------
I don't know if this really solves the root cause. It just adds unnecessary
computation. I think we should rather better test catalogs such as the
HiveCatalog and CatalogTable implementations instead. Doing this serialization
for a `TestCatalog` sounds better to me than doing it for the general default
catalog of the table environment.
> Make the GenericInMemoryCatalog to hold the serialized meta data to uncover
> more potential bugs
> -----------------------------------------------------------------------------------------------
>
> Key: FLINK-17909
> URL: https://issues.apache.org/jira/browse/FLINK-17909
> Project: Flink
> Issue Type: Improvement
> Components: Table SQL / API, Table SQL / Planner
> Reporter: Jark Wu
> Assignee: Jark Wu
> Priority: Major
> Fix For: 1.11.0
>
>
> Currently, the builtin {{GenericInMemoryCatalog}} hold the meta objects in
> HashMap. However, this lead to many bugs when users switch to some persisted
> catalogs, e.g. Hive Metastore. For example, FLINK-17189, FLINK-17868,
> FLINK-16021.
> That is because the builtin {{GenericInMemoryCatalog}} doesn't cover the
> important path of serialization and deserialization of meta data. We missed
> some important meta information (PK, time attributes) when serialization and
> deserialization which lead to bugs.
> So I propose to hold the serialized meta data in {{GenericInMemoryCatalog}}
> to cover the serialization and deserializtion path. The serialized meta data
> may be in the {{Map<String, String>}} properties format.
> We may lose some performance here, but {{GenericInMemoryCatalog}} is mostly
> used in demo/experiment/testing, so I think it's fine.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)