Skip to content

Serialize Databricks credential refreshes across host and runner processes #5393

Description

@dbczumar

Problem

On Aug 19–22, concurrent Omnigent host, runner, and harness processes on one machine refreshed the same Databricks OAuth profile independently. Refresh-token rotation then invalidated another process's refresh token, causing repeated disconnects and requiring databricks auth login.

Expected behavior

All processes on a machine should share one token publication and serialize refresh for each profile/workspace pair. Permanent login failures should stop refresh storms, recover automatically after login, and preserve existing sessions.

Acceptance criteria

  • One machine-wide refresh at a time per profile and workspace
  • Host, runner, harness, forwarding, policy, MCP, and routing paths use it
  • Permanent refresh failure creates a rate-limited recoverable state
  • Re-login recovery validates the token against the workspace
  • Concurrent-process, crash, timeout, unsafe-file, and reconnect behavior is tested
  • A repository guard prevents new direct SDK refresh paths

Metadata

Metadata

Assignees

Labels

FeatureNew feature or requestP2-mediumPriority: bug with workaround, important feature requestcomp:authAuthentication and credentialscomp:runnerComponent: agent runner, execution enginecomp:serverComponent: server, API, session managementtriagedIssue has been triaged by the bot

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions