Skip to content

Fix #1264#1265

Open
davwil wants to merge 1 commit intodatabricks:mainfrom
davwil:fix/1264-request-body-error
Open

Fix #1264#1265
davwil wants to merge 1 commit intodatabricks:mainfrom
davwil:fix/1264-request-body-error

Conversation

@davwil
Copy link

@davwil davwil commented Feb 16, 2026

What changes are proposed in this pull request?

  • WHAT: Fixes TypeError crash in RoundTrip.generate() when handling unparseable API error responses
    and corrects the SDK issue tracker URL in error messages from databricks-sdk-go to databricks-sdk-py

  • WHY: When _BaseClient.do() receives string/bytes data, it wraps it in BytesIO for retry/seek support (line 167-169 in _base_client.py). If the API returns an unparseable error response, _unknown_error() creates a RoundTrip object to generate debug information. However, it doesn't pass raw=True, causing _redacted_dump() to be called with the BytesIO object instead of a string. This results in len(body) failing with TypeError: object of type '_io.BytesIO' has no len().

  The fix checks if request.body is a string before calling _redacted_dump(). Non-string bodies (like BytesIO) are now logged as [raw stream], consistent with how raw streams are handled elsewhere in the codebase.

  Fixes #1264

How is this tested?

  • Added test_unknown_error_with_bytesio_request_body() in tests/test_errors.py that reproduces the exact scenario from the issue
  • Updated 3 existing test cases to use the corrected SDK URL

Signed-off-by: David Wilhelm <david.wilhelm@qaware.de>
@davwil davwil force-pushed the fix/1264-request-body-error branch from f69d941 to 5cf23e6 Compare February 16, 2026 13:30
@github-actions
Copy link

If integration tests don't run automatically, an authorized user can run them manually by following the instructions below:

Trigger:
go/deco-tests-run/sdk-py

Inputs:

  • PR number: 1265
  • Commit SHA: 5cf23e67906efb5c0e5807643da8c3ff4f01c63a

Checks will be approved automatically on success.

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.

[ISSUE] TypeError in _unknown_error() when API returns unparseable error on streaming request

1 participant