Skip to content

Tableau Server 2025.3 VDS read-metadata response change causes KeyError in LangChain #105

@mbk1991

Description

@mbk1991

Description

After upgrading to Tableau Server 2025.3, we are seeing a KeyError in our LangChain-based VDS metadata handling logic. The issue appears to be caused by a breaking change in the VDS API response schema for the endpoint below, where certain keys (e.g., logicalTableId) may no longer be present for some field objects.

Affected Endpoint

POST /api/v1/vizql-data-service/read-metadata

Error Location

In our metadata post-processing loop, we remove fields that are not needed. However, in Tableau Server 2025.3, at least one expected key is missing, causing KeyError.

File: simple_data_qa.py
Line: ~139

for field in datasource_metadata['data']:
del field['fieldName']
del field['logicalTableId']

Actual Behavior

When a field object does not include logicalTableId, the line below throws a KeyError:

del field['logicalTableId']

Expected Behavior

The VDS read-metadata response should either:

consistently include the key(s) as in prior versions, or

clearly document the schema change and provide guidance for consumers to handle missing keys safely.

Suspected Root Cause

API response schema change in Tableau Server 2025.3 for read-metadata, where logicalTableId is not guaranteed to exist in all cases.

Workaround / Suggested Fix (Client Side)

Use a safe delete pattern:

for field in datasource_metadata.get('data', []):
field.pop('fieldName', None)
field.pop('logicalTableId', None)

(or check existence before deleting)

Reference

VizQL Data Service “What’s New” (Release Notes):
https://help.tableau.com/current/api/vizql-data-service/en-us/docs/vds_whats_new.html

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions