diff --git a/src/Storages/ObjectStorage/StorageObjectStorageSource.cpp b/src/Storages/ObjectStorage/StorageObjectStorageSource.cpp index 07ef358d0396..85906ec18d48 100644 --- a/src/Storages/ObjectStorage/StorageObjectStorageSource.cpp +++ b/src/Storages/ObjectStorage/StorageObjectStorageSource.cpp @@ -50,6 +50,7 @@ #include #include #include +#include namespace fs = std::filesystem; namespace ProfileEvents @@ -889,7 +890,7 @@ StorageObjectStorageSource::ReaderHolder StorageObjectStorageSource::createReade InputFormatPtr input_format; if (context_->getSettingsRef()[Setting::use_parquet_metadata_cache] && use_native_reader_v3 - && (object_info->getFileFormat().value_or(configuration->getFormat()) == "Parquet") + && (Poco::toLower(object_info->getFileFormat().value_or(configuration->getFormat())) == "parquet") && !object_info->getObjectMetadata()->etag.empty()) { std::optional object_with_metadata = object_info->relative_path_with_metadata; diff --git a/tests/integration/test_storage_iceberg_with_spark_cache/test_filesystem_cache.py b/tests/integration/test_storage_iceberg_with_spark_cache/test_filesystem_cache.py index 5d716f66e8c7..cd8227919dba 100644 --- a/tests/integration/test_storage_iceberg_with_spark_cache/test_filesystem_cache.py +++ b/tests/integration/test_storage_iceberg_with_spark_cache/test_filesystem_cache.py @@ -63,6 +63,7 @@ def test_filesystem_cache(started_cluster_iceberg_with_spark, storage_type): instance.query( f"SELECT * FROM {TABLE_NAME} SETTINGS filesystem_cache_name = 'cache1'", query_id=query_id, + settings={"use_parquet_metadata_cache": "0"} ) instance.query("SYSTEM FLUSH LOGS")