diff --git a/firebase-firestore/ktx/src/test/kotlin/com/google/firebase/firestore/ktx/FirestoreTests.kt b/firebase-firestore/ktx/src/test/kotlin/com/google/firebase/firestore/ktx/FirestoreTests.kt index cb31d0b48cb..6750102f4d1 100644 --- a/firebase-firestore/ktx/src/test/kotlin/com/google/firebase/firestore/ktx/FirestoreTests.kt +++ b/firebase-firestore/ktx/src/test/kotlin/com/google/firebase/firestore/ktx/FirestoreTests.kt @@ -154,7 +154,7 @@ class FirestoreTests : BaseTestCase() { assertThat(isSslEnabled).isEqualTo(settings.isSslEnabled) assertThat(settings.isPersistenceEnabled).isFalse() assertThat(settings.cacheSettings) - .isEqualTo(memoryCacheSettings { setGcSettings(memoryEagerGcSettings {}) }) + .isEqualTo(memoryCacheSettings { setGcSettings(memoryLruGcSettings {}) }) val otherSettings = firestoreSettings { this.setLocalCacheSettings( diff --git a/firebase-firestore/src/androidTest/java/com/google/firebase/firestore/BundleTest.java b/firebase-firestore/src/androidTest/java/com/google/firebase/firestore/BundleTest.java index c6005d3d69c..3bdf5935fca 100644 --- a/firebase-firestore/src/androidTest/java/com/google/firebase/firestore/BundleTest.java +++ b/firebase-firestore/src/androidTest/java/com/google/firebase/firestore/BundleTest.java @@ -174,11 +174,14 @@ public void testLoadWithDocumentsThatAreAlreadyPulledFromBackend() throws Except @Test public void testLoadedDocumentsShouldNotBeGarbageCollectedRightAway() throws Exception { - // This test really only makes sense with memory persistence, as SQLite persistence only ever + // This test really only makes sense with memory eager GC, as LRU GCs // lazily deletes data db.setFirestoreSettings( new FirebaseFirestoreSettings.Builder() - .setLocalCacheSettings(MemoryCacheSettings.newBuilder().build()) + .setLocalCacheSettings( + MemoryCacheSettings.newBuilder() + .setGcSettings(MemoryLruGcSettings.newBuilder().build()) + .build()) .build()); InputStream bundle = new ByteArrayInputStream(createBundle()); diff --git a/firebase-firestore/src/androidTest/java/com/google/firebase/firestore/FirestoreTest.java b/firebase-firestore/src/androidTest/java/com/google/firebase/firestore/FirestoreTest.java index 631dcec4dd8..6ae8eecfe4f 100644 --- a/firebase-firestore/src/androidTest/java/com/google/firebase/firestore/FirestoreTest.java +++ b/firebase-firestore/src/androidTest/java/com/google/firebase/firestore/FirestoreTest.java @@ -36,7 +36,6 @@ import static org.junit.Assert.assertNotSame; import static org.junit.Assert.assertNull; import static org.junit.Assert.assertSame; -import static org.junit.Assert.assertThrows; import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; import static org.junit.Assume.assumeTrue; @@ -1335,8 +1334,8 @@ public void testLegacyCacheConfigForMemoryCache() { waitFor(instance.document("coll/doc").set(map("foo", "bar"))); - assertThrows( - RuntimeException.class, () -> waitFor(instance.document("coll/doc").get(Source.CACHE))); + DocumentSnapshot snap = waitFor(instance.document("coll/doc").get(Source.CACHE)); + assertEquals(map("foo", "bar"), snap.getData()); } @Test @@ -1363,8 +1362,8 @@ public void testNewCacheConfigForMemoryCache() { waitFor(instance.document("coll/doc").set(map("foo", "bar"))); - assertThrows( - RuntimeException.class, () -> waitFor(instance.document("coll/doc").get(Source.CACHE))); + DocumentSnapshot snap = waitFor(instance.document("coll/doc").get(Source.CACHE)); + assertEquals(map("foo", "bar"), snap.getData()); } @Test diff --git a/firebase-firestore/src/main/java/com/google/firebase/firestore/MemoryCacheSettings.java b/firebase-firestore/src/main/java/com/google/firebase/firestore/MemoryCacheSettings.java index 3582557cefa..bef40c00556 100644 --- a/firebase-firestore/src/main/java/com/google/firebase/firestore/MemoryCacheSettings.java +++ b/firebase-firestore/src/main/java/com/google/firebase/firestore/MemoryCacheSettings.java @@ -66,7 +66,7 @@ public MemoryGarbageCollectorSettings getGarbageCollectorSettings() { /** A Builder for creating {@code MemoryCacheSettings} instance. */ public static class Builder { - private MemoryGarbageCollectorSettings gcSettings = MemoryEagerGcSettings.newBuilder().build(); + private MemoryGarbageCollectorSettings gcSettings = MemoryLruGcSettings.newBuilder().build(); private Builder() {} diff --git a/firebase-firestore/src/main/java/com/google/firebase/firestore/core/MemoryComponentProvider.java b/firebase-firestore/src/main/java/com/google/firebase/firestore/core/MemoryComponentProvider.java index fc8180b6937..2665acb3c6c 100644 --- a/firebase-firestore/src/main/java/com/google/firebase/firestore/core/MemoryComponentProvider.java +++ b/firebase-firestore/src/main/java/com/google/firebase/firestore/core/MemoryComponentProvider.java @@ -75,7 +75,8 @@ private boolean isMemoryLruGcEnabled(FirebaseFirestoreSettings settings) { return memorySettings.getGarbageCollectorSettings() instanceof MemoryLruGcSettings; } - return false; + // Enabled by default. + return true; } @Override diff --git a/firebase-firestore/src/test/java/com/google/firebase/firestore/FirebaseFirestoreSettingsTest.java b/firebase-firestore/src/test/java/com/google/firebase/firestore/FirebaseFirestoreSettingsTest.java index afff447e99f..49a757369fe 100644 --- a/firebase-firestore/src/test/java/com/google/firebase/firestore/FirebaseFirestoreSettingsTest.java +++ b/firebase-firestore/src/test/java/com/google/firebase/firestore/FirebaseFirestoreSettingsTest.java @@ -62,7 +62,7 @@ public void builderConstructorShouldCopyAllValuesFromTheGivenSettings() { assertEquals(settings2.getHost(), "a.b.c"); assertEquals(settings2.isSslEnabled(), false); assertEquals(settings2.isPersistenceEnabled(), false); - assertEquals(settings2.getCacheSizeBytes(), FirebaseFirestoreSettings.CACHE_SIZE_UNLIMITED); + assertEquals(settings2.getCacheSizeBytes(), FirebaseFirestoreSettings.DEFAULT_CACHE_SIZE_BYTES); } @Test diff --git a/firebase-firestore/src/test/java/com/google/firebase/firestore/FirestoreTests.kt b/firebase-firestore/src/test/java/com/google/firebase/firestore/FirestoreTests.kt index 35987d94f3f..608bc7284fa 100644 --- a/firebase-firestore/src/test/java/com/google/firebase/firestore/FirestoreTests.kt +++ b/firebase-firestore/src/test/java/com/google/firebase/firestore/FirestoreTests.kt @@ -148,7 +148,7 @@ class FirestoreTests : BaseTestCase() { assertThat(isSslEnabled).isEqualTo(settings.isSslEnabled) assertThat(settings.isPersistenceEnabled).isFalse() assertThat(settings.cacheSettings) - .isEqualTo(memoryCacheSettings { setGcSettings(memoryEagerGcSettings {}) }) + .isEqualTo(memoryCacheSettings { setGcSettings(memoryLruGcSettings {}) }) val otherSettings = firestoreSettings { this.setLocalCacheSettings( diff --git a/firebase-firestore/src/test/java/com/google/firebase/firestore/ktx/FirestoreTests.kt b/firebase-firestore/src/test/java/com/google/firebase/firestore/ktx/FirestoreTests.kt index 74ea542b22d..d5271c34d84 100644 --- a/firebase-firestore/src/test/java/com/google/firebase/firestore/ktx/FirestoreTests.kt +++ b/firebase-firestore/src/test/java/com/google/firebase/firestore/ktx/FirestoreTests.kt @@ -154,7 +154,7 @@ class FirestoreTests : BaseTestCase() { assertThat(isSslEnabled).isEqualTo(settings.isSslEnabled) assertThat(settings.isPersistenceEnabled).isFalse() assertThat(settings.cacheSettings) - .isEqualTo(memoryCacheSettings { setGcSettings(memoryEagerGcSettings {}) }) + .isEqualTo(memoryCacheSettings { setGcSettings(memoryLruGcSettings {}) }) val otherSettings = firestoreSettings { this.setLocalCacheSettings(