chibenwa commented on PR #2894:
URL: https://github.com/apache/james-project/pull/2894#issuecomment-3719739285
> The pattern of using several "buckets" exists in several places ( and
caused me a lot of pain for message queues ) I wonder if it ever was such a
good idea and if the scope of the ADR shouldn't be expanded to a more general
definition...
(which would also make the ADR relevant for core and make the whole
discussion on splitting irrelevant)
I see the point.
We could actally then consider this a rework of "how the bucket is encoded
at the S3 level"
It "would then just be a S3 concern" and could likely be implemented as a
prefix (instead of encoding a James bucket as a S3 bucket).
- `+` no code changes in other places, single bucket etc
- `-` migration is not trivial.
- if we use `` (empty) as the default 'prefix' it could lead to conflict
in the hierarchy (though we operate atop a well identified set of
blboIdFactories so there might be tricks...)
- But using a non empty default (james) bucket prefix means migration
for significant amount of data
- A fallback implemented at the object store level COULD be valid
functionnally speacking but not acceptable from a performance perspective.
- We could however dis-anbiguate things by moving non default buckets in
a known prefix.
=> No need of migration for #default (mailbox, mailqueue)
=> james-uploads are not performance-important so do the deleted message
vault so a fallback is enough awaiting expiration / data drop (which is ok)...
So I would propose:
```
[all #default at the base of the hierarchy]
buckets/jmap-uploads
buckets/deleted-message-vault-2025-12
buckets/deleted-message-vault-2025-11
...
```
(GC would then skip `buckets/`)
Side benefits: refactoring the bucket name translation, and the bucket
auto-creation, which is a mess.
> (which would also make the ADR relevant for core and make the whole
discussion on splitting irrelevant)
The start of the discussion becomes irrelevant but not the discussion itself.
BTW One might also argue "I want to undersntand James while I am not using
S3".
--
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: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]