-
Notifications
You must be signed in to change notification settings - Fork 15.7k
fix: Enable DuckDB examples loading in showtime ephemeral environments #35294
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
base: master
Are you sure you want to change the base?
Conversation
…ronments This adds the missing SUPERSET__SQLALCHEMY_EXAMPLES_URI environment variable to the ECS task definition used by showtime ephemeral environments. Without this configuration, showtime environments were unable to load examples because the container didn't know where to find the DuckDB examples file that was downloaded during Docker build (via LOAD_EXAMPLES_DUCKDB=true). The URI matches what's used in docker-compose.yml and docker-compose-light.yml, with read-only access mode for safety in ephemeral environments. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
This fixes an issue where the LOAD_EXAMPLES_DUCKDB build argument was being ignored during multi-stage Docker builds, causing showtime ephemeral environments to fail loading examples. Problem: The ARG was declared inside the python-common stage, making it unavailable when passed via --build-arg to the showtime target. Solution: Move the ARG declaration to global scope (before any FROM) and re-declare it in the python-common stage where it's used. This follows Docker's multi-stage build ARG scope rules. This fix ensures that when showtime builds with: docker buildx build --build-arg LOAD_EXAMPLES_DUCKDB=true --target showtime The DuckDB examples file will actually be downloaded during the build. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
…ime environments" This reverts commit 55e3da4.
🎪 Showtime deployed environment on GHA for 482b710 • Environment: http://44.252.37.116:8080 (admin/admin) |
Updated to use duckdb==0.10.2 and duckdb-engine==0.12.1, which are the same versions used in the motherduck configuration that are known to work with Superset's DuckDB integration.
🎪 Showtime deployed environment on GHA for 1772412 • Environment: http://54.200.15.21:8080 (admin/admin) |
Summary
This PR fixes two critical issues preventing DuckDB examples from loading in showtime ephemeral environments:
LOAD_EXAMPLES_DUCKDB
build argument was being ignoredunhashable type: '_duckdb.typing.DuckDBPyType'
errorsProblems Fixed
1. Docker Build Argument Scope
Issue: The
LOAD_EXAMPLES_DUCKDB
ARG was declared inside thepython-common
stage, making it unavailable when passed via--build-arg
to theshowtime
target in multi-stage builds.Fix: Move ARG declaration to global scope and re-declare in the stage where it's used.
2. DuckDB Version Compatibility
Issue: Current versions
duckdb==1.3.2
andduckdb-engine==0.17.0
have type system compatibility issues with Superset's DuckDB integration, causing connection failures.Fix: Use proven working versions
duckdb==0.10.2
andduckdb-engine==0.12.1
(same as motherduck config).Testing
✅ Local testing confirms both fixes work:
Before/After
Before:
LOAD_EXAMPLES_DUCKDB=true
→ No examples file downloadedAfter:
Impact
This enables showtime ephemeral environments to successfully load and display examples, making them much more useful for testing and demonstration purposes.
🤖 Generated with Claude Code