Skip to content

Commit beb8dfa

Browse files
[Storage][STG 100] Prepare branch for GA + cherry-pick block size change (#44355)
1 parent 6c9b459 commit beb8dfa

24 files changed

Lines changed: 121 additions & 21 deletions

File tree

sdk/storage/azure-storage-blob/CHANGELOG.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,14 @@
11
# Release History
22

3+
## 12.28.0 (Unreleased)
4+
5+
### Features Added
6+
- Stable release of features from 12.28.0b1
7+
8+
### Other Changes
9+
- Changed the default `connection_data_block_size` for all clients from 4 KiB to 256 KiB. This should result in
10+
significantly better throughput on large file downloads for most environments.
11+
312
## 12.28.0b1 (2025-12-04)
413

514
### Features Added

sdk/storage/azure-storage-blob/azure/storage/blob/_shared/base_client.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,14 @@
3535
)
3636

3737
from .authentication import SharedKeyCredentialPolicy
38-
from .constants import CONNECTION_TIMEOUT, DEFAULT_OAUTH_SCOPE, READ_TIMEOUT, SERVICE_HOST_BASE, STORAGE_OAUTH_SCOPE
38+
from .constants import (
39+
CONNECTION_TIMEOUT,
40+
DATA_BLOCK_SIZE,
41+
DEFAULT_OAUTH_SCOPE,
42+
READ_TIMEOUT,
43+
SERVICE_HOST_BASE,
44+
STORAGE_OAUTH_SCOPE,
45+
)
3946
from .models import LocationMode, StorageConfiguration
4047
from .parser import DEVSTORE_ACCOUNT_KEY, _get_development_storage_endpoint
4148
from .policies import (
@@ -268,6 +275,7 @@ def _create_pipeline(
268275
transport = kwargs.get("transport")
269276
kwargs.setdefault("connection_timeout", CONNECTION_TIMEOUT)
270277
kwargs.setdefault("read_timeout", READ_TIMEOUT)
278+
kwargs.setdefault("connection_data_block_size", DATA_BLOCK_SIZE)
271279
if not transport:
272280
transport = RequestsTransport(**kwargs)
273281
policies = [

sdk/storage/azure-storage-blob/azure/storage/blob/_shared/base_client_async.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,14 @@
2424

2525
from .authentication import SharedKeyCredentialPolicy
2626
from .base_client import create_configuration
27-
from .constants import CONNECTION_TIMEOUT, DEFAULT_OAUTH_SCOPE, READ_TIMEOUT, SERVICE_HOST_BASE, STORAGE_OAUTH_SCOPE
27+
from .constants import (
28+
CONNECTION_TIMEOUT,
29+
DATA_BLOCK_SIZE,
30+
DEFAULT_OAUTH_SCOPE,
31+
READ_TIMEOUT,
32+
SERVICE_HOST_BASE,
33+
STORAGE_OAUTH_SCOPE,
34+
)
2835
from .models import StorageConfiguration
2936
from .parser import DEVSTORE_ACCOUNT_KEY, _get_development_storage_endpoint
3037
from .policies import (
@@ -109,6 +116,7 @@ def _create_pipeline(
109116
transport = kwargs.get("transport")
110117
kwargs.setdefault("connection_timeout", CONNECTION_TIMEOUT)
111118
kwargs.setdefault("read_timeout", READ_TIMEOUT)
119+
kwargs.setdefault("connection_data_block_size", DATA_BLOCK_SIZE)
112120
if not transport:
113121
try:
114122
from azure.core.pipeline.transport import ( # pylint: disable=non-abstract-transport-import

sdk/storage/azure-storage-blob/azure/storage/blob/_shared/constants.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,10 @@
99

1010
X_MS_VERSION = _SUPPORTED_API_VERSIONS[-1]
1111

12-
# Default socket timeouts, in seconds
12+
# Connection defaults
1313
CONNECTION_TIMEOUT = 20
1414
READ_TIMEOUT = 60
15+
DATA_BLOCK_SIZE = 256 * 1024
1516

1617
DEFAULT_OAUTH_SCOPE = "/.default"
1718
STORAGE_OAUTH_SCOPE = "https://storage.azure.com/.default"

sdk/storage/azure-storage-blob/azure/storage/blob/_version.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,4 @@
44
# license information.
55
# --------------------------------------------------------------------------
66

7-
VERSION = "12.28.0b1"
7+
VERSION = "12.28.0"

sdk/storage/azure-storage-blob/setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@
5656
url='https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/storage/azure-storage-blob',
5757
keywords="azure, azure sdk",
5858
classifiers=[
59-
'Development Status :: 4 - Beta',
59+
'Development Status :: 5 - Production/Stable',
6060
'Programming Language :: Python',
6161
'Programming Language :: Python :: 3 :: Only',
6262
'Programming Language :: Python :: 3',

sdk/storage/azure-storage-file-datalake/CHANGELOG.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,14 @@
11
# Release History
22

3+
## 12.23.0 (Unreleased)
4+
5+
### Features Added
6+
- Stable release of features from 12.23.0b1
7+
8+
### Other Changes
9+
- Changed the default `connection_data_block_size` for all clients from 4 KiB to 256 KiB. This should result in
10+
significantly better throughput on large file downloads for most environments.
11+
312
## 12.23.0b1 (2025-12-04)
413

514
### Features Added

sdk/storage/azure-storage-file-datalake/azure/storage/filedatalake/_shared/base_client.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,14 @@
3535
)
3636

3737
from .authentication import SharedKeyCredentialPolicy
38-
from .constants import CONNECTION_TIMEOUT, DEFAULT_OAUTH_SCOPE, READ_TIMEOUT, SERVICE_HOST_BASE, STORAGE_OAUTH_SCOPE
38+
from .constants import (
39+
CONNECTION_TIMEOUT,
40+
DATA_BLOCK_SIZE,
41+
DEFAULT_OAUTH_SCOPE,
42+
READ_TIMEOUT,
43+
SERVICE_HOST_BASE,
44+
STORAGE_OAUTH_SCOPE,
45+
)
3946
from .models import LocationMode, StorageConfiguration
4047
from .parser import DEVSTORE_ACCOUNT_KEY, _get_development_storage_endpoint
4148
from .policies import (
@@ -268,6 +275,7 @@ def _create_pipeline(
268275
transport = kwargs.get("transport")
269276
kwargs.setdefault("connection_timeout", CONNECTION_TIMEOUT)
270277
kwargs.setdefault("read_timeout", READ_TIMEOUT)
278+
kwargs.setdefault("connection_data_block_size", DATA_BLOCK_SIZE)
271279
if not transport:
272280
transport = RequestsTransport(**kwargs)
273281
policies = [

sdk/storage/azure-storage-file-datalake/azure/storage/filedatalake/_shared/base_client_async.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,14 @@
2424

2525
from .authentication import SharedKeyCredentialPolicy
2626
from .base_client import create_configuration
27-
from .constants import CONNECTION_TIMEOUT, DEFAULT_OAUTH_SCOPE, READ_TIMEOUT, SERVICE_HOST_BASE, STORAGE_OAUTH_SCOPE
27+
from .constants import (
28+
CONNECTION_TIMEOUT,
29+
DATA_BLOCK_SIZE,
30+
DEFAULT_OAUTH_SCOPE,
31+
READ_TIMEOUT,
32+
SERVICE_HOST_BASE,
33+
STORAGE_OAUTH_SCOPE,
34+
)
2835
from .models import StorageConfiguration
2936
from .parser import DEVSTORE_ACCOUNT_KEY, _get_development_storage_endpoint
3037
from .policies import (
@@ -109,6 +116,7 @@ def _create_pipeline(
109116
transport = kwargs.get("transport")
110117
kwargs.setdefault("connection_timeout", CONNECTION_TIMEOUT)
111118
kwargs.setdefault("read_timeout", READ_TIMEOUT)
119+
kwargs.setdefault("connection_data_block_size", DATA_BLOCK_SIZE)
112120
if not transport:
113121
try:
114122
from azure.core.pipeline.transport import ( # pylint: disable=non-abstract-transport-import

sdk/storage/azure-storage-file-datalake/azure/storage/filedatalake/_shared/constants.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,10 @@
99

1010
X_MS_VERSION = _SUPPORTED_API_VERSIONS[-1]
1111

12-
# Default socket timeouts, in seconds
12+
# Connection defaults
1313
CONNECTION_TIMEOUT = 20
1414
READ_TIMEOUT = 60
15+
DATA_BLOCK_SIZE = 256 * 1024
1516

1617
DEFAULT_OAUTH_SCOPE = "/.default"
1718
STORAGE_OAUTH_SCOPE = "https://storage.azure.com/.default"

0 commit comments

Comments
 (0)