State

[progress record]:

Proposed time: 2022/04/29

Discussion time:

Acceptance time:

Complete time:

[issues]: https://github.com/apache/incubator-linkis/issues/2082

[email]:

[release]: 1.2.0

[proposer]:

Motivation & Background

The new features introduced by linkis in 1.1.0. The management of data sources supports users to configure the relevant configuration of data source connections, and by using these connection configurations, create connections and query the metadata data of the corresponding library. Metadata service positioning for data sources is a query service that only provides metadata, and does not involve modifying metadata information. Therefore, the metadata query service module is named: linkis-metedata-manager-server with manager, which is easy to cause misunderstanding and does not match the function positioning. The optimization adjustment is manager->query, that is, linkis-metedata-query-server. At present, the SDK client LinkisMetaDataRemoteClient for metadata query uses the data source id to associate to obtain the configuration. For upstream users, the data source id attribute is the self-incrementing id of a data table, which is too abstract and has no actual specific meaning. It is recommended to optimize For association through the data source name parameter.

Basic concept

  • Data source: We call database services that can provide data storage as databases, such as mysql/hive/kafka. The data source defines the configuration information for connecting to the actual database. The configuration information is mainly the address required for the connection and user authentication information. , connection parameters, etc.
  • Metadata: single refers to the metadata of the database, which refers to the data that defines the data structure and the data of various object structures of the database. For example, the database name, table name, column name, field length, type and other information data in the database.

Expect to achieve goals

  • Module naming adjustment linkis-metedata-manager-server->linkis-metedata-query-server
  • Metadata LinkisMetaDataRemoteClient uses the key input parameter to adjust from the data source id to the data source name name

Implementation plan

  • 1. When the client builds the request entity class object, the original dataSourceId is adjusted to the name dataSourceName 
  • 2. The input parameter of the relevant back-end http interface is adjusted from the original dataSourceId to dataSourceName, and the data source configuration is queried through dataSourceName to connect to the database

Things to Consider & Note:

  • Do you need to consider the compatibility of the original parameter method?

Changes


Modification Detail
1
Modification of maven module


2Modification of HTTP interface
3Modification of the client interface
4Modification of database table structure
5Modification of configuration item
6Modification Error code 
7Modifications for Third Party Dependencies

Compatibility, Deprecation, and Migration Plan

  • What impact (if any) will there be on existing users?
  • If we are changing behavior, how will we phase out the older behavior?
  • If we require special migration tools, describe them here.
  • When will we remove the existing behavior?