LIBCAS / ARCLib

ARCLib – komplexní řešení pro dlouhodobou archivaci digitálních (knihovních) sbírek
GNU General Public License v3.0
4 stars 1 forks source link

Selhání exportu redukovaného balíčku #138

Open kerschfilip opened 1 year ago

kerschfilip commented 1 year ago

Dobrý den,

narážím na problémy při exportu dat redukovaných balíčků. Nejsem si úplně jistý, zda se jedná o chybu aplikace nebo někde na mojí straně, prosím tedy o prozkoumání.

Pokoušel jsem se exportovat původní skeny (obsah složky Original_Tiff_LZW) z AIP s Autorským ID: 38bf6c3a-18cd-4342-8c48-b22c1901c8b7
Export konfigurace byl následující: image

Výsledkem jsou skutečně vyexportované skeny, ale ne všechny. Status exportu - soubor export - má příponu .failed

Pokud z hromádky vyberu dva balíčky (např. 38bf6c3a-18cd-4342-8c48-b22c1901c8b7 a 013e5641-f967-46d6-bbbc-af2985418cde) a provedu export stejným způsobem, tak se mi k jednomu balíčku vyexportovala větší část skenů (ale zase ne všechny) a k druhému nic.

V souboru status.failed se objevuje následující:

java.io.FileNotFoundException: /opt/arclib/fileStorage/prod1/prod1ex/fk/20230112091250/data_with_xml/463199e3-04c1-4b2f-929f-2bbbbf913c89/463199e3-04c1-4b2f-929f-2bbbbf913c89_xml_1.xml (No such file or directory)
    at java.base/java.io.FileOutputStream.open0(Native Method)
    at java.base/java.io.FileOutputStream.open(FileOutputStream.java:298)
    at java.base/java.io.FileOutputStream.<init>(FileOutputStream.java:237)
    at java.base/java.io.FileOutputStream.<init>(FileOutputStream.java:187)
    at cz.cas.lib.arclib.utils.ZipUtils.extractFile(ZipUtils.java:70)
    at cz.cas.lib.arclib.service.archivalStorage.ArchivalStorageResponseExtractor.extractAipAsFolderWithXmlsBySide(ArchivalStorageResponseExtractor.java:70)
    at cz.cas.lib.arclib.service.AipExportService.export(AipExportService.java:229)
    at cz.cas.lib.arclib.service.AipExportService.lambda$initiateExport$1(AipExportService.java:148)
    at java.base/java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1736)
    at java.base/java.util.concurrent.CompletableFuture$AsyncRun.exec(CompletableFuture.java:1728)
    at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290)
    at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1020)
    at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1656)
    at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1594)
    at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:177) 

Napadlo mě tedy, že je možná špatně regex, ale stejně mě zaráží, že část dat se vyexportuje a část ne.
Díky za pomoc!

yantom commented 1 year ago

Jednalo se o chybu exportu, již je opraveno,

kerschfilip commented 1 year ago

export dat redukovaných balíčků mi funguje správně, narážím ale na problém při exportu dat, která nechci redukovat, ale chci získat kompletní AIP.
Postup:

export selže a v export.failed je:

java.util.zip.ZipException: only DEFLATED entries can have EXT descriptor
    at java.base/java.util.zip.ZipInputStream.readLOC(ZipInputStream.java:311)
    at java.base/java.util.zip.ZipInputStream.getNextEntry(ZipInputStream.java:123)
    at cz.cas.lib.arclib.service.archivalStorage.ArchivalStorageResponseExtractor.extractAipAsFolderWithXmlsBySide(ArchivalStorageResponseExtractor.java:63)
    at cz.cas.lib.arclib.service.AipExportService.export(AipExportService.java:232)
    at cz.cas.lib.arclib.service.AipExportService.lambda$initiateExport$1(AipExportService.java:149)
    at java.base/java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1736)
    at java.base/java.util.concurrent.CompletableFuture$AsyncRun.exec(CompletableFuture.java:1728)
    at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290)
    at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1020)
    at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1656)
    at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1594)
    at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:177) 

Díky za pomoc

kerschfilip commented 5 months ago

@yantom domnívám se, že tady ještě nějaký problém přetrvává. Při stejném postupu popsaném výše se mi při exportu na základě vyhledávacího dotazu (dotaz "český lid 2000" na testovacím prostředí) vyexportuje do workspace pouze první balíček, přestože dotazu odpovídají balíčky dva. Viz export prod1ex/fk/20240314115039/

Pokud data v exportu redukuji, pak se vyexportují správně data z obou balíčků viz export prod1ex/fk/20240314115101/

image