Status Update
Comments
yb...@google.com <yb...@google.com>
ap...@google.com <ap...@google.com> #2
There are a few more changes to DataStoreImpl's logic which makes a reevaluation necessary.
Now with Yigit's changes, datastore's
A ReadException is not automatically handled and stays in cache until a updateData call which revisits handleUpdate
call proceeds to
da...@google.com <da...@google.com> #3
can we create a test failure for this? I'm not fully sure what is going wrong here, it is a bit hard to track w/o a repro case.
ta...@gmail.com <ta...@gmail.com> #4
can we create a test failure for this?
Sure I'm working on the code changes.
In the meantime I think this bug might makes the errors e.g. in
[Deleted User] <[Deleted User]> #5
Branch: androidx-main
commit 383a67d0e5a9b35e394b212db35bdee892b167fb
Author: Zhiyuan Wang <zhiyuanwang@google.com>
Date: Wed Feb 21 17:04:40 2024
Add tests to verify that CorruptionException is not properly handled after DataStore's first disk read. If the internal state is [ReadException], it will not recover for the rest of the lifecycle.
Fix in the follow up change.
Bug: 289582516
Test: ./gradlew :datastore:datastore-core:jvmTest
Change-Id: Ie77900b5c2cb8fb8e55d4c40364491dea9250784
M datastore/datastore-core/src/commonTest/kotlin/androidx/datastore/core/SingleProcessDataStoreTest.kt
[Deleted User] <[Deleted User]> #6
Branch: androidx-main
commit 70085fee2af278bb8c3e45e1acfcf3f4cbb05c5a
Author: Zhiyuan Wang <zhiyuanwang@google.com>
Date: Thu Feb 22 15:08:34 2024
DataStore handles CorruptionException for all reads and writes.
Before this change, DataStore didn't handle the CorruptionException for both the reads and writes after initialization.
Fixes: 289582516
Test: ./gradlew :datastore:datastore-core:jvmTest
Change-Id: Icb07b140017b62a905d3626f82aeb993f636c053
M datastore/datastore-core/src/commonMain/kotlin/androidx/datastore/core/DataStoreImpl.kt
M datastore/datastore-core/src/commonTest/kotlin/androidx/datastore/core/SingleProcessDataStoreTest.kt
Description
Version used: 2.0.0
Devices/Android versions reproduced on: N / A
@Dao
interface Foo {
@Query("SELECT * FROM bar")
fun getAll(): List<Bar>
@Transaction
fun getTransactionAll(): List<Bar> {
return getAll()
}
}
It generates
Foo.DefaultImpls.getTransactionAll(this, )
which cause the error (illegal start of expression) because of the extra comma.