Skip to content

feat(feature-flags): generalize driver-side cache - #973

Closed
cathleeny wants to merge 2 commits into
databricks:mainfrom
cathleeny:feature/general-driver-flags
Closed

cathleeny wants to merge 2 commits into
databricks:mainfrom
cathleeny:feature/general-driver-flags

Conversation

@cathleeny

Copy link
Copy Markdown
Collaborator

What type of PR is this?

  • Refactor
  • Feature

Description

Generalize the existing feature-flag cache for driver-owned flags on the Thrift path and before kernel/session initialization, once authenticated transport is available.

  • Share raw flag values by workspace ID, with normalized host as a fallback; keep credentials and HTTP clients caller-owned.
  • Add typed Boolean, int32, int64, double, string, and string-list getters. Integer validation uses standard-library fixed-width types.
  • Replace the old generic getter with the Boolean getter in telemetry, preserving explicit opt-in/out behavior.
  • Keep the blocking initial fetch and background refresh, retain stale values on refresh failures, and avoid queuing duplicate refreshes.

No kernel version bump, new kernel-selection flag, or automatic pre-kernel GET is included.

How is this tested?

  • Unit tests
  • Full non-real-kernel unit suite: 1,032 passed, 5 skipped, 1 deselected; 351 subtests passed.
  • Focused telemetry/feature-flag suite: 58 passed.
  • Black and mypy checks passed.
  • Covers all six types, defaults/range validation, workspace sharing, and caller-owned refresh/authentication.

Signed-off-by: Cathleen Yan <58714163+cathleeny@users.noreply.github.com>
Signed-off-by: Cathleen Yan <58714163+cathleeny@users.noreply.github.com>
@cathleeny

Copy link
Copy Markdown
Collaborator Author

Replaced by #974, a direct upstream draft with identical commits. Closing this fork-based draft.

@cathleeny cathleeny closed this Oct 6, 2026

This branch had an error being deployed

1 failed deployment
azure-prod — 0ea879ac Deployed Oct 6, 2026 by cathleeny via test-with-coverage #860
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.

1 participant