Vasyl Ratushniuk
10/28/2026, 2:47 PMRocky
10/28/2026, 2:47 PMsql
ALTER SYSTEM CREATE IMAGE;
Verify the image is synchronized to all Follower FEs by checking the fe.log for "push image... push successful" before proceeding.
4. Standard Procedure:
* Disable Balancer: Disable tablet scheduling/balancing before starting:
sql
ADMIN SET FRONTEND CONFIG ("disable_balance" = "true");
ADMIN SET FRONTEND CONFIG ("disable_colocate_balance" = "true");
* Order: Upgrade all BEs (and CNs) first, then upgrade Follower FEs, and finally the Leader FE.
* Test: Perform an upgrade availability test on one BE and one FE before upgrading the entire cluster.
Downgrade Note:
If you need to downgrade back to 3.5 for any reason, v4.0 is compatible with v3.5.2 and later. Since you are on v3.5.14, your metadata will remain compatible if a rollback is necessary.
For more details on specific behavior changes in v4.0 (such as Data Cache configuration changes or materialized view behavior), refer to the StarRocks v4.0 Release Notes.
References
• release_notes/release-4.0.md
• deployment/upgrade.md
• release_notes/release-3.5.mdVasyl Ratushniuk
10/28/2026, 2:51 PMRocky
10/28/2026, 2:52 PMALTER SYSTEM CREATE IMAGE; and verify in the fe.log that the new metadata image has successfully synchronized to all Follower FEs before proceeding to the next minor version.
2. Upgrade to v4.1.6:
* Once the cluster is stable on 4.0 and the metadata image is fresh, repeat the rolling upgrade process using the v4.1.6 binaries.
Note on 4.1.6 Behavior Changes:
* Adaptive Layout: v4.1 introduces significant changes to how data is distributed (automatic tablet splitting and distribution).
* AWS SDK: The default HTTP client for the AWS SDK has switched from Poco back to the SDK's native client. If you rely on specific Poco configurations for S3/Object storage, you may need to set enable_poco_client_for_aws_sdk = true.
References
• deployment/upgrade.md
• release_notes/release-4.1.md
• release_notes/release-4.0.md
References
• deployment/upgrade.md
• release_notes/release-4.0.md
• release_notes/release-3.5.mdVasyl Ratushniuk
10/29/2026, 6:42 PMRocky
10/29/2026, 6:42 PMdatacache_enable = true: In v4.0, this is the "master switch." If set to false, it disables both the Page Cache (local) and Block Cache (remote). To keep your local Page Cache working, this must now be true.
* datacache_mem_size = 40%: This is the direct replacement for storage_page_cache_limit. It accepts percentage strings (e.g., 40%) or specific sizes (e.g., 32GB).
* block_cache_enable = false (Optional): Since you previously had datacache_enable = false, you likely were not using the disk-based cache for remote data (Data Lake/Shared-data). In v4.0, if you only want the memory-based Page Cache and want to ensure no disk space is used for caching, you can explicitly disable the Block Cache component.
2. Summary of Deprecations
The following parameters are deprecated in v4.0 and should be removed from your `be.conf`:
* storage_page_cache_limit (Use datacache_mem_size instead)
* block_cache_mem_size (Use datacache_mem_size instead)
* block_cache_disk_size (Use datacache_disk_size instead)
3. Recommended be.conf for your case:
properties
# Enable the unified Data Cache framework
datacache_enable = true
# Set the memory limit (replaces storage_page_cache_limit)
datacache_mem_size = 40%
# If you want to keep the "remote data" disk cache disabled
# to match your old 'datacache_enable = false' setting:
block_cache_enable = false
Pro-Tip: Dynamic Adjustment
In v4.0, you can adjust these settings at runtime without restarting the BE by using the UPDATE be_configs command:
sql
UPDATE be_configs SET VALUE="40%" WHERE NAME="datacache_mem_size";
Note: Changes made via SQL are not persistent across restarts unless you also update the be.conf file.
References
• release_notes/release-4.0.md
• data_source/data_cache.md
• administration/management/BE_configuration.md
References
• administration/management/BE_configuration.md
• release_notes/release-2.4.md
• data_source/data_cache.md
• release_notes/release-4.0.mdVasyl Ratushniuk
10/29/2026, 6:45 PMRocky
10/29/2026, 6:45 PMdatacache_disk_size = 0 to ensure no disk space is used for caching, but the most direct way to replicate your v3.5.14 behavior is to use the component toggle.
In v3.5.14, your configuration meant:
* Page Cache (Memory): Enabled (at 40%).
* Data Cache (Disk/Block): Disabled.
In v4.0.16, these are unified. If you want to keep the memory-based cache but completely avoid using disk space for caching, use the following configuration in your `be.conf`:
properties
# 1. Enable the unified Data Cache framework (the "master switch")
datacache_enable = true
# 2. Set your memory limit (replaces storage_page_cache_limit)
datacache_mem_size = 40%
# 3. Explicitly disable the disk-based "Block Cache" component
# This effectively replaces your old 'datacache_enable = false'
block_cache_enable = false
Why this is the recommended approach:
1. Component Control: block_cache_enable = false explicitly tells the system not to initialize the disk-based caching logic, which is cleaner than setting a size to 0.
2. Auto-scaling: v4.0 introduced datacache_auto_adjust_enable (which defaults to true). If you leave this enabled and don't set a size, StarRocks might attempt to automatically allocate disk space for the cache. Disabling block_cache_enable prevents this.
3. Verification: After upgrading and applying these settings, you can run the following command to verify that only the memory cache is active:
sql
SHOW BACKENDS\G
Look for the DataCacheMetrics field. It should show DiskUsage: 0B/0B (or similar indicating no disk quota) and your allocated memory usage.
Summary of Parameter Mapping:
v3.5.14 Parameter | v4.0.16 Equivalent
storage_page_cache_limit = 40% | datacache_mem_size = 40%
datacache_enable = false | block_cache_enable = false
(Not available) | datacache_enable = true (Must be true to use the above)
References
• data_source/data_cache.md
• release_notes/release-4.0.md
• administration/management/BE_configuration.md
References
• using_starrocks/caching/block_cache.md
• data_source/data_cache.md
• deployment/shared_data/feature-support-shared-data.md
• data_source/data_cache_troubleshooting.md