It does happen in our test environment on high load quite often. More
sleep I put in the test script, less frequently error happens.
Most of the time transactions are executed after the error, but not
always. Fuseki never returns error. Rarely below error happens, don't
know if it's related.
I'm not able to produce a sendable script that would case these errors.
So as a fix I'm planning just to add enough sleep between every Fuseki
call. 50-100ms seems to work.
org.apache.jena.query.QueryException: Secondary index duplicate:
GSPO->GPOS -> [[0000000000A9D430], [0000000015AFB422],
[0000000000002602], [04007E280A6A5DC0]]
at
org.apache.jena.sparql.lang.ParserARQUpdate._parse(ParserARQUpdate.java:78)
at
org.apache.jena.sparql.lang.ParserARQUpdate.parse$(ParserARQUpdate.java:45)
at
org.apache.jena.sparql.lang.UpdateParser.parse(UpdateParser.java:48)
at
org.apache.jena.update.UpdateAction.parseExecute(UpdateAction.java:421)
at
org.apache.jena.update.UpdateAction.parseExecute(UpdateAction.java:380)
at
org.apache.jena.fuseki.servlets.SPARQL_Update.execute(SPARQL_Update.java:234)
at
org.apache.jena.fuseki.servlets.SPARQL_Update.executeBody(SPARQL_Update.java:189)
at
org.apache.jena.fuseki.servlets.SPARQL_Update.perform(SPARQL_Update.java:106)
at
org.apache.jena.fuseki.servlets.ActionService.executeLifecycle(ActionService.java:192)
at
org.apache.jena.fuseki.servlets.ActionService.execCommonWorker(ActionService.java:106)
at
org.apache.jena.fuseki.servlets.ActionBase.doCommon(ActionBase.java:73)
at
org.apache.jena.fuseki.servlets.FusekiFilter.doFilter(FusekiFilter.java:73)
at
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637)
at
org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61)
at
org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108)
at
org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137)
at
org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
at
org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66)
at
org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449)
at
org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365)
at
org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)
at
org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83)
at
org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:383)
at
org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362)
at
org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
at
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637)
at
org.apache.jena.fuseki.servlets.CrossOriginFilter.handle(CrossOriginFilter.java:285)
at
org.apache.jena.fuseki.servlets.CrossOriginFilter.doFilter(CrossOriginFilter.java:248)
at
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1629)
at
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:533)
at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
at
org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548)
at
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
at
org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:190)
at
org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
at
org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:188)
at
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1253)
at
org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:168)
at
org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)
at
org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)
at
org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:166)
at
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1155)
at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
at
org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:455)
at
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
at org.eclipse.jetty.server.Server.handle(Server.java:561)
at
org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:334)
at
org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251)
at
org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:279)
at
org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:104)
at
org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:124)
at
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:247)
at
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.produce(EatWhatYouKill.java:140)
at
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:131)
at
org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:243)
at
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:679)
at
org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:597)
at java.lang.Thread.run(Thread.java:748)
Caused by: org.apache.jena.tdb.TDBException: Secondary index duplicate:
GSPO->GPOS -> [[0000000000A9D430], [0000000015AFB422],
[0000000000002602], [04007E280A6A5DC0]]
at
org.apache.jena.tdb.store.tupletable.TupleTable.add(TupleTable.java:103)
at
org.apache.jena.tdb.store.nodetupletable.NodeTupleTableConcrete.addRow(NodeTupleTableConcrete.java:88)
at org.apache.jena.tdb.store.QuadTable.add(QuadTable.java:60)
at
org.apache.jena.tdb.store.DatasetGraphTDB.addToNamedGraph(DatasetGraphTDB.java:97)
at
org.apache.jena.sparql.core.DatasetGraphTriplesQuads.add(DatasetGraphTriplesQuads.java:44)
at
org.apache.jena.sparql.core.DatasetGraphTriplesQuads.add(DatasetGraphTriplesQuads.java:31)
at
org.apache.jena.sparql.core.DatasetGraphWrapper.add(DatasetGraphWrapper.java:116)
at
org.apache.jena.sparql.modify.UpdateEngineWorker.addToDatasetGraph(UpdateEngineWorker.java:539)
at
org.apache.jena.sparql.modify.UpdateEngineWorker.lambda$execInsert$4(UpdateEngineWorker.java:532)
at java.util.Iterator.forEachRemaining(Iterator.java:116)
at
org.apache.jena.sparql.modify.UpdateEngineWorker.execInsert(UpdateEngineWorker.java:532)
at
org.apache.jena.sparql.modify.UpdateEngineWorker.execInsert(UpdateEngineWorker.java:521)
at
org.apache.jena.sparql.modify.UpdateEngineWorker.visit(UpdateEngineWorker.java:418)
at
org.apache.jena.sparql.modify.request.UpdateModify.visit(UpdateModify.java:100)
at
org.apache.jena.sparql.modify.UpdateVisitorSink.send(UpdateVisitorSink.java:46)
at
org.apache.jena.sparql.modify.UpdateVisitorSink.send(UpdateVisitorSink.java:26)
at
org.apache.jena.sparql.modify.UsingUpdateSink.send(UsingUpdateSink.java:61)
at
org.apache.jena.sparql.modify.UsingUpdateSink.send(UsingUpdateSink.java:31)
at
org.apache.jena.sparql.lang.SPARQLParserBase.emitUpdate(SPARQLParserBase.java:189)
at
org.apache.jena.sparql.lang.arq.ARQParser.Update1(ARQParser.java:1491)
at
org.apache.jena.sparql.lang.arq.ARQParser.Update(ARQParser.java:1419)
at
org.apache.jena.sparql.lang.arq.ARQParser.UpdateUnit(ARQParser.java:52)
at
org.apache.jena.sparql.lang.ParserARQUpdate._parse(ParserARQUpdate.java:62)
... 57 more
org.apache.jena.query.QueryException: Secondary index duplicate:
GSPO->GPOS -> [[0000000000A9D430], [0000000015AFB422],
[0000000000002602], [04007E280A6A5DC0]]
at
org.apache.jena.sparql.lang.ParserARQUpdate._parse(ParserARQUpdate.java:78)
at
org.apache.jena.sparql.lang.ParserARQUpdate.parse$(ParserARQUpdate.java:45)
at
org.apache.jena.sparql.lang.UpdateParser.parse(UpdateParser.java:48)
at
org.apache.jena.update.UpdateAction.parseExecute(UpdateAction.java:421)
at
org.apache.jena.update.UpdateAction.parseExecute(UpdateAction.java:380)
at
org.apache.jena.fuseki.servlets.SPARQL_Update.execute(SPARQL_Update.java:234)
at
org.apache.jena.fuseki.servlets.SPARQL_Update.executeBody(SPARQL_Update.java:189)
at
org.apache.jena.fuseki.servlets.SPARQL_Update.perform(SPARQL_Update.java:106)
at
org.apache.jena.fuseki.servlets.ActionService.executeLifecycle(ActionService.java:192)
at
org.apache.jena.fuseki.servlets.ActionService.execCommonWorker(ActionService.java:106)
at
org.apache.jena.fuseki.servlets.ActionBase.doCommon(ActionBase.java:73)
at
org.apache.jena.fuseki.servlets.FusekiFilter.doFilter(FusekiFilter.java:73)
at
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637)
at
org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61)
at
org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108)
at
org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137)
at
org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
at
org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66)
at
org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449)
at
org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365)
at
org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)
at
org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83)
at
org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:383)
at
org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362)
at
org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
at
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637)
at
org.apache.jena.fuseki.servlets.CrossOriginFilter.handle(CrossOriginFilter.java:285)
at
org.apache.jena.fuseki.servlets.CrossOriginFilter.doFilter(CrossOriginFilter.java:248)
at
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1629)
at
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:533)
at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
at
org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548)
at
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
at
org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:190)
at
org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
at
org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:188)
at
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1253)
at
org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:168)
at
org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)
at
org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)
at
org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:166)
at
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1155)
at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
at
org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:455)
at
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
at org.eclipse.jetty.server.Server.handle(Server.java:561)
at
org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:334)
at
org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251)
at
org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:279)
at
org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:104)
at
org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:124)
at
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:247)
at
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.produce(EatWhatYouKill.java:140)
at
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:131)
at
org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:243)
at
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:679)
at
org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:597)
at java.lang.Thread.run(Thread.java:748)
Caused by: org.apache.jena.tdb.TDBException: Secondary index duplicate:
GSPO->GPOS -> [[0000000000A9D430], [0000000015AFB422],
[0000000000002602], [04007E280A6A5DC0]]
at
org.apache.jena.tdb.store.tupletable.TupleTable.add(TupleTable.java:103)
at
org.apache.jena.tdb.store.nodetupletable.NodeTupleTableConcrete.addRow(NodeTupleTableConcrete.java:88)
at org.apache.jena.tdb.store.QuadTable.add(QuadTable.java:60)
at
org.apache.jena.tdb.store.DatasetGraphTDB.addToNamedGraph(DatasetGraphTDB.java:97)
at
org.apache.jena.sparql.core.DatasetGraphTriplesQuads.add(DatasetGraphTriplesQuads.java:44)
at
org.apache.jena.sparql.core.DatasetGraphTriplesQuads.add(DatasetGraphTriplesQuads.java:31)
at
org.apache.jena.sparql.core.DatasetGraphWrapper.add(DatasetGraphWrapper.java:116)
at
org.apache.jena.sparql.modify.UpdateEngineWorker.addToDatasetGraph(UpdateEngineWorker.java:539)
at
org.apache.jena.sparql.modify.UpdateEngineWorker.lambda$execInsert$4(UpdateEngineWorker.java:532)
at java.util.Iterator.forEachRemaining(Iterator.java:116)
at
org.apache.jena.sparql.modify.UpdateEngineWorker.execInsert(UpdateEngineWorker.java:532)
at
org.apache.jena.sparql.modify.UpdateEngineWorker.execInsert(UpdateEngineWorker.java:521)
at
org.apache.jena.sparql.modify.UpdateEngineWorker.visit(UpdateEngineWorker.java:418)
at
org.apache.jena.sparql.modify.request.UpdateModify.visit(UpdateModify.java:100)
at
org.apache.jena.sparql.modify.UpdateVisitorSink.send(UpdateVisitorSink.java:46)
at
org.apache.jena.sparql.modify.UpdateVisitorSink.send(UpdateVisitorSink.java:26)
at
org.apache.jena.sparql.modify.UsingUpdateSink.send(UsingUpdateSink.java:61)
at
org.apache.jena.sparql.modify.UsingUpdateSink.send(UsingUpdateSink.java:31)
at
org.apache.jena.sparql.lang.SPARQLParserBase.emitUpdate(SPARQLParserBase.java:189)
at
org.apache.jena.sparql.lang.arq.ARQParser.Update1(ARQParser.java:1491)
at
org.apache.jena.sparql.lang.arq.ARQParser.Update(ARQParser.java:1419)
at
org.apache.jena.sparql.lang.arq.ARQParser.UpdateUnit(ARQParser.java:52)
at
org.apache.jena.sparql.lang.ParserARQUpdate._parse(ParserARQUpdate.java:62)
... 57 more
On 2.8.2018 11:03, Andy Seaborne wrote:
(subject line changed - this is not the original thread report)
On 01/08/18 10:32, Mikael Pesonen wrote:
Hi,
is it somehow possible to get this error (TransactionManager ERROR
There are now active transactions ) from Fuseki GSP so that client
could sleep and retry later allowing db to finish the transaction?
No - it's an internal consistency check.
Does the transaction still happen?
Do you have a reproducible script to make this happen? I've never seen
it occur.
Andy
On 19.6.2018 23:56, Andy Seaborne wrote:
On 18/06/18 11:36, Mikael Pesonen wrote:
On 18.6.2018 13:30, Andy Seaborne wrote:
On 18/06/18 10:55, Mikael Pesonen wrote:
Hi Andy,
On 18.6.2018 12:05, Andy Seaborne wrote:
>>> errors occur less than before.
which errors?
TransactionManager ERROR There are now active transactions
This occurs when Im inserting new data and trying to read it right
away (get empty result), or deleting data and trying to read it to
make sure it's deleted (get data that should be deleted). There are
no other errors in the log.
From looking at the code, I can't see how that happens - is it now
possible to provide a reproducible script so that I can run it on
machine?
Andy
-ku
FINLAND
--
Lingsoft - 30 years of Leading Language Management
www.lingsoft.fi
Speech Applications - Language Management - Translation - Reader's and Writer's
Tools - Text Tools - E-books and M-books
Mikael Pesonen
System Engineer
e-mail: mikael.peso...@lingsoft.fi
Tel. +358 2 279 3300
Time zone: GMT+2
Helsinki Office
Eteläranta 10
FI-00130 Helsinki
FINLAND
Turku Office
Kauppiaskatu 5 A
FI-20100 Turku
FINLAND