Recorded as https://github.com/apache/jena/issues/2254
On 06/02/2024 23:06, Andy Seaborne wrote:
Hi Samuel,
This is when the server exists for some reason?
(If it's an internal exception, there should be a stack trace in the log
file.)
What operating system are you running on?
What's in the new Data-0002 directory?
It does look like some defensive measures are needed to not choose to
use the incomplete storage directory.
Andy
On 06/02/2024 09:26, Samuel Börlin wrote:
Hi everybody,
I recently noticed that when Fuseki (4.10.0) is stopped during a
compaction task (started via the HTTP endpoint
`/$/compact/{name}?deleteOld=true`)
then it uses the new and still incomplete database (e.g. Data-0002
instead of the original non-compacted Data-0001) when it is started
again.
Is there a way to do compaction in an atomic manner so that this
doesn't happen?
As a workaround I'm currently thinking about simply deleting (or
perhaps renaming/moving) all Data-XXXX directories but the one with
the lowest index when the database is started.
I always use `?deleteOld=true`, so I only ever expect there to be one
Data-XXXX directory when it starts. If there are multiple directories
then that means that there must have been an incomplete compaction.
Does this seem like a reasonable approach?
Thanks and best regards,
Samuel