Repository navigation
UN-4224 [FIX] Fix GCS connector test connection on gcsfs 2026.x - #2320
Merged
Merged
Conversation
Since #2310 moved gcsfs from 2024.10 to 2026.10, test connection fails for every Google Cloud Storage connector with `HttpError: Required parameter: project, 400`. This is the rc.425 regression behind the staging "GCS ETL Pipeline" UI test (Submit stays disabled because test connection fails). `test_credentials()` called `info("/")`. gcsfs 2024.10 turned that into `GET b?project=<project>` (list buckets); gcsfs 2026.10 sends `GET b/` with no project, even when one is configured, and GCS rejects it. Use `ls("")`, which on 2026.10 sends exactly the old `GET b?project=...` request -- same permission, same behaviour. It is the only root-level `info` call on gcsfs in either repo. Verified against real GCS (project unstract-staging) with gcsfs 2026.10: the connector's test_credentials() now returns True; the rc.425 code fails with the same 400 seen in staging. A regression test records the gcsfs request and asserts a bucket listing that carries the project; it fails if `info("/")` comes back. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Contributor
|
Review (Greptile): the test imported `gcsfs.GCSFileSystem`, which resolves to the experimental ExtendedGcsFileSystem when gcsfs is imported before storage_compat sets GCSFS_EXPERIMENTAL_ZB_HNS_SUPPORT=false -- e.g. when this file runs alone -- so it could exercise a different client from production. Import `gcsfs.core.GCSFileSystem`, the class production runs, and pin it with a test. Passes on its own with the env var unset and even with the experimental class forced on. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
|
Contributor
Unstract test resultsPer-group results
Critical paths
|
muhammad-ali-e
approved these changes
Oct 7, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



What
HttpError: Required parameter: project, 400.Why
UN-4224 [FIX] Stop sending temperature to GPT-6 models on Bedrock, OpenAI and Azure OpenAI #2310 (UN-4224) upgraded gcsfs from 2024.10 to 2026.10.
GoogleCloudStorageFS.test_credentials()callsinfo("/"), and gcsfs changed the request it sends for that:info("/")GET b?project=<project>(list buckets) ✅GET b/, no project, even when one is configured ❌ GCS returns400 Required parameter: projectThis is the one regression from UN-4224 [FIX] Stop sending temperature to GPT-6 models on Bedrock, OpenAI and Azure OpenAI #2310 in the rc.425 regression suite:
etl-pipelines :: gcs task pipelinefails because the connector form's Submit stays disabled after Test Connection fails.POST /test_connectors/forgoogle_cloud_storage→gcsfs.retry.HttpError: Required parameter: project, 400.How
test_credentials()now callsls(""). On gcsfs 2026.10 that sends exactly the oldGET b?project=<project>request, so it needs the same permission and behaves the same.infocall on gcsfs.Can this PR break any existing features. If yes, please list possible items. If no, please explain why. (PS: Admins do not merge the PR without this section filled)
test_credentials()changes; reads and writes are untouched.Database Migrations
Env Config
Relevant Docs
Related Issues or PRs
Dependencies Versions
Notes on Testing
unstract-staging, gcsfs 2026.10.0, authenticated with a gcloud user token):test_credentials()returnsTruewith this fix.ConnectorError … Required parameter: project, 400, matching staging.tests/filesystems/test_google_cloud_storage_fs.py): records gcsfs's request and asserts aGET bthat carries the configured project, and never the project-lessGET b/. Reverting toinfo("/")makes it fail.ruff0.3.4 is clean.gcs task pipelinecovers it.Screenshots
Checklist
I have read and understood the Contribution Guidelines.
🤖 Generated with Claude Code