rpuch commented on code in PR #6229: URL: https://github.com/apache/ignite-3/pull/6229#discussion_r2197847533
########## modules/storage-api/src/testFixtures/java/org/apache/ignite/internal/storage/engine/AbstractPersistentStorageEngineTest.java: ########## @@ -70,6 +70,9 @@ * because it doesn't limit the usage of the engine with a single table. */ public abstract class AbstractPersistentStorageEngineTest extends AbstractStorageEngineTest { + /** Makes sure that table destruction is persisted durably. */ + protected abstract void persistTableDestructionIfNeeded(); Review Comment: Technically, it can, but 1. It's not needed (we'll ensure durability of destruction on the higher level; this PR is about building this higher-level mechanism) 2. It's not free (it will require a flush, which we don't need per item 1) 3. It will bring additional complexity to the code (necessity to call flush, some methods' return values will be `CompletableFuture<Void>` vs void) So it seems more rational to not introduce such guarantees. The fact that pagemem-based storages give these guarantees is a lucky coincidence (we use file/dir removal there, which is fast). Also, pagemem-based storages provide these guarantees only while we only think about Ignite restart/crash; if a machine or OS crashes, those file-based guarantees vanish as it seems that we don't do dir fsync when deleting files, and not all FSs use journals. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@ignite.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org