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

Reply via email to