When creating a document store using the filesystem, running stardog doc reindex
works successfully and all document store functionality works as expected. However, if I create a document store using S3 as the storage backend, while I can add documents to the document store and use it successfully, running stardog doc reindex
fails with the following output in stardog.log
(a similar stacktrace appears no matter what rdf/text extractors are used):
INFO 2024-06-06T07:41:07,160+0000 [stardog-user-10] com.complexible.stardog.protocols.http.server.StardogUndertowErrorHandler:accept(71): [OPERATION_FAILURE] Server encountered an error
java.lang.UnsupportedOperationException: null
at com.upplication.s3fs.S3Path.toFile(S3Path.java:508) ~[s3fs-2.2.2.jar:?]
at com.complexible.stardog.docs.extraction.tika.TikaMetadataExtractor.tikaExtractMetadata(TikaMetadataExtractor.java:116) ~[stardog-bites-core-10.0.1.jar:?]
at com.complexible.stardog.docs.extraction.tika.TikaMetadataExtractor.extract(TikaMetadataExtractor.java:143) ~[stardog-bites-core-10.0.1.jar:?]
at com.complexible.stardog.docs.extraction.tika.TikaMetadataExtractor.extract(TikaMetadataExtractor.java:55) ~[stardog-bites-core-10.0.1.jar:?]
at com.complexible.stardog.docs.extraction.Extractor.extract(Extractor.java:31) ~[stardog-bites-core-10.0.1.jar:?]
at com.complexible.stardog.docs.db.ConnectableBitesConnectionImpl.lambda$extract$3(ConnectableBitesConnectionImpl.java:173) ~[stardog-bites-core-10.0.1.jar:?]
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) ~[?:?]
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) ~[?:?]
at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1655) ~[?:?]
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) ~[?:?]
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) ~[?:?]
at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:913) ~[?:?]
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:?]
at java.util.stream.ReferencePipeline.reduce(ReferencePipeline.java:553) ~[?:?]
at com.complexible.stardog.docs.db.ConnectableBitesConnectionImpl.addRDFContent(ConnectableBitesConnectionImpl.java:114) ~[stardog-bites-core-10.0.1.jar:?]
at com.complexible.stardog.docs.db.ConnectableBitesConnectionImpl.putDocument(ConnectableBitesConnectionImpl.java:227) ~[stardog-bites-core-10.0.1.jar:?]
at com.complexible.stardog.docs.db.ConnectableBitesConnectionImpl.reindex(ConnectableBitesConnectionImpl.java:208) ~[stardog-bites-core-10.0.1.jar:?]
at com.complexible.stardog.docs.protocols.http.server.BitesHttpService.reindexDocStore(BitesHttpService.java:193) ~[stardog-bites-protocols-http-server-10.0.1.jar:?]
at com.stardog.http.server.undertow.jaxrs.ExtractRoutes.lambda$handleIt$5(ExtractRoutes.java:193) ~[stardog-protocols-http-server-10.0.1.jar:?]
at org.apache.shiro.subject.support.SubjectRunnable.doRun(SubjectRunnable.java:120) [shiro-core-1.10.0.jar:1.10.0]
at org.apache.shiro.subject.support.SubjectRunnable.run(SubjectRunnable.java:108) [shiro-core-1.10.0.jar:1.10.0]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
at java.lang.Thread.run(Thread.java:829) [?:?]
The exception is thrown by a Stardog dependency, but there is nothing in the documentation to suggest that re-indexing an S3-backed document store is unsupported.
Should re-indexing a S3-backed document store work, and if so, can the above bug please be fixed? Thanks!