Conversation
Issue 1: Provider Repeated Initialization Causes Resource LeakLocation: Related Context:
Problem Description:
Potential Risks:
Impact Scope:
Severity: BLOCKER Improvement Suggestions: Rationale:
Issue 2: Mapper Cache Key Does Not Include Provider TypeLocation: Related Context:
Problem Description: Potential Risks:
Impact Scope:
Severity: CRITICAL Improvement Suggestions: Rationale:
Issue 3: Configuration Merge Strategy Does Not Match DocumentationLocation: Related Context:
Problem Description: Potential Risks:
Impact Scope:
Severity: MAJOR Improvement Suggestions: Solution 1: Modify code to make job configuration take priority Solution 2: Modify documentation to state external configuration takes priority Rationale:
Issue 4: HTTP Client Not Configured With TimeoutLocation: Related Context:
Problem Description: Potential Risks:
Impact Scope:
Severity: MAJOR Improvement Suggestions: Rationale:
Issue 5: Thread Safety of Mapper in Concurrent ScenariosLocation: Related Context:
Problem Description: Potential Risks:
Impact Scope:
Severity: MAJOR Improvement Suggestions: Solution 1: Make Mapper stateless Solution 2: Ensure GravitinoClient is thread-safe Rationale:
Issue 6: Improper Handling of Null Mapper Return ValuesLocation: Related Context:
Problem Description: Potential Risks:
Impact Scope:
Severity: MAJOR Improvement Suggestions: Rationale:
Issue 7: Logs May Leak Sensitive InformationLocation: Related Context:
Problem Description: Potential Risks:
Impact Scope:
Severity: MINOR Improvement Suggestions: Rationale:
|
Related: #10554
Summary
This PR adds a DataSource SPI and runtime mapping so connectors can reference external data sources by
datasourceId. The implementation includes SPI interfaces, a mapper mechanism, a provider implementation, and the runtime wiring to resolve and merge external data-source configuration into connector configs.This SPI may evolve into a more general metadata abstraction in the future.What this PR actually adds
DataSourceProvider— provider entry point for external metadata servicesDataSourceMapper— per-connector mapper that converts external metadata into connector configdatasource_idin connector configs during job parsingUsage (example)