JAMES-4156 Blobstore deleted message vault v2#2899
JAMES-4156 Blobstore deleted message vault v2#2899Arsnael wants to merge 6 commits intoapache:masterfrom
Conversation
...in/deleted-messages-vault/src/main/java/org/apache/james/vault/blob/BlobIdTimeGenerator.java
Outdated
Show resolved
Hide resolved
...in/deleted-messages-vault/src/main/java/org/apache/james/vault/blob/BlobIdTimeGenerator.java
Outdated
Show resolved
Hide resolved
...in/deleted-messages-vault/src/main/java/org/apache/james/vault/blob/BlobIdTimeGenerator.java
Show resolved
Hide resolved
...in/deleted-messages-vault/src/main/java/org/apache/james/vault/blob/BlobIdTimeGenerator.java
Outdated
Show resolved
Hide resolved
...in/deleted-messages-vault/src/main/java/org/apache/james/vault/blob/BlobIdTimeGenerator.java
Outdated
Show resolved
Hide resolved
...x/plugin/deleted-messages-vault/src/main/java/org/apache/james/vault/VaultConfiguration.java
Outdated
Show resolved
Hide resolved
...in/deleted-messages-vault/src/main/java/org/apache/james/vault/blob/BlobIdTimeGenerator.java
Outdated
Show resolved
Hide resolved
|
Will work on extra tests now |
|
Question that I was asking myself while doing this though: is a V2 necessary? Why not just refactoring the initial BlobStoreDeletedMessageVault? The only thing that changes here is the append (write in new single bucket). The rest is the same logic (it works with the underlying metadata untouched) The rest that is current design specific is for the gc task (the expired deleteExpiredMessages part stuff). Just opening a discussion here. |
Very good remark that will allow to reduce the overall complexity! Reading the vault will indeed be naturally backward compatible. We just need to ensure that "the purge" still cleans up the old bucket. And we would be good to go IMO. |
|
I think it would make the gc task refactoring easier too... Alright will adapt this one to what we just agreed and then will (in an other PR) tackle the GC part refactoring. @chibenwa agreed? |
|
Slightly different approach so I preferred opening a new PR in case, see #2902 |
Still need some tests to make sure V2 can read and delete blobs created with V1