-
Notifications
You must be signed in to change notification settings - Fork 666
Description
Version
5.5.0
What happened?
We do an automated nightly compaction starting at 02:00 UTC.
Recently compaction has stopped working and getting stuck indefinitely increasingly commonly. Once a compaction has gotten stuck, any subsequent compactions the following nights are guaranteed to either fail or also be stuck indefinitely until Fuseki is restarted.
Whenever this happens, it creates a seemingly fully compacted Data-XXXX directory which is never cleaned up (we do use ?deleteOld=true):
$ ls -lat
total 36
drwxr-xr-x 8 root root 4096 Oct 2 04:39 .
drwxr-xr-x 2 root root 4096 Oct 2 04:00 Data-0790
-rw-r--r-- 1 root root 2 Oct 1 08:40 tdb.lock
drwxr-xr-x 2 root root 4096 Sep 29 04:00 Data-0789
drwxr-xr-x 2 root root 4096 Sep 27 04:00 Data-0788
drwxr-xr-x 2 root root 4096 Sep 26 04:00 Data-0787
drwxr-xr-x 2 root root 4096 Sep 24 04:00 Data-0785
drwxr-xr-x 2 root root 4096 Sep 18 04:00 Data-0783
drwxr-xr-x 3 root root 4096 Mar 29 2023 ..
$ du -ha --max-depth=1
38G ./Data-0787
38G ./Data-0783
4.0K ./tdb.lock
40G ./Data-0789
38G ./Data-0790
38G ./Data-0785
38G ./Data-0788
228G .
This used to happen infrequently for quite a while already, also with Fuseki 5.2.0 before we updated to 5.5.0, but wasn't common enough to be a big problem. However, recently it has become very likely to get stuck.
We know the compaction is stuck because our compaction script queries http://db:3030/$/tasks/${taskId} and aborts when .success != true ("Failed compacting dsp-repo") or with a timeout ("Timed out while compacting dsp-repo") after 12h of compaction not finishing (it usually finishes in ca. 45min. when it works).
Otherwise there are no indications that something is wrong. Besides the sometimes random stacktrace there are no logs (we only log WARN and above) and the DB continues to seemingly work fine otherwise (queries, updates).
We run Fuseki in a docker container based on eclipse-temurin:21-jre-jammy.
Full command running in container:
/opt/java/openjdk/bin/java -Xmx2G -Dlog4j2.formatMsgNoLookups=true --enable-native-access=ALL-UNNAMED --add-modules=jdk.incubator.vector -Dlog4j.configurationFile=/jena-fuseki/log4j2.properties -cp /jena-fuseki/fuseki-server.jar org.apache.jena.fuseki.main.cmds.FusekiServerCmd
Config file:
@prefix : <http://base/#> .
@prefix fuseki: <http://jena.apache.org/fuseki#> .
@prefix ja: <http://jena.hpl.hp.com/2005/11/Assembler#> .
@prefix tdb2: <http://jena.apache.org/2016/tdb#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix text: <http://jena.apache.org/text#> .
@prefix knora-base: <http://www.knora.org/ontology/knora-base#> .
:service_tdb_all a fuseki:Service ;
rdfs:label "TDB2 dsp-repo" ;
fuseki:dataset :text_dataset ;
fuseki:name "dsp-repo" ;
fuseki:serviceQuery "query" , "sparql" ;
fuseki:serviceReadGraphStore "get" ;
fuseki:serviceReadWriteGraphStore "data" ;
fuseki:serviceUpdate "update" ;
fuseki:serviceUpload "upload" .
## ---------------------------------------------------------------
## This URI must be fixed - it's used to assemble the text dataset.
:text_dataset rdf:type text:TextDataset ;
text:dataset :tdb_dataset_readwrite ;
text:index :indexLucene .
# A TDB datset used for RDF storage
:tdb_dataset_readwrite a tdb2:DatasetTDB2 ;
tdb2:unionDefaultGraph true ;
tdb2:location "/fuseki/databases/dsp-repo" .
# Text index description
:indexLucene a text:TextIndexLucene ;
text:directory "/fuseki/lucene/dsp-repo" ;
text:entityMap :entMap ;
text:analyzer [ a text:ConfigurableAnalyzer ;
text:tokenizer text:WhitespaceTokenizer ;
text:filters ( text:ASCIIFoldingFilter text:LowerCaseFilter)
] .
# Mapping in the index
# URI stored in field "uri"
# knora-base:valueHasString is mapped to field "text"
:entMap a text:EntityMap ;
text:entityField "uri" ;
text:defaultField "text" ;
text:uidField "uid" ;
text:map (
[ text:field "text" ; text:predicate rdfs:label ]
[ text:field "text" ; text:predicate knora-base:valueHasString ]
[ text:field "text" ; text:predicate knora-base:valueHasComment ]
) .
Relevant output and stacktrace
There doesn't seem to be a consistent exception when this happens.
However, sometimes there's an exception around the time I'd expect the compaction to finish (after ca. 45min.):
Exception in insertPrefixes: Not in a transaction
org.apache.jena.dboe.transaction.txn.TransactionException: Not in a transaction
at org.apache.jena.dboe.transaction.txn.TransactionalComponentLifecycle.checkTxn(TransactionalComponentLifecycle.java:350)
at org.apache.jena.dboe.trans.bplustree.BPlusTree.getRootRead(BPlusTree.java:156)
at org.apache.jena.dboe.trans.bplustree.BPlusTree.find(BPlusTree.java:231)
at org.apache.jena.tdb2.store.nodetable.NodeTableNative.accessIndex(NodeTableNative.java:130)
at org.apache.jena.tdb2.store.nodetable.NodeTableNative._idForNode(NodeTableNative.java:116)
at org.apache.jena.tdb2.store.nodetable.NodeTableNative.getNodeIdForNode(NodeTableNative.java:57)
at org.apache.jena.tdb2.store.nodetable.NodeTableCache._idForNode(NodeTableCache.java:241)
at org.apache.jena.tdb2.store.nodetable.NodeTableCache.getNodeIdForNode(NodeTableCache.java:143)
at org.apache.jena.tdb2.store.nodetable.NodeTableWrapper.getNodeIdForNode(NodeTableWrapper.java:47)
at org.apache.jena.tdb2.store.nodetable.NodeTableInline.getNodeIdForNode(NodeTableInline.java:57)
at org.apache.jena.tdb2.store.nodetupletable.NodeTupleTableConcrete.idForNode(NodeTupleTableConcrete.java:188)
at org.apache.jena.tdb2.store.nodetupletable.NodeTupleTableConcrete.findAsNodeIds(NodeTupleTableConcrete.java:141)
at org.apache.jena.tdb2.store.nodetupletable.NodeTupleTableConcrete.find(NodeTupleTableConcrete.java:119)
at org.apache.jena.tdb2.store.StoragePrefixesTDB.get(StoragePrefixesTDB.java:71)
at org.apache.jena.dboe.storage.prefixes.StoragePrefixesView.stream(StoragePrefixesView.java:98)
at org.apache.jena.dboe.storage.prefixes.PrefixMapOverStorage.getMappingCopy(PrefixMapOverStorage.java:48)
at org.apache.jena.dboe.storage.prefixes.PrefixMapOverStorage.getMapping(PrefixMapOverStorage.java:43)
at org.apache.jena.riot.system.PrefixMapWrapper.getMapping(PrefixMapWrapper.java:41)
at org.apache.jena.riot.system.PrefixMapBase.putAll(PrefixMapBase.java:65)
at org.apache.jena.sparql.exec.QueryExecDataset.insertPrefixesInto(QueryExecDataset.java:547)
at org.apache.jena.sparql.exec.QueryExecDataset.constructDataset(QueryExecDataset.java:247)
at org.apache.jena.sparql.exec.QueryExec.constructDataset(QueryExec.java:166)
at org.apache.jena.fuseki.servlets.SPARQLQueryProcessor.executeQuery(SPARQLQueryProcessor.java:401)
at org.apache.jena.fuseki.servlets.SPARQLQueryProcessor.execute(SPARQLQueryProcessor.java:284)
at org.apache.jena.fuseki.servlets.SPARQLQueryProcessor.executeWithParameter(SPARQLQueryProcessor.java:224)
at org.apache.jena.fuseki.servlets.SPARQLQueryProcessor.execute(SPARQLQueryProcessor.java:209)
at org.apache.jena.fuseki.servlets.ActionService.executeLifecycle(ActionService.java:58)
at org.apache.jena.fuseki.servlets.SPARQLQueryProcessor.execPost(SPARQLQueryProcessor.java:84)
at org.apache.jena.fuseki.servlets.ActionProcessor.process(ActionProcessor.java:34)
at org.apache.jena.fuseki.servlets.ActionBase.process(ActionBase.java:54)
at org.apache.jena.fuseki.servlets.ActionExecLib.execActionSub(ActionExecLib.java:124)
at org.apache.jena.fuseki.servlets.ActionExecLib.execAction(ActionExecLib.java:98)
at org.apache.jena.fuseki.server.Dispatcher.dispatchAction(Dispatcher.java:239)
at org.apache.jena.fuseki.server.Dispatcher.process(Dispatcher.java:229)
at org.apache.jena.fuseki.server.Dispatcher.dispatch(Dispatcher.java:147)
at org.apache.jena.fuseki.servlets.FusekiFilter.doFilter(FusekiFilter.java:49)
at org.eclipse.jetty.ee10.servlet.FilterHolder.doFilter(FilterHolder.java:205)
at org.eclipse.jetty.ee10.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1594)
at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:65)
at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:109)
at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:138)
at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)
at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:70)
at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:109)
at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:138)
at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)
at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:70)
at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:109)
at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:138)
at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)
at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:70)
at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:463)
at org.apache.shiro.web.servlet.AbstractShiroFilter.lambda$doFilterInternal$0(AbstractShiroFilter.java:378)
at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:91)
at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:84)
at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:389)
at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:376)
at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)
at org.eclipse.jetty.ee10.servlet.FilterHolder.doFilter(FilterHolder.java:205)
at org.eclipse.jetty.ee10.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1594)
at org.apache.jena.fuseki.servlets.CrossOriginFilter.handle(CrossOriginFilter.java:351)
at org.apache.jena.fuseki.servlets.CrossOriginFilter.doFilter(CrossOriginFilter.java:304)
at org.eclipse.jetty.ee10.servlet.FilterHolder.doFilter(FilterHolder.java:205)
All compaction logs and DB logs around the compaction timeframe (02:00 - 03:59 UTC) over the last month on this server:
1759370400714 2025-10-02T02:00:00.714Z [Task 1] starts : Compact
1759370400709 2025-10-02T02:00:00.709Z Task : 1 : Compact
1759284000701 2025-10-01T02:00:00.701Z [Task 3] starts : Compact
1759284000700 2025-10-01T02:00:00.700Z Task : 3 : Compact
1759240863739 2025-09-30T14:01:03.739Z Tue Sep 30 16:01:03 CEST 2025: Timed out while compacting dsp-repo
1759197600792 2025-09-30T02:00:00.792Z [Task 2] starts : Compact
1759197600791 2025-09-30T02:00:00.791Z Task : 2 : Compact
1759154465935 2025-09-29T14:01:05.935Z Mon Sep 29 16:01:05 CEST 2025: Timed out while compacting dsp-repo
1759111200933 2025-09-29T02:00:00.933Z [Task 1] starts : Compact
1759111200924 2025-09-29T02:00:00.924Z Task : 1 : Compact
1759024801161 2025-09-28T02:00:01.161Z [Task 3] starts : Compact
1759024801144 2025-09-28T02:00:01.144Z Task : 3 : Compact
1758981663937 2025-09-27T14:01:03.937Z Sat Sep 27 16:01:03 CEST 2025: Timed out while compacting dsp-repo
1758941302902 2025-09-27T02:48:22.902Z Exception in insertPrefixes: Not in a transaction
org.apache.jena.dboe.transaction.txn.TransactionException: Not in a transaction
at org.apache.jena.dboe.transaction.txn.TransactionalComponentLifecycle.checkTxn(TransactionalComponentLifecycle.java:350)
at org.apache.jena.dboe.trans.bplustree.BPlusTree.getRootRead(BPlusTree.java:156)
at org.apache.jena.dboe.trans.bplustree.BPlusTree.find(BPlusTree.java:231)
at org.apache.jena.tdb2.store.nodetable.NodeTableNative.accessIndex(NodeTableNative.java:130)
at org.apache.jena.tdb2.store.nodetable.NodeTableNative._idForNode(NodeTableNative.java:116)
at org.apache.jena.tdb2.store.nodetable.NodeTableNative.getNodeIdForNode(NodeTableNative.java:57)
at org.apache.jena.tdb2.store.nodetable.NodeTableCache._idForNode(NodeTableCache.java:241)
at org.apache.jena.tdb2.store.nodetable.NodeTableCache.getNodeIdForNode(NodeTableCache.java:143)
at org.apache.jena.tdb2.store.nodetable.NodeTableWrapper.getNodeIdForNode(NodeTableWrapper.java:47)
at org.apache.jena.tdb2.store.nodetable.NodeTableInline.getNodeIdForNode(NodeTableInline.java:57)
at org.apache.jena.tdb2.store.nodetupletable.NodeTupleTableConcrete.idForNode(NodeTupleTableConcrete.java:188)
at org.apache.jena.tdb2.store.nodetupletable.NodeTupleTableConcrete.findAsNodeIds(NodeTupleTableConcrete.java:141)
at org.apache.jena.tdb2.store.nodetupletable.NodeTupleTableConcrete.find(NodeTupleTableConcrete.java:119)
at org.apache.jena.tdb2.store.StoragePrefixesTDB.get(StoragePrefixesTDB.java:71)
at org.apache.jena.dboe.storage.prefixes.StoragePrefixesView.stream(StoragePrefixesView.java:98)
at org.apache.jena.dboe.storage.prefixes.PrefixMapOverStorage.getMappingCopy(PrefixMapOverStorage.java:48)
at org.apache.jena.dboe.storage.prefixes.PrefixMapOverStorage.getMapping(PrefixMapOverStorage.java:43)
at org.apache.jena.riot.system.PrefixMapWrapper.getMapping(PrefixMapWrapper.java:41)
at org.apache.jena.riot.system.PrefixMapBase.putAll(PrefixMapBase.java:65)
at org.apache.jena.sparql.exec.QueryExecDataset.insertPrefixesInto(QueryExecDataset.java:547)
at org.apache.jena.sparql.exec.QueryExecDataset.constructDataset(QueryExecDataset.java:247)
at org.apache.jena.sparql.exec.QueryExec.constructDataset(QueryExec.java:166)
at org.apache.jena.fuseki.servlets.SPARQLQueryProcessor.executeQuery(SPARQLQueryProcessor.java:401)
at org.apache.jena.fuseki.servlets.SPARQLQueryProcessor.execute(SPARQLQueryProcessor.java:284)
at org.apache.jena.fuseki.servlets.SPARQLQueryProcessor.executeWithParameter(SPARQLQueryProcessor.java:224)
at org.apache.jena.fuseki.servlets.SPARQLQueryProcessor.execute(SPARQLQueryProcessor.java:209)
at org.apache.jena.fuseki.servlets.ActionService.executeLifecycle(ActionService.java:58)
at org.apache.jena.fuseki.servlets.SPARQLQueryProcessor.execPost(SPARQLQueryProcessor.java:84)
at org.apache.jena.fuseki.servlets.ActionProcessor.process(ActionProcessor.java:34)
at org.apache.jena.fuseki.servlets.ActionBase.process(ActionBase.java:54)
at org.apache.jena.fuseki.servlets.ActionExecLib.execActionSub(ActionExecLib.java:124)
at org.apache.jena.fuseki.servlets.ActionExecLib.execAction(ActionExecLib.java:98)
at org.apache.jena.fuseki.server.Dispatcher.dispatchAction(Dispatcher.java:239)
at org.apache.jena.fuseki.server.Dispatcher.process(Dispatcher.java:229)
at org.apache.jena.fuseki.server.Dispatcher.dispatch(Dispatcher.java:147)
at org.apache.jena.fuseki.servlets.FusekiFilter.doFilter(FusekiFilter.java:49)
at org.eclipse.jetty.ee10.servlet.FilterHolder.doFilter(FilterHolder.java:205)
at org.eclipse.jetty.ee10.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1594)
at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:65)
at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:109)
at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:138)
at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)
at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:70)
at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:109)
at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:138)
at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)
at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:70)
at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:109)
at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:138)
at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)
at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:70)
at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:463)
at org.apache.shiro.web.servlet.AbstractShiroFilter.lambda$doFilterInternal$0(AbstractShiroFilter.java:378)
at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:91)
at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:84)
at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:389)
at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:376)
at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)
at org.eclipse.jetty.ee10.servlet.FilterHolder.doFilter(FilterHolder.java:205)
at org.eclipse.jetty.ee10.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1594)
at org.apache.jena.fuseki.servlets.CrossOriginFilter.handle(CrossOriginFilter.java:351)
at org.apache.jena.fuseki.servlets.CrossOriginFilter.doFilter(CrossOriginFilter.java:304)
at org.eclipse.jetty.ee10.servlet.FilterHolder.doFilter(FilterHolder.java:205)
1758938400104 2025-09-27T02:00:00.104Z [Task 2] starts : Compact
1758938400101 2025-09-27T02:00:00.101Z Task : 2 : Compact
1758854725922 2025-09-26T02:45:25.922Z Fri Sep 26 04:45:25 CEST 2025: Successfully compacted dsp-repo
1758854719260 2025-09-26T02:45:19.260Z [Task 1] finishes : Compact
1758852000630 2025-09-26T02:00:00.630Z [Task 1] starts : Compact
1758852000626 2025-09-26T02:00:00.626Z Task : 1 : Compact
1758765600991 2025-09-25T02:00:00.991Z [Task 2] starts : Compact
1758765600988 2025-09-25T02:00:00.988Z Task : 2 : Compact
1758682025239 2025-09-24T02:47:05.239Z Wed Sep 24 04:47:05 CEST 2025: Successfully compacted dsp-repo
1758682015746 2025-09-24T02:46:55.746Z [Task 1] finishes : Compact
1758679200557 2025-09-24T02:00:00.557Z [Task 1] starts : Compact
1758679200549 2025-09-24T02:00:00.549Z Task : 1 : Compact
1758603019093 2025-09-23T04:50:19.093Z Tue Sep 23 06:50:18 CEST 2025: Failed compacting dsp-repo
1758592801011 2025-09-23T02:00:01.011Z [Task 2] starts : Compact
1758592801008 2025-09-23T02:00:01.008Z Task : 2 : Compact
1758549665049 2025-09-22T14:01:05.049Z Mon Sep 22 16:01:04 CEST 2025: Timed out while compacting dsp-repo
1758509099221 2025-09-22T02:44:59.221Z Exception in insertPrefixes: Not in a transaction
org.apache.jena.dboe.transaction.txn.TransactionException: Not in a transaction
at org.apache.jena.dboe.transaction.txn.TransactionalComponentLifecycle.checkTxn(TransactionalComponentLifecycle.java:350)
at org.apache.jena.dboe.trans.bplustree.BPlusTree.getRootRead(BPlusTree.java:156)
at org.apache.jena.dboe.trans.bplustree.BPlusTree.find(BPlusTree.java:231)
at org.apache.jena.tdb2.store.nodetable.NodeTableNative.accessIndex(NodeTableNative.java:130)
at org.apache.jena.tdb2.store.nodetable.NodeTableNative._idForNode(NodeTableNative.java:116)
at org.apache.jena.tdb2.store.nodetable.NodeTableNative.getNodeIdForNode(NodeTableNative.java:57)
at org.apache.jena.tdb2.store.nodetable.NodeTableCache._idForNode(NodeTableCache.java:241)
at org.apache.jena.tdb2.store.nodetable.NodeTableCache.getNodeIdForNode(NodeTableCache.java:143)
at org.apache.jena.tdb2.store.nodetable.NodeTableWrapper.getNodeIdForNode(NodeTableWrapper.java:47)
at org.apache.jena.tdb2.store.nodetable.NodeTableInline.getNodeIdForNode(NodeTableInline.java:57)
at org.apache.jena.tdb2.store.nodetupletable.NodeTupleTableConcrete.idForNode(NodeTupleTableConcrete.java:188)
at org.apache.jena.tdb2.store.nodetupletable.NodeTupleTableConcrete.findAsNodeIds(NodeTupleTableConcrete.java:141)
at org.apache.jena.tdb2.store.nodetupletable.NodeTupleTableConcrete.find(NodeTupleTableConcrete.java:119)
at org.apache.jena.tdb2.store.StoragePrefixesTDB.get(StoragePrefixesTDB.java:71)
at org.apache.jena.dboe.storage.prefixes.StoragePrefixesView.stream(StoragePrefixesView.java:98)
at org.apache.jena.dboe.storage.prefixes.PrefixMapOverStorage.getMappingCopy(PrefixMapOverStorage.java:48)
at org.apache.jena.dboe.storage.prefixes.PrefixMapOverStorage.getMapping(PrefixMapOverStorage.java:43)
at org.apache.jena.riot.system.PrefixMapWrapper.getMapping(PrefixMapWrapper.java:41)
at org.apache.jena.riot.system.PrefixMapBase.putAll(PrefixMapBase.java:65)
at org.apache.jena.sparql.exec.QueryExecDataset.insertPrefixesInto(QueryExecDataset.java:547)
at org.apache.jena.sparql.exec.QueryExecDataset.constructDataset(QueryExecDataset.java:247)
at org.apache.jena.sparql.exec.QueryExec.constructDataset(QueryExec.java:166)
at org.apache.jena.fuseki.servlets.SPARQLQueryProcessor.executeQuery(SPARQLQueryProcessor.java:401)
at org.apache.jena.fuseki.servlets.SPARQLQueryProcessor.execute(SPARQLQueryProcessor.java:284)
at org.apache.jena.fuseki.servlets.SPARQLQueryProcessor.executeWithParameter(SPARQLQueryProcessor.java:224)
at org.apache.jena.fuseki.servlets.SPARQLQueryProcessor.execute(SPARQLQueryProcessor.java:209)
at org.apache.jena.fuseki.servlets.ActionService.executeLifecycle(ActionService.java:58)
at org.apache.jena.fuseki.servlets.SPARQLQueryProcessor.execPost(SPARQLQueryProcessor.java:84)
at org.apache.jena.fuseki.servlets.ActionProcessor.process(ActionProcessor.java:34)
at org.apache.jena.fuseki.servlets.ActionBase.process(ActionBase.java:54)
at org.apache.jena.fuseki.servlets.ActionExecLib.execActionSub(ActionExecLib.java:124)
at org.apache.jena.fuseki.servlets.ActionExecLib.execAction(ActionExecLib.java:98)
at org.apache.jena.fuseki.server.Dispatcher.dispatchAction(Dispatcher.java:239)
at org.apache.jena.fuseki.server.Dispatcher.process(Dispatcher.java:229)
at org.apache.jena.fuseki.server.Dispatcher.dispatch(Dispatcher.java:147)
at org.apache.jena.fuseki.servlets.FusekiFilter.doFilter(FusekiFilter.java:49)
at org.eclipse.jetty.ee10.servlet.FilterHolder.doFilter(FilterHolder.java:205)
at org.eclipse.jetty.ee10.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1594)
at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:65)
at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:109)
at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:138)
at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)
at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:70)
at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:109)
at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:138)
at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)
at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:70)
at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:109)
at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:138)
at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)
at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:70)
at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:463)
at org.apache.shiro.web.servlet.AbstractShiroFilter.lambda$doFilterInternal$0(AbstractShiroFilter.java:378)
at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:91)
at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:84)
at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:389)
at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:376)
at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)
at org.eclipse.jetty.ee10.servlet.FilterHolder.doFilter(FilterHolder.java:205)
at org.eclipse.jetty.ee10.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1594)
at org.apache.jena.fuseki.servlets.CrossOriginFilter.handle(CrossOriginFilter.java:351)
at org.apache.jena.fuseki.servlets.CrossOriginFilter.doFilter(CrossOriginFilter.java:304)
at org.eclipse.jetty.ee10.servlet.FilterHolder.doFilter(FilterHolder.java:205)
1758506401288 2025-09-22T02:00:01.288Z [Task 1] starts : Compact
1758506401270 2025-09-22T02:00:01.270Z Task : 1 : Compact
1758420000748 2025-09-21T02:00:00.748Z [Task 4] starts : Compact
1758420000747 2025-09-21T02:00:00.747Z Task : 4 : Compact
1758376864088 2025-09-20T14:01:04.088Z Sat Sep 20 16:01:04 CEST 2025: Timed out while compacting dsp-repo
1758333600759 2025-09-20T02:00:00.759Z [Task 3] starts : Compact
1758333600759 2025-09-20T02:00:00.759Z Task : 3 : Compact
1758290464794 2025-09-19T14:01:04.794Z Fri Sep 19 16:01:04 CEST 2025: Timed out while compacting dsp-repo
1758247200797 2025-09-19T02:00:00.797Z [Task 2] starts : Compact
1758247200795 2025-09-19T02:00:00.795Z Task : 2 : Compact
1758204067516 2025-09-18T14:01:07.516Z Thu Sep 18 16:01:07 CEST 2025: Timed out while compacting dsp-repo
1758160800766 2025-09-18T02:00:00.766Z [Task 1] starts : Compact
1758160800764 2025-09-18T02:00:00.764Z Task : 1 : Compact
1758074401461 2025-09-17T02:00:01.461Z Wed Sep 17 04:00:00 CEST 2025: Failed compacting dsp-repo
1758074400602 2025-09-17T02:00:00.602Z Task : 7 : Compact
1757988000659 2025-09-16T02:00:00.659Z Tue Sep 16 04:00:00 CEST 2025: Failed compacting dsp-repo
1757988000225 2025-09-16T02:00:00.225Z Task : 6 : Compact
1757901601772 2025-09-15T02:00:01.772Z Mon Sep 15 04:00:00 CEST 2025: Failed compacting dsp-repo
1757901600862 2025-09-15T02:00:00.862Z Task : 5 : Compact
1757858464212 2025-09-14T14:01:04.212Z Sun Sep 14 16:01:03 CEST 2025: Timed out while compacting dsp-repo
1757815200873 2025-09-14T02:00:00.873Z [Task 4] starts : Compact
1757815200873 2025-09-14T02:00:00.873Z Task : 4 : Compact
1757772065114 2025-09-13T14:01:05.114Z Sat Sep 13 16:01:04 CEST 2025: Timed out while compacting dsp-repo
1757728800901 2025-09-13T02:00:00.901Z [Task 3] starts : Compact
1757728800901 2025-09-13T02:00:00.901Z Task : 3 : Compact
1757685665830 2025-09-12T14:01:05.830Z Fri Sep 12 16:01:05 CEST 2025: Timed out while compacting dsp-repo
1757642400981 2025-09-12T02:00:00.981Z [Task 2] starts : Compact
1757642400980 2025-09-12T02:00:00.980Z Task : 2 : Compact
1757599268073 2025-09-11T14:01:08.073Z Thu Sep 11 16:01:07 CEST 2025: Timed out while compacting dsp-repo
1757562474780 2025-09-11T03:47:54.780Z URI is too large >524288
1757556000903 2025-09-11T02:00:00.903Z [Task 1] starts : Compact
1757556000902 2025-09-11T02:00:00.902Z Task : 1 : Compact
1757472607036 2025-09-10T02:50:07.036Z Wed Sep 10 04:50:06 CEST 2025: Successfully compacted dsp-repo
1757472606136 2025-09-10T02:50:06.136Z [Task 2] finishes : Compact
1757469600816 2025-09-10T02:00:00.816Z [Task 2] starts : Compact
1757469600815 2025-09-10T02:00:00.815Z Task : 2 : Compact
1757385976167 2025-09-09T02:46:16.167Z Tue Sep 9 04:46:15 CEST 2025: Successfully compacted dsp-repo
1757385968573 2025-09-09T02:46:08.573Z [Task 1] finishes : Compact
1757383200877 2025-09-09T02:00:00.877Z [Task 1] starts : Compact
1757383200874 2025-09-09T02:00:00.874Z Task : 1 : Compact
1757340061352 2025-09-08T14:01:01.352Z Mon Sep 8 16:01:00 CEST 2025: Failed compacting dsp-repo
1757296800741 2025-09-08T02:00:00.741Z [Task 3] starts : Compact
1757296800740 2025-09-08T02:00:00.740Z Task : 3 : Compact
1757213185175 2025-09-07T02:46:25.175Z Sun Sep 7 04:46:25 CEST 2025: Successfully compacted dsp-repo
1757213181882 2025-09-07T02:46:21.882Z [Task 2] finishes : Compact
1757210400356 2025-09-07T02:00:00.356Z [Task 2] starts : Compact
1757210400353 2025-09-07T02:00:00.353Z Task : 2 : Compact
1757126736064 2025-09-06T02:45:36.064Z Sat Sep 6 04:45:35 CEST 2025: Successfully compacted dsp-repo
1757126730223 2025-09-06T02:45:30.223Z [Task 1] finishes : Compact
1757124000931 2025-09-06T02:00:00.931Z [Task 1] starts : Compact
1757124000927 2025-09-06T02:00:00.927Z Task : 1 : Compact
1757080867562 2025-09-05T14:01:07.562Z Fri Sep 5 16:01:07 CEST 2025: Timed out while compacting dsp-repo
1757037600896 2025-09-05T02:00:00.896Z [Task 2] starts : Compact
1757037600895 2025-09-05T02:00:00.895Z Task : 2 : Compact
1756994466239 2025-09-04T14:01:06.239Z Thu Sep 4 16:01:05 CEST 2025: Timed out while compacting dsp-repo
1756951200962 2025-09-04T02:00:00.962Z [Task 1] starts : Compact
1756951200960 2025-09-04T02:00:00.960Z Task : 1 : Compact
1756867636065 2025-09-03T02:47:16.065Z Wed Sep 3 04:47:15 CEST 2025: Successfully compacted dsp-repo
1756867633300 2025-09-03T02:47:13.300Z [Task 3] finishes : Compact
1756864800839 2025-09-03T02:00:00.839Z [Task 3] starts : Compact
1756864800836 2025-09-03T02:00:00.836Z Task : 3 : Compact
1756781235902 2025-09-02T02:47:15.902Z Tue Sep 2 04:47:15 CEST 2025: Successfully compacted dsp-repo
1756781229618 2025-09-02T02:47:09.618Z [Task 2] finishes : Compact
1756778400445 2025-09-02T02:00:00.445Z [Task 2] starts : Compact
1756778400442 2025-09-02T02:00:00.442Z Task : 2 : Compact
I found one other single exception on another server on another night related to compaction which I haven't seen anywhere else, but the compaction that time DID "successfully fail" (i.e. task reported as failed), so it may or may not be related to the "getting stuck" problem:
[12540] **** Exception in compact
java.lang.InternalError: a fault occurred in an unsafe memory access operation
at org.apache.jena.dboe.base.buffer.BufferBase.copy(BufferBase.java:84)
at org.apache.jena.dboe.trans.bplustree.BPTreeRecords.split(BPTreeRecords.java:211)
at org.apache.jena.dboe.trans.bplustree.BPTreeNode.split(BPTreeNode.java:565)
at org.apache.jena.dboe.trans.bplustree.BPTreeNode.internalInsert(BPTreeNode.java:506)
at org.apache.jena.dboe.trans.bplustree.BPTreeNode.internalInsert(BPTreeNode.java:519)
at org.apache.jena.dboe.trans.bplustree.BPTreeNode.internalInsert(BPTreeNode.java:519)
at org.apache.jena.dboe.trans.bplustree.BPTreeNode.insert(BPTreeNode.java:203)
at org.apache.jena.dboe.trans.bplustree.BPlusTree.insertAndReturnOld(BPlusTree.java:274)
at org.apache.jena.dboe.trans.bplustree.BPlusTree.insert(BPlusTree.java:266)
at org.apache.jena.tdb2.store.tupletable.TupleIndexRecord.performAdd(TupleIndexRecord.java:92)
at org.apache.jena.tdb2.store.tupletable.TupleIndexBase.add(TupleIndexBase.java:66)
at org.apache.jena.tdb2.store.tupletable.TupleTable.add(TupleTable.java:95)
at org.apache.jena.tdb2.store.nodetupletable.NodeTupleTableConcrete.addRow(NodeTupleTableConcrete.java:79)
at org.apache.jena.tdb2.store.QuadTable.add(QuadTable.java:57)
at org.apache.jena.tdb2.store.StorageTDB.add(StorageTDB.java:82)
at org.apache.jena.dboe.storage.StorageRDF.add(StorageRDF.java:69)
at org.apache.jena.dboe.storage.system.DatasetGraphStorage.add(DatasetGraphStorage.java:165)
at org.apache.jena.atlas.iterator.Iter$IterMap.lambda$forEachRemaining$0(Iter.java:448)
at java.base/java.util.Iterator.forEachRemaining(Unknown Source)
at org.apache.jena.atlas.iterator.Iter$IterMap.forEachRemaining(Iter.java:448)
at org.apache.jena.atlas.iterator.IteratorWrapper.forEachRemaining(IteratorWrapper.java:52)
at org.apache.jena.tdb2.sys.CopyDSG.lambda$copy$0(CopyDSG.java:38)
at org.apache.jena.system.Txn.exec(Txn.java:79)
at org.apache.jena.system.Txn.executeWrite(Txn.java:127)
at org.apache.jena.tdb2.sys.CopyDSG.lambda$copy$1(CopyDSG.java:36)
at org.apache.jena.system.Txn.exec(Txn.java:79)
at org.apache.jena.system.Txn.executeRead(Txn.java:117)
at org.apache.jena.tdb2.sys.CopyDSG.copy(CopyDSG.java:35)
at org.apache.jena.tdb2.sys.DatabaseOps.lambda$compaction$3(DatabaseOps.java:432)
at org.apache.jena.dboe.transaction.txn.TransactionalSystemControl.execReadOnlyDatabase(TransactionalSystemControl.java:45)
at org.apache.jena.tdb2.sys.DatabaseOps.compaction(DatabaseOps.java:420)
at org.apache.jena.tdb2.sys.DatabaseOps.compact(DatabaseOps.java:359)
at org.apache.jena.tdb2.DatabaseMgr.compact(DatabaseMgr.java:92)
at org.apache.jena.fuseki.ctl.ActionCompact$CompactTask.run(ActionCompact.java:110)
at org.apache.jena.fuseki.async.AsyncPool.lambda$submit$0(AsyncPool.java:66)
at org.apache.jena.fuseki.async.AsyncTask.call(AsyncTask.java:100)
at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.base/java.lang.Thread.run(Unknown Source)Are you interested in making a pull request?
None