Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions DESCRIPTION.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ Source code is also available at: https://github.com/snowflakedb/snowflake-conne
- As part of this fix, `DictCursor` is no longer a subclass of `SnowflakeCursor`; use `SnowflakeCursorBase` as a superclass of both.
- Fix "No AWS region was found" error if AWS region was set in `AWS_DEFAULT_REGION` variable instead of `AWS_REGION` for `WORKLOAD_IDENTITY` authenticator
- Add `ocsp_root_certs_dict_lock_timeout` connection parameter to set the timeout (in seconds) for acquiring the lock on the OCSP root certs dictionary. Default value for this parameter is -1 which indicates no timeout.
- Fixed behaviour of trying S3 Transfer Accelerate endpoint by default for internal stages, and always getting HTTP403 due to permissions missing on purpose. Now /accelerate is not attempted.

- v3.17.4(September 22,2025)
- Added support for intermediate certificates as roots when they are stored in the trust store
Expand Down
15 changes: 12 additions & 3 deletions src/snowflake/connector/s3_storage_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -120,9 +120,17 @@ def transfer_accelerate_config(
return False
else:
if use_accelerate_endpoint is None:
use_accelerate_endpoint = self._get_bucket_accelerate_config(
self.s3location.bucket_name
)
if str(self.s3location.bucket_name).lower().startswith("sfc-"):
# SNOW-2324060: no s3:GetAccelerateConfiguration and no intention to add either
# for internal stage, thus previously the client got HTTP403 on /accelerate call
logger.debug(
"Not attempting to get bucket transfer accelerate endpoint for internal stage."
)
use_accelerate_endpoint = False
else:
use_accelerate_endpoint = self._get_bucket_accelerate_config(
self.s3location.bucket_name
)

if use_accelerate_endpoint:
self.endpoint = (
Expand All @@ -132,6 +140,7 @@ def transfer_accelerate_config(
self.endpoint = (
f"https://{self.s3location.bucket_name}.s3.amazonaws.com"
)
logger.debug(f"Using {self.endpoint} as storage endpoint.")
return use_accelerate_endpoint

@staticmethod
Expand Down
Loading