Skip to content

skip dataflint UI on databricks spark 4 to avoid jakarta.servlet crash#71

Merged
minskya merged 1 commit intomainfrom
DATAFLINT-5010
May 6, 2026
Merged

skip dataflint UI on databricks spark 4 to avoid jakarta.servlet crash#71
minskya merged 1 commit intomainfrom
DATAFLINT-5010

Conversation

@minskya
Copy link
Copy Markdown
Contributor

@minskya minskya commented May 6, 2026

Fixes #47

Summary

  • Databricks Runtime 17.3 is Spark 4 based but keeps javax.servlet instead of jakarta.servlet, so the Spark 4 build of DataFlint crashes the driver on startup with NoClassDefFoundError: jakarta/servlet/Servlet from DataflintJettyUtils.createStaticHandler.
  • Added isUISupported(ui): Boolean = true to DataflintPageFactory. Spark4PageFactory overrides it to return false when spark.databricks.clusterUsageTags.cloudProvider is set.
  • DataflintSparkUICommonInstaller.loadUI short-circuits with a warning when the page factory reports the UI is unsupported — no static handler, no DataFlint tab. Listeners (data export, etc.) still run.

Test plan

  • Cluster boots on DBR 17.3 LTS with the plugin installed (no NoClassDefFoundError)
  • DataFlint tab does not appear in the Databricks Spark UI; warning is logged
  • Stock OSS Spark 4 (history server / standalone): full UI still loads as before
  • Spark 3 path is unchanged

DBR 17.3 is Spark 4 based but ships javax.servlet instead of jakarta.servlet,
causing NoClassDefFoundError when DataflintJettyUtils.createStaticHandler runs
and crashing the cluster on startup (issue #47). Add isUISupported on the page
factory; Spark4PageFactory returns false on Databricks so the common loader
skips UI installation entirely. Listeners and data export still run.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@notion-workspace
Copy link
Copy Markdown

@minskya minskya merged commit ff1afe3 into main May 6, 2026
6 of 7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Cluster crash when using dataflint on Databricks runtime 17.3 LTS

2 participants