Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Disable deprecated druid connector by default #8512

Merged

Conversation

willbarrett
Copy link
Member

CATEGORY

Choose one

  • Bug Fix
  • Enhancement (new features, refinement)
  • Refactor
  • Add tests
  • Build / Development Environment
  • Documentation

SUMMARY

I've been informed by @mistercrunch that the Druid connector is deprecated in favor of the Druid SQLAlchemy engine. After a recent PR ( #8482 ) re-enabled the function of the DRUID_IS_ACTIVE flag, I figured I'd follow through and enshrine the deprecation in code by defaulting DRUID_IS_ACTIVE to False.

BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF

TEST PLAN

ADDITIONAL INFORMATION

  • Has associated issue:
  • Changes UI
  • Requires DB Migration.
  • Confirm DB Migration upgrade and downgrade tested.
  • Introduces new feature or API
  • Removes existing feature or API (only by default, can be re-enabled)

REVIEWERS

@mistercrunch @dpgaspar @betodealmeida

Copy link
Member

@dpgaspar dpgaspar left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This can be a breaking change, checked docs and there is a note already but without a version target for removal. We should add a note on UPDATING.md.

Tests are failing, prob just need update, removing the now non existent permissions

@john-bodley
Copy link
Member

@willbarrett it’s not deprecated yet, however there is merit in swaying new installations to prefer Druid SQL over the legacy native JSON-based query API. For context the deprecation of the native Druid connector is discussed in SIP-11.

@willbarrett
Copy link
Member Author

Thanks for the link @john-bodley - did that SIP go through an Apache vote process? Do you know if it was approved?

@john-bodley
Copy link
Member

@willbarrett the SIP hasn't been voted on and there was some initial push back due to non-feature parity. I know that Druid SQL is evolving but I'm uncertain whether all sketches (and other unique features) are supported.

Note for context at Airbnb we're hoping to migrate away from the native Druid connector to Druid SQL and I'm currently working on a feasibility study and documenting what needs to happen in order to migrate a chart between the connectors. I may share a sanitized version of the doc with the community.

@willbarrett
Copy link
Member Author

OK. I need to think about how to handle this situation appropriately. I'm going to leave this PR as-is for a while.

@mistercrunch
Copy link
Member

Sketches seem to be supported, check out the APPROX_* functions here: https://druid.apache.org/docs/latest/querying/sql.html

I'd still change the default, and add a line in UPDATING.md, @willbarrett this file is where we document breaking changes, or notifications that are relevant to people upgrading: https://github.com/apache/incubator-superset/blob/master/UPDATING.md

@willbarrett willbarrett force-pushed the wbarrett/default-druid-flag-to-false branch from 2be5d5f to 0c305aa Compare November 25, 2019 21:40
@codecov-io
Copy link

codecov-io commented Nov 27, 2019

Codecov Report

Merging #8512 into master will decrease coverage by 0.05%.
The diff coverage is 100%.

Impacted file tree graph

@@            Coverage Diff            @@
##           master   #8512      +/-   ##
=========================================
- Coverage   65.76%   65.7%   -0.06%     
=========================================
  Files         482     482              
  Lines       23824   23834      +10     
  Branches     2594    2594              
=========================================
- Hits        15667   15661       -6     
- Misses       7984    8000      +16     
  Partials      173     173
Impacted Files Coverage Δ
superset/config.py 89.86% <100%> (ø) ⬆️
superset/connectors/druid/views.py 64% <0%> (-5.34%) ⬇️
superset/views/base.py 72.27% <0%> (-0.91%) ⬇️
superset/connectors/druid/models.py 81.83% <0%> (-0.6%) ⬇️
superset/db_engine_specs/presto.py 22.58% <0%> (-0.06%) ⬇️
superset/sql_lab.py 78.03% <0%> (+0.1%) ⬆️
superset/app.py 80.13% <0%> (+1.15%) ⬆️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update acf0753...f2d0d3a. Read the comment docs.

@mistercrunch mistercrunch merged commit 16c0599 into apache:master Nov 27, 2019
# Druid supports a SQL interface in its newer versions.
# Setting this flag to True enables the deprecated, API-based Druid
# connector. This feature may be removed at a future date.
DRUID_IS_ACTIVE = False
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@willbarret apologies for not mentioning this sooner but can we rename this to something more specific, i.e., DRUID_NATIVE_IS_ACTIVE or DRUID_NOSQL_IS_ACTIVE?

@mistercrunch mistercrunch added 🏷️ bot A label used by `supersetbot` to keep track of which PR where auto-tagged with release labels 🚢 0.36.0 labels Feb 28, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🏷️ bot A label used by `supersetbot` to keep track of which PR where auto-tagged with release labels size/XS 🚢 0.36.0
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants