msantama
09/15/2026, 2:23 PMRocky
09/15/2026, 2:23 PMstorage_root_path) to manage metadata and temporary data during operations like compaction and loading.
1. Why did this happen?
In shared-data mode, StarRocks performs compaction by reading data from remote storage (Ceph/HDFS), merging it on the CN, and writing new versions back to remote storage.
* Cache Checksum: For performance, StarRocks often caches metadata and data blocks locally. When it reads these back from the local disk, it verifies them against a recorded CRC32 checksum.
* Corruption: A "checksum mismatch" means the data read from the local disk did not match the expected checksum. This can be caused by:
* Local disk hardware issues on one of your 30 CN nodes.
* Filesystem-level errors (StarRocks performs best on XFS).
* A known edge case (addressed in v3.4+) where cached data could become "confused" or inconsistent during high-concurrency operations.
2. The role of lake_clear_corrupted_cache_data
By default, StarRocks stops the operation when a checksum mismatch occurs to prevent data corruption from propagating.
* The Config: Setting lake_clear_corrupted_cache_data = true (introduced in v3.4) tells the CN: "If you find a corrupted data block in the local cache, don't fail the task. Instead, delete the corrupted cache file and re-fetch the data from the remote source (Ceph/HDFS)."
* Result: This allowed your compaction to finish because the system effectively "self-healed" by bypassing the bad local cache and going back to the source of truth on Ceph.
3. Impact on Benchmarking
Since your goal is to benchmark HDFS vs. Ceph:
* Data Integrity: Enabling this flag is safe for your tests; it ensures that the "source of truth" (remote storage) is what ultimately gets used if the local cache fails.
* Performance Noise: If this error happens frequently, the "self-healing" (deleting and re-downloading) will add latency to your Ceph benchmarks that wouldn't be present on a "healthy" run. You should check the CN logs (<http://be.INFO|be.INFO> or be.WARNING) to see if these errors are frequent or isolated to a specific node.
* Vertical Compaction: Note that by default, lake_enable_vertical_compaction_fill_data_cache is true. Even with a small cache limit, compaction tasks may attempt to use the cache.
Recommendations
1. Check CN Logs: Search for checksum mismatch in your CN logs to identify if a specific node is having local disk issues.
2. Filesystem: Ensure your CN storage_root_path is on XFS for best results.
3. Benchmarking Tip: To truly test raw remote storage performance without any cache interference, you can also try setting datacache.enable = false in your table properties, though the shared-data architecture is designed to perform best with the cache enabled.
If you continue to see this error on Ceph but not HDFS, verify that the Ceph RGW (S3) interface is not returning partial or corrupted objects, though the error you described is almost always related to the local CN cache.
References
• administration/management/BE_configuration.md
• administration/management/FE_configuration.md