Hi Omar,

I am sorry to hear that. BaseX provides some basic recovery mechanisms, but it does not cover all cases that may happen (and of course it is always too late to give the advise to do regular backups when a failure occurs…).

If OPTIMIZE ALL fails, a simple OPTIMIZE works sometimes, but I guess not in this case?

In general it's a good sign if INSPECT reports no errors. I could have a look at the database this week (for free, as I cannot promise anything).

Best,
Christian


Omar Siam <Omar.Siam@oeaw.ac.at> schrieb am Mo., 12. Mai 2025, 14:04:
Hi!

We had some serious problems with our storage last week and
unfortunately that killed one of our important BaseX databases.

Is there any way to restore the data?

Does BaseX GmbH provide paid data rescue services?

The symptoms are:

There is data in that database:

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a---          12.05.2025    13:16       25214377 atv.basex
-a---          12.05.2025    13:16         451580 atvl.basex
-a---          12.05.2025    13:16         106065 atvr.basex
-a---          12.05.2025    13:16            131 ftxx.basex
-a---          12.05.2025    13:16         449615 ftxy.basex
-a---          12.05.2025    13:16         697581 ftxz.basex
-a---          12.05.2025    13:59            319 inf.basex
-a---          12.05.2025    13:16             39 pth.basex
-a---          12.05.2025    13:16             28 swl.basex
-a---          12.05.2025    13:16       29798400 tbl.basex
-a---          12.05.2025    13:16          23650 tbli.basex
-a---          12.05.2025    13:16         693232 tokl.basex
-a---          12.05.2025    13:16         105495 tokr.basex
-a---          12.05.2025    13:16       53480811 txt.basex
-a---          12.05.2025    13:16         669153 txtl.basex
-a---          12.05.2025    13:16         166050 txtr.basex
-a---          12.05.2025    13:59              0 upd.basex

Inspect reports 0 documents.

Checking main table (0 nodes):
- 0 invalid node kinds
- 0 invalid parent references
- 0 wrong parent/descendant relationships
No inconsistencies found.
'dc_shawi_eng_000' inspected in 0.63 ms.

Optimize all yields:

Improper use? Potential bug? Your feedback is welcome:
Contact: basex-talk@mailman.uni-konstanz.de
Version: BaseX 9.3.2
Java: Azul Systems, Inc., 21.0.4
OS: Windows 11, amd64
Stack Trace:
java.lang.NullPointerException: Cannot invoke
"org.basex.index.path.PathIndex.write(org.basex.io.out.DataOutput)"
because "this.paths" is null
         at org.basex.data.DiskData.write(DiskData.java:144)
         at org.basex.data.DiskData.close(DiskData.java:160)
         at org.basex.core.Datas.unpin(Datas.java:52)
         at org.basex.core.cmd.Close.close(Close.java:45)
         at org.basex.core.cmd.OptimizeAll.optimizeAll(OptimizeAll.java:126)
         at org.basex.core.cmd.OptimizeAll$1.run(OptimizeAll.java:42)
         at org.basex.core.cmd.ACreate.update(ACreate.java:90)
         at org.basex.core.cmd.OptimizeAll.run(OptimizeAll.java:38)
         at org.basex.core.Command.run(Command.java:257)
         at org.basex.core.Command.execute(Command.java:93)
         at org.basex.api.client.LocalSession.execute(LocalSession.java:132)
         at org.basex.api.client.Session.execute(Session.java:36)
         at org.basex.core.CLI.execute(CLI.java:92)
         at org.basex.core.CLI.execute(CLI.java:76)
         at org.basex.BaseX.console(BaseX.java:177)
         at org.basex.BaseX.<init>(BaseX.java:152)
         at org.basex.BaseX.main(BaseX.java:43)

Best regards

--
Mag. Ing. Omar Siam
Austrian Center for Digital Humanities and Cultural Heritage
Österreichische Akademie der Wissenschaften | Austrian Academy of Sciences
Stellvertretende Behindertenvertrauensperson | Deputy representative for disabled persons
Bäckerstraße 13, 1010 Wien, Österreich | Vienna, Austria
T: +43 1 51581-7295
omar.siam@oeaw.ac.at | www.oeaw.ac.at/acdh