dolphinscheduler icon indicating copy to clipboard operation
dolphinscheduler copied to clipboard

[DSIP-83][Feature] Add DolphinDB datasource support to DolphinScheduler

Open eco8848 opened this issue 1 year ago • 0 comments

Search before asking

  • [X] I had searched in the DSIP and found no similar DSIP.

Motivation

Greetings,

We would like to propose adding DolphinDB as a new supported datasource in DolphinScheduler. This integration would allow users to seamlessly work with DolphinDB databases in their workflow orchestration.

Design Detail

1、Documentation additions:

  • Added English and Chinese documentation for DolphinDB datasource

  • Added DolphinDB connection parameter descriptions

  • Added UI screenshots for both languages

2、Code changes:

  • Added DolphinDB JDBC driver dependency (version 3.00.0.1)

  • Added DolphinDB constants in DataSourceConstants.java: JDBC driver class: com.dolphindb.jdbc.Driver; Validation query: "select 1"; JDBC URL prefix: jdbc:dolphindb:// 3、Configuration:

  • Added DolphinDB datasource module to the build

  • Added documentation links in docsdev.js for both English and Chinese

4、Added new files:

  • DolphinDB datasource implementation classes

  • Test classes for DolphinDB datasource

  • UI related changes for DolphinDB support

The commit adds full DolphinDB integration as a new datasource type in DolphinScheduler with complete documentation, implementation, and testing support.

Compatibility, Deprecation, and Migration Plan

No response

Test Plan

  1. Unit Tests Test DolphinDB datasource connection parameters validation Test DolphinDB connection creation and pooling Test JDBC driver loading and configuration Test datasource processor functionality Test channel factory implementation Test utility methods for DolphinDB datasource
  2. Integration Tests Connection Testing Test successful connection establishment with valid credentials Test connection failure with invalid credentials Test connection timeout scenarios Test connection pool behavior Test connection string parameter variations Query Testing Test basic SELECT queries Test complex queries with joins Test query execution with different data types Test query timeout scenarios Test query error handling UI Testing Verify DolphinDB datasource form rendering Test form validation for required fields Test connection testing functionality from UI Verify proper display of connection status Test datasource creation workflow Test datasource editing functionality Test datasource deletion

Code of Conduct

eco8848 avatar Nov 19 '24 02:11 eco8848