Skip to content

docs(tableau trigger): document PAT concurrency and the poll-mode timeout - #1118

Open
terezaskalova wants to merge 1 commit into
mainfrom
docs/tableau-trigger-pat-concurrency
Open

terezaskalova wants to merge 1 commit into
mainfrom
docs/tableau-trigger-pat-concurrency

Conversation

@terezaskalova

Copy link
Copy Markdown
Contributor

Jira issue(s): SUPPORT-17525

Changes:

  • Adds a Concurrency and shared tokens section to the Tableau Extract Refresh Trigger page, placed above Notes per the "limits at the bottom" house rule.
  • Adds a one-line separate-PAT note under Authorization pointing at that section.
  • Adds a cross-reference under Poll Mode covering the billing consequence and the fact that a lost session does not fail fast.

Why: a customer hit this repeatedly and pointed out it is documented nowhere. Their words on the gap:

There is no mention of the one-active-session-per-PAT limit, of what happens when configurations sharing the same token run concurrently, or of the resulting 401002 retry loop that burns a full hour of credits. Since this silently costs credits, I think it deserves a note in the documentation.

Three earlier tickets on the same component were answered with the same explanation, so this is a recurring support cost rather than a one-off.


Sources for each claim, in case a reviewer wants to spot-check:

  • The one-session-per-PAT limit and the direction of the termination are quoted verbatim from Tableau's PAT page (section "Understand personal access tokens"). The Tableau Server page carries the identical sentence.
  • The 401002 log excerpt is taken from a real job log, lightly anonymized (datasource name replaced).
  • The 60-second retry with no re-authentication and no poll timeout is _wait_for_finish in keboola/component-tableau-extract-refresh-trigger src/component.py, and the absence of any timeout option in component_config/configSchema.json, both at release 1.1.23.
  • Billing wording follows Project limits and developers.keboola.com/integrate/jobs, where only the processing state counts as runtime.
  • The flow-phase parallelism sentence is quoted from the flows page.

Deliberately not claimed: that 401002 proves a token collision. Tableau's error table lists it only as INVALID_AUTH_CREDENTIALS with no per-cause breakdown, so the page says it points to a collision rather than proving one.

Notes for the reviewer:

  • The new headings are sentence-case per the house style, while the surrounding page is Title Case. Happy to match the page instead if you prefer consistency within the file.
  • This page's frontmatter has no description, which the house style calls mandatory. Left alone as out of scope, but worth a follow-up.
  • A matching README change is in flight on the component repo so the in-app config description says the same thing.
  • I could not run the repo's fact-checker subagent (no .claude/agents in the clone). Every claim was verified against the primary sources listed above instead.

🤖 Generated with Claude Code

…eout

Tableau allows only one active session per Personal Access Token, so two
configurations sharing a token interrupt each other when their runs overlap.
In poll mode the losing job retries a terminated session every 60 seconds
until the one-hour container timeout, and that hour is billed. None of this
was documented, and customers hit it repeatedly.

Adds a "Concurrency and shared tokens" section, a separate-PAT note under
Authorization, and a cross-reference from Poll Mode.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@vercel

vercel Bot commented Sep 3, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
connection-docs Ready Ready Preview Sep 3, 2026 3:26pm UTC

Request Review

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