Fixes 25991: Enable https scheme support for Druid connector#27513
Fixes 25991: Enable https scheme support for Druid connector#27513mohitjeswani01 wants to merge 4 commits intoopen-metadata:mainfrom
Conversation
|
Hi there 👋 Thanks for your contribution! The OpenMetadata team will review the PR shortly! Once it has been labeled as Let us know if you need any help! |
There was a problem hiding this comment.
Pull request overview
Expands the Druid ingestion connector’s connection schema to allow explicit druid+http and druid+https SQLAlchemy URL schemes, enabling connectivity to secured endpoints while keeping druid as the default for backward compatibility.
Changes:
- Updated
druidConnection.jsonto extend thedruidSchemeenum withdruid+httpanddruid+https. - Extended ingestion unit tests to validate URL building for the new schemes.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| openmetadata-spec/src/main/resources/json/schema/entity/services/connections/database/druidConnection.json | Adds druid+http and druid+https to supported Druid schemes while preserving the default. |
| ingestion/tests/unit/test_source_connection.py | Adds assertions that Druid URL construction supports the new schemes. |
|
Hi there 👋 Thanks for your contribution! The OpenMetadata team will review the PR shortly! Once it has been labeled as Let us know if you need any help! |
|
Hi @harshach , I have addressed all the feedback from the bots (Gitar and Copilot) by updating the unit tests to use the generated DruidScheme enum members instead of raw string literals. This ensures better type-safety and consistency across the ingestion framework. Could you please review and kindly add the safe to test label so the CI workflows can run? Thank you for your time!🙏 |
|
@mohitjeswani01 since druid is available as docker, it would be good to write a integration test to make sure this works. Check the integration tests for ingestion |
|
Hi there 👋 Thanks for your contribution! The OpenMetadata team will review the PR shortly! Once it has been labeled as Let us know if you need any help! |
thanks for informing @harshach sir👋 Added an integration test for the Druid connector as requested. Created ingestion/tests/integration/druid/ following the
The test uses DruidScheme.druid (plain http) for container |
There was a problem hiding this comment.
Pull request overview
Expands the Druid database connection schema to support SQLAlchemy-style driver schemes for secured endpoints (druid+http, druid+https), and updates ingestion tests to validate URL construction and basic Druid ingestion behavior.
Changes:
- Extended
druidSchemeenum in the Druid connection JSON schema to includedruid+httpanddruid+https. - Updated unit tests to assert correct URL generation for the new schemes.
- Added a Druid integration test (with dockerized Druid) to validate metadata ingestion path.
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| openmetadata-spec/src/main/resources/json/schema/entity/services/connections/database/druidConnection.json | Adds druid+http / druid+https to the supported scheme enum. |
| ingestion/tests/unit/test_source_connection.py | Extends Druid URL unit test coverage to the new scheme variants. |
| ingestion/tests/integration/druid/test_metadata.py | New integration test validating Druid workflow discovers schemas. |
| ingestion/tests/integration/druid/conftest.py | New Druid container + service setup fixtures for integration testing. |
| ingestion/tests/integration/druid/init.py | Adds package marker for the new integration test folder. |
|
Hi there 👋 Thanks for your contribution! The OpenMetadata team will review the PR shortly! Once it has been labeled as Let us know if you need any help! |
|
Hi there 👋 Thanks for your contribution! The OpenMetadata team will review the PR shortly! Once it has been labeled as Let us know if you need any help! |
There was a problem hiding this comment.
Pull request overview
Expands the Druid connector connection schema to support explicit druid+http and druid+https SQLAlchemy schemes, and adds tests to validate URL construction and basic end-to-end metadata ingestion against a Druid container.
Changes:
- Extend
druidSchemeenum in the Druid connection JSON schema to includedruid+httpanddruid+https. - Update unit tests to assert the Druid connection URL builder emits the new schemes correctly.
- Add a new Druid integration test suite using
testcontainersto validate metadata ingestion against a running Druid instance.
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| openmetadata-spec/src/main/resources/json/schema/entity/services/connections/database/druidConnection.json | Adds druid+http and druid+https to the allowed connection schemes. |
| ingestion/tests/unit/test_source_connection.py | Extends the Druid URL unit test to cover the new schemes. |
| ingestion/tests/integration/druid/conftest.py | Introduces a Druid container fixture + service creation request for integration testing. |
| ingestion/tests/integration/druid/test_metadata.py | Runs a metadata workflow and asserts Druid schemas are discovered. |
| ingestion/tests/integration/druid/init.py | Adds package marker for the new Druid integration test suite. |
75cdc25 to
ff2c114
Compare
|
Hi there 👋 Thanks for your contribution! The OpenMetadata team will review the PR shortly! Once it has been labeled as Let us know if you need any help! |
|
hi @harshach , @PubChimps sir may i get a |
Code Review ✅ Approved 1 resolved / 1 findingsEnables HTTPS scheme support for the Druid connector by replacing string literals with DruidScheme enum members in the test suite. No issues found. ✅ 1 resolved✅ Quality: Tests use string literals instead of DruidScheme enum members
OptionsDisplay: compact → Showing less information. Comment with these commands to change:
Was this helpful? React with 👍 / 👎 | Gitar |


Description:
Fixes #25991
I worked on expanding the Druid connection JSON schema to officially support the
druid+httpanddruid+httpsschemes because the connector previously lacked the ability to connect to secured endpoints.What changes did you make?
druidConnection.jsonto expand thedruidSchemeenum from["druid"]to["druid", "druid+http", "druid+https"].defaultvalue as"druid". Therefore, no JSON migration scripts are necessary since existing connections will default correctly and remain completely unaffected.How did I test my changes?
make generate.make install_test).ingestion/tests/unit/test_source_connection.pyto assert that the URL builder correctly consumesdruid+httpanddruid+https.pytestlocally which successfully passed.Screenshots proving local test success:
Result

Type of change:
Checklist:
Fixes 25991: Enable https scheme support for Druid connectorSummary by Gitar
ingestion/tests/integration/druid/suite to verify connector functionality usingtestcontainers.druid_containerfixture to manageapache/druid:30.0.0for integration testing.This will update automatically on new commits.