diff --git a/docs/layouts/shortcodes/generated/core_configuration.html b/docs/layouts/shortcodes/generated/core_configuration.html
index fad1f4907e5a..2ad5db28b9ba 100644
--- a/docs/layouts/shortcodes/generated/core_configuration.html
+++ b/docs/layouts/shortcodes/generated/core_configuration.html
@@ -443,7 +443,7 @@
lookup.local-file-type |
- hash |
+ sort |
Enum |
The local file type for lookup.
Possible values:- "sort": Construct a sorted file for lookup.
- "hash": Construct a hash file for lookup.
|
diff --git a/paimon-benchmark/paimon-micro-benchmarks/src/test/java/org/apache/paimon/benchmark/lookup/AbstractLookupBenchmark.java b/paimon-benchmark/paimon-micro-benchmarks/src/test/java/org/apache/paimon/benchmark/lookup/AbstractLookupBenchmark.java
index 635d876f7a98..653bfee6cc00 100644
--- a/paimon-benchmark/paimon-micro-benchmarks/src/test/java/org/apache/paimon/benchmark/lookup/AbstractLookupBenchmark.java
+++ b/paimon-benchmark/paimon-micro-benchmarks/src/test/java/org/apache/paimon/benchmark/lookup/AbstractLookupBenchmark.java
@@ -102,7 +102,10 @@ protected Pair writeData(
new CacheManager(MemorySize.ofMebiBytes(10)),
keySerializer.createSliceComparator());
- File file = new File(tempDir.toFile(), UUID.randomUUID().toString());
+ String name =
+ String.format(
+ "%s-%s-%s", options.lookupLocalFileType(), valueLength, bloomFilterEnabled);
+ File file = new File(tempDir.toFile(), UUID.randomUUID() + "-" + name);
LookupStoreWriter writer = factory.createWriter(file, createBloomFiler(bloomFilterEnabled));
int i = 0;
for (byte[] input : inputs) {
diff --git a/paimon-benchmark/paimon-micro-benchmarks/src/test/java/org/apache/paimon/benchmark/lookup/LookupReaderBenchmark.java b/paimon-benchmark/paimon-micro-benchmarks/src/test/java/org/apache/paimon/benchmark/lookup/LookupReaderBenchmark.java
index 9947b54a70f0..2d8de84327d4 100644
--- a/paimon-benchmark/paimon-micro-benchmarks/src/test/java/org/apache/paimon/benchmark/lookup/LookupReaderBenchmark.java
+++ b/paimon-benchmark/paimon-micro-benchmarks/src/test/java/org/apache/paimon/benchmark/lookup/LookupReaderBenchmark.java
@@ -128,7 +128,7 @@ private void readData(
LookupStoreFactory factory =
LookupStoreFactory.create(
options,
- new CacheManager(MemorySize.ofMebiBytes(10)),
+ new CacheManager(MemorySize.ofMebiBytes(20), 0.5),
new RowCompactedSerializer(RowType.of(new IntType()))
.createSliceComparator());
diff --git a/paimon-common/src/main/java/org/apache/paimon/CoreOptions.java b/paimon-common/src/main/java/org/apache/paimon/CoreOptions.java
index b9b5675f1d2d..cddef33c276e 100644
--- a/paimon-common/src/main/java/org/apache/paimon/CoreOptions.java
+++ b/paimon-common/src/main/java/org/apache/paimon/CoreOptions.java
@@ -891,7 +891,7 @@ public class CoreOptions implements Serializable {
public static final ConfigOption LOOKUP_LOCAL_FILE_TYPE =
key("lookup.local-file-type")
.enumType(LookupLocalFileType.class)
- .defaultValue(LookupLocalFileType.HASH)
+ .defaultValue(LookupLocalFileType.SORT)
.withDescription("The local file type for lookup.");
public static final ConfigOption LOOKUP_HASH_LOAD_FACTOR =
diff --git a/paimon-common/src/main/java/org/apache/paimon/io/cache/CacheBuilder.java b/paimon-common/src/main/java/org/apache/paimon/io/cache/CacheBuilder.java
index 4660343d45e1..402f21f06264 100644
--- a/paimon-common/src/main/java/org/apache/paimon/io/cache/CacheBuilder.java
+++ b/paimon-common/src/main/java/org/apache/paimon/io/cache/CacheBuilder.java
@@ -72,6 +72,10 @@ public Cache build() {
org.apache.paimon.shade.guava30.com.google.common.cache.CacheBuilder
.newBuilder()
.weigher(CacheBuilder::weigh)
+ // The concurrency level determines the number of segment caches in
+ // Guava,limiting the maximum block entries held in cache. Since we do
+ // not access this cache concurrently, it is set to 1.
+ .concurrencyLevel(1)
.maximumWeight(memorySize.getBytes())
.removalListener(this::onRemoval)
.build());