You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@jena.apache.org by Mikael Pesonen <mi...@lingsoft.fi> on 2018/08/01 09:32:19 UTC

Re: Fuseki errors with concurrent requests

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?



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
>

-- 
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.pesonen@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


Re: TransactionManager ERROR There are now active transactions

Posted by Dan Pritts <da...@umich.edu>.
I haven't been following this thread closely, but if you need to log 
POST (and all other) contents of an HTTP stream, and the application 
can't log it for you, there are two approaches I'd recommend.

1) sniff the wire.  If you aren't using TLS, this is trivial.  If you 
are using TLS, it may still be possible.

     https://wiki.wireshark.org/SSL

2) apache mod_logio.  This assumes apache as a proxy in front of 
fuseki.  The logs are ugly, but it's possible.

3) there are other proxy packages designed to work as a 
man-in-the-middle for just this purpose.  I haven't used any of them 
very much, I have notes pointing out these three:

  https://www.stunnel.org/ 
<https://www.google.com/url?q=https%3A%2F%2Fwww.stunnel.org%2F&sa=D&sntz=1&usg=AFQjCNGilyg434PXMdu6Vgq9v1Kk5ObwLw>
  https://mitmproxy.org/ 
<https://www.google.com/url?q=https%3A%2F%2Fmitmproxy.org%2F&sa=D&sntz=1&usg=AFQjCNE0a5cGtOTV4BrEfAXZIRE3-6bPeg>
  https://github.com/kdzwinel/betwixt 
<https://www.google.com/url?q=https%3A%2F%2Fgithub.com%2Fkdzwinel%2Fbetwixt&sa=D&sntz=1&usg=AFQjCNHG7QQGKKQXZzAme8KTqf_DbnuaDQ>





Andy Seaborne wrote on 8/9/18 9:28 AM:
>
>
> On 09/08/18 13:20, Mikael Pesonen wrote:
>>
>> Does Fuseki info level log do?
>
> No. It does not record the POST content.
>
> [3] POST http://semantic-dev.lingsoft.fi:3030/ds
>
>

-- 
Dan Pritts
ICPSR Computing & Network Services
University of Michigan
<https://www.postbox-inc.com>

Re: TransactionManager ERROR There are now active transactions

Posted by Mikael Pesonen <mi...@lingsoft.fi>.
Im switching to another project so we won't be able to look at this in 
few months.


On 23.8.2018 0:02, Andy Seaborne wrote:
> It's a not insignificant amount of work to pick the 310 recorded 
> operations (150 updates, 150 queries, 10 GSP operations), write a 
> script on invoke them, and set up a simulator for your environment.
>
> Then, maybe, it will cause show the log message.  Or maybe not, 
> because of all the different machinery. Maybe it is something to do 
> with connection patterns.
>
>     Andy
>
> On 22/08/18 14:57, Mikael Pesonen wrote:
>>
>> Any luck reproducing the error yet?
>>
>> Br
>>
>> On 13.8.2018 13:59, Mikael Pesonen wrote:
>>>
>>> Sorry
>>> https://www.dropbox.com/s/xy9d06ixjv8stif/fuseki_test.zip?dl=0
>>>
>>>
>>>
>>> On 13.8.2018 13:32, Andy Seaborne wrote:
>>>>
>>>>
>>>> On 13/08/18 11:12, Mikael Pesonen wrote:
>>>>>
>>>>> This was just an example, here is the test set with instructions: 
>>>>> https://www.dropbox.com/s/r1fd48v62822u2n/How%20to%20use%20the%20Public%20folder.txt?dl=0 
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> Not the instructions!
>>>>
>>>>
>>>>>
>>>>>
>>>>> Just after fresh start of Fuseki, this error is harder to cause. 
>>>>> After running in low/normal load for couple of weeks, it occurs 
>>>>> easily in every test.
>>>>>
>>>>> So right after restart of Fuseki, only way to cause this is to 
>>>>> repeat the query set in 10 (for example) concurrent scripts until 
>>>>> the errors occur. Ive usually got it in first 50 rounds. Of course 
>>>>> this more load than in real production but just to speed things up.
>>>>>
>>>>> And there are 2 kinds of ways this "TransactionManager ERROR There 
>>>>> are now active transactions" occurs: transactions are succesfull 
>>>>> or they are not. Running this query set doesn't of course tell 
>>>>> which ones they are.
>>>>>
>>>>> I did tests in empty disk based TDB1 and fuseki 3.7.0.
>>>>>
>>>>>
>>>>> Regarding to in-memory tdb, actually Im not sure if it works or 
>>>>> not, since I didn't do very long tests there.
>>>>>
>>>>>
>>>>> Also while running the test, I got seemingly random exceptions. 
>>>>> Here's one:
>>>>>
>>>>> org.apache.jena.query.QueryException: Secondary index duplicate: 
>>>>> GSPO->GPOS -> [[0000000000000000], [00000000000EF6D7], 
>>>>> [00000000000008AA], [0000000000000179]]
>>>>>          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) 
>>>>>
>>>>>      ...
>>>>>
>>>>> Br,
>>>>>
>>>>>
>>>>> On 12.8.2018 17:37, Andy Seaborne wrote:
>>>>>> Mikael,
>>>>>>
>>>>>> So if the 62 operations in this log are executed on a server 
>>>>>> starting with an empty TDB1 database, it will show the error? 
>>>>>> Every time such a test is run or only sometimes?  The same place 
>>>>>> in the sequence of operations every time?
>>>>>>
>>>>>>     Andy
>>>>>>
>>>>>> On 10/08/18 15:17, Mikael Pesonen wrote:
>>>>>>>
>>>>>>> Is this suitable format? Im not able to play with proxies and 
>>>>>>> our technical support is not available for summer time.
>>>>>>>
>>>>>>> https://www.dropbox.com/s/3we10p1vsc89hnl/fuseki_dump.log?dl=0
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On 9.8.2018 16:28, Andy Seaborne wrote:
>>>>>>>>
>>>>>>>>
>>>>>>>> On 09/08/18 13:20, Mikael Pesonen wrote:
>>>>>>>>>
>>>>>>>>> Does Fuseki info level log do?
>>>>>>>>
>>>>>>>> No. It does not record the POST content.
>>>>>>>>
>>>>>>>> [3] POST http://semantic-dev.lingsoft.fi:3030/ds
>>>>>>>>
>>>>>>>>
>>>>>>>> Was the database empty to start with?
>>>>>>>>
>>>>>>>>> It has all the traffic. Ive got a 400Mb log ready, zipped into 
>>>>>>>>> 8Mb, here: https://www.dropbox.com/s/omig80fqutkkekk/log.zip?dl=0
>>>>>>>>
>>>>>>>> Only up to the first error is needed.
>>>>>>>>
>>>>>>>> "Apache Jena Fuseki 3.7.0"
>>>>>>>> This is odd : "Running in read-only mode for /ds"
>>>>>>>>
>>>>>>>>     Andy
>>>>>>>>
>>>>>>>>>
>>>>>>>>> Br,
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On 8.8.2018 12:16, Andy Seaborne wrote:
>>>>>>>>>> We need to recreate it with a debugger attached.
>>>>>>>>>>
>>>>>>>>>> If you could collect the HTTP requests the scripts are 
>>>>>>>>>> making, then with a copy of the data, it might be possible to 
>>>>>>>>>> recreate the situation.
>>>>>>>>>>
>>>>>>>>>> Otherwise it's "something happened".  I can't see how to 
>>>>>>>>>> recreate it without a use case.
>>>>>>>>>>
>>>>>>>>>>     Andy
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On 07/08/18 10:06, Mikael Pesonen wrote:
>>>>>>>>>>>
>>>>>>>>>>> Are there any further tests I could do that might help 
>>>>>>>>>>> solving this?
>>>>>>>>>>>
>>>>>>>>>>> On 6.8.2018 14:01, ajs6f@apache.org wrote:
>>>>>>>>>>>> It tells us that the problem seems more likely to be with 
>>>>>>>>>>>> TDB than with
>>>>>>>>>>>> Fuseki, which is a step towards isolating it.
>>>>>>>>>>>>
>>>>>>>>>>>> Adam
>>>>>>>>>>>>
>>>>>>>>>>>> On Mon, Aug 6, 2018, 5:55 AM Mikael Pesonen 
>>>>>>>>>>>> <mi...@lingsoft.fi>
>>>>>>>>>>>> wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>> With in-memory db everything works. Ran ~50000 operations 
>>>>>>>>>>>>> x10 (10
>>>>>>>>>>>>> scripts in parallel) and no problems. Mem usage was 
>>>>>>>>>>>>> 3g-5,5g (java
>>>>>>>>>>>>> xmx4000) and vm 10g.
>>>>>>>>>>>>>
>>>>>>>>>>>>> So what does this tell? System is upcloud server so there 
>>>>>>>>>>>>> shouldn't be
>>>>>>>>>>>>> any issues with disk there...
>>>>>>>>>>>>>
>>>>>>>>>>>>> Br,
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> On 3.8.2018 16:33, ajs6f wrote:
>>>>>>>>>>>>>> That seems a bit strange. I would think that the single 
>>>>>>>>>>>>>> dataset lock and
>>>>>>>>>>>>> multiple-reader-or-single-writer policy would guard 
>>>>>>>>>>>>> against this-- only one
>>>>>>>>>>>>> thread (request) can mutate the dataset at a time. Or is 
>>>>>>>>>>>>> this a problem
>>>>>>>>>>>>> with TDB? Do you see this occurring with in-memory datasets?
>>>>>>>>>>>>>> ajs6f
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> On Aug 3, 2018, at 8:01 AM, Mikael Pesonen 
>>>>>>>>>>>>>>> <mi...@lingsoft.fi>
>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Easier fix that sleeping was to add system wide 
>>>>>>>>>>>>>>> semaphore which puts
>>>>>>>>>>>>> all concurrent requests to single queue.
>>>>>>>>>>>>>>> So the problem is in the way how Fuseki handles 
>>>>>>>>>>>>>>> situation where
>>>>>>>>>>>>> (concurrent) requests are coming in faster that it can 
>>>>>>>>>>>>> process it. Usually
>>>>>>>>>>>>> there are 2 ways to handle that: return error to client or 
>>>>>>>>>>>>> sleep until
>>>>>>>>>>>>> there is more space in request queue.
>>>>>>>>>>>>>>> Br
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> On 2.8.2018 17:18, Andy Seaborne wrote:
>>>>>>>>>>>>>>>> On 02/08/18 12:56, Mikael Pesonen wrote:
>>>>>>>>>>>>>>>>> I dont have any configuration, so it's default?
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Command line:
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> /usr/bin/java 
>>>>>>>>>>>>>>>>> -Dlog4j.configuration=file:...log4j.properties
>>>>>>>>>>>>> -Xmx5600M -jar fuseki-server.jar --update --port 3030
>>>>>>>>>>>>> --loc=...jena_data_test/ /ds
>>>>>>>>>>>>>>>>> log4j.properties is default except couple of INFO -> WARN
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> On 2.8.2018 12:56, Andy Seaborne wrote:
>>>>>>>>>>>>>>>>>> Fuseki configuration?
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> The stacktrace isn't GSP.
>>>>>>>>>>>>>>>>> Im only calling /ds endpoint with php+curl
>>>>>>>>>>>>>>>> It says "SPARQL_Update.perform" so it is not GSP.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> https://www.w3.org/TR/sparql11-http-rdf-update/
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> I'm not able to produce a sendable script that
>>>>>>>>>>>>>>>>>>>>> would case these errors.
>>>>>>>>>>>>>>>>>> It (still) looks like there is an environment factor.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>       Andy
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> On 02/08/18 10:41, Mikael Pesonen wrote:
>>>>>>>>>>>>>>>>>>> 3.7.0.
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> On 2.8.2018 12:40, Andy Seaborne wrote:
>>>>>>>>>>>>>>>>>>>> version?
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> On 02/08/18 10:06, Mikael Pesonen wrote:
>>>>>>>>>>>>>>>>>>>>> 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.pesonen@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
>>>>>>>>>>>>>>>
>>>>>>>>>>>>> -- 
>>>>>>>>>>>>> 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.pesonen@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
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>
>>>>>>>
>>>>>
>>>>
>>>
>>
>



Re: TransactionManager ERROR There are now active transactions

Posted by Andy Seaborne <an...@apache.org>.
It's a not insignificant amount of work to pick the 310 recorded 
operations (150 updates, 150 queries, 10 GSP operations), write a script 
on invoke them, and set up a simulator for your environment.

Then, maybe, it will cause show the log message.  Or maybe not, because 
of all the different machinery. Maybe it is something to do with 
connection patterns.

     Andy

On 22/08/18 14:57, Mikael Pesonen wrote:
> 
> Any luck reproducing the error yet?
> 
> Br
> 
> On 13.8.2018 13:59, Mikael Pesonen wrote:
>>
>> Sorry
>> https://www.dropbox.com/s/xy9d06ixjv8stif/fuseki_test.zip?dl=0
>>
>>
>>
>> On 13.8.2018 13:32, Andy Seaborne wrote:
>>>
>>>
>>> On 13/08/18 11:12, Mikael Pesonen wrote:
>>>>
>>>> This was just an example, here is the test set with instructions: 
>>>> https://www.dropbox.com/s/r1fd48v62822u2n/How%20to%20use%20the%20Public%20folder.txt?dl=0 
>>>
>>>
>>>
>>>
>>> Not the instructions!
>>>
>>>
>>>>
>>>>
>>>> Just after fresh start of Fuseki, this error is harder to cause. 
>>>> After running in low/normal load for couple of weeks, it occurs 
>>>> easily in every test.
>>>>
>>>> So right after restart of Fuseki, only way to cause this is to 
>>>> repeat the query set in 10 (for example) concurrent scripts until 
>>>> the errors occur. Ive usually got it in first 50 rounds. Of course 
>>>> this more load than in real production but just to speed things up.
>>>>
>>>> And there are 2 kinds of ways this "TransactionManager ERROR There 
>>>> are now active transactions" occurs: transactions are succesfull or 
>>>> they are not. Running this query set doesn't of course tell which 
>>>> ones they are.
>>>>
>>>> I did tests in empty disk based TDB1 and fuseki 3.7.0.
>>>>
>>>>
>>>> Regarding to in-memory tdb, actually Im not sure if it works or not, 
>>>> since I didn't do very long tests there.
>>>>
>>>>
>>>> Also while running the test, I got seemingly random exceptions. 
>>>> Here's one:
>>>>
>>>> org.apache.jena.query.QueryException: Secondary index duplicate: 
>>>> GSPO->GPOS -> [[0000000000000000], [00000000000EF6D7], 
>>>> [00000000000008AA], [0000000000000179]]
>>>>          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) 
>>>>
>>>>      ...
>>>>
>>>> Br,
>>>>
>>>>
>>>> On 12.8.2018 17:37, Andy Seaborne wrote:
>>>>> Mikael,
>>>>>
>>>>> So if the 62 operations in this log are executed on a server 
>>>>> starting with an empty TDB1 database, it will show the error? Every 
>>>>> time such a test is run or only sometimes?  The same place in the 
>>>>> sequence of operations every time?
>>>>>
>>>>>     Andy
>>>>>
>>>>> On 10/08/18 15:17, Mikael Pesonen wrote:
>>>>>>
>>>>>> Is this suitable format? Im not able to play with proxies and our 
>>>>>> technical support is not available for summer time.
>>>>>>
>>>>>> https://www.dropbox.com/s/3we10p1vsc89hnl/fuseki_dump.log?dl=0
>>>>>>
>>>>>>
>>>>>>
>>>>>> On 9.8.2018 16:28, Andy Seaborne wrote:
>>>>>>>
>>>>>>>
>>>>>>> On 09/08/18 13:20, Mikael Pesonen wrote:
>>>>>>>>
>>>>>>>> Does Fuseki info level log do?
>>>>>>>
>>>>>>> No. It does not record the POST content.
>>>>>>>
>>>>>>> [3] POST http://semantic-dev.lingsoft.fi:3030/ds
>>>>>>>
>>>>>>>
>>>>>>> Was the database empty to start with?
>>>>>>>
>>>>>>>> It has all the traffic. Ive got a 400Mb log ready, zipped into 
>>>>>>>> 8Mb, here: https://www.dropbox.com/s/omig80fqutkkekk/log.zip?dl=0
>>>>>>>
>>>>>>> Only up to the first error is needed.
>>>>>>>
>>>>>>> "Apache Jena Fuseki 3.7.0"
>>>>>>> This is odd : "Running in read-only mode for /ds"
>>>>>>>
>>>>>>>     Andy
>>>>>>>
>>>>>>>>
>>>>>>>> Br,
>>>>>>>>
>>>>>>>>
>>>>>>>> On 8.8.2018 12:16, Andy Seaborne wrote:
>>>>>>>>> We need to recreate it with a debugger attached.
>>>>>>>>>
>>>>>>>>> If you could collect the HTTP requests the scripts are making, 
>>>>>>>>> then with a copy of the data, it might be possible to recreate 
>>>>>>>>> the situation.
>>>>>>>>>
>>>>>>>>> Otherwise it's "something happened".  I can't see how to 
>>>>>>>>> recreate it without a use case.
>>>>>>>>>
>>>>>>>>>     Andy
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On 07/08/18 10:06, Mikael Pesonen wrote:
>>>>>>>>>>
>>>>>>>>>> Are there any further tests I could do that might help solving 
>>>>>>>>>> this?
>>>>>>>>>>
>>>>>>>>>> On 6.8.2018 14:01, ajs6f@apache.org wrote:
>>>>>>>>>>> It tells us that the problem seems more likely to be with TDB 
>>>>>>>>>>> than with
>>>>>>>>>>> Fuseki, which is a step towards isolating it.
>>>>>>>>>>>
>>>>>>>>>>> Adam
>>>>>>>>>>>
>>>>>>>>>>> On Mon, Aug 6, 2018, 5:55 AM Mikael Pesonen 
>>>>>>>>>>> <mi...@lingsoft.fi>
>>>>>>>>>>> wrote:
>>>>>>>>>>>
>>>>>>>>>>>> With in-memory db everything works. Ran ~50000 operations 
>>>>>>>>>>>> x10 (10
>>>>>>>>>>>> scripts in parallel) and no problems. Mem usage was 3g-5,5g 
>>>>>>>>>>>> (java
>>>>>>>>>>>> xmx4000) and vm 10g.
>>>>>>>>>>>>
>>>>>>>>>>>> So what does this tell? System is upcloud server so there 
>>>>>>>>>>>> shouldn't be
>>>>>>>>>>>> any issues with disk there...
>>>>>>>>>>>>
>>>>>>>>>>>> Br,
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> On 3.8.2018 16:33, ajs6f wrote:
>>>>>>>>>>>>> That seems a bit strange. I would think that the single 
>>>>>>>>>>>>> dataset lock and
>>>>>>>>>>>> multiple-reader-or-single-writer policy would guard against 
>>>>>>>>>>>> this-- only one
>>>>>>>>>>>> thread (request) can mutate the dataset at a time. Or is 
>>>>>>>>>>>> this a problem
>>>>>>>>>>>> with TDB? Do you see this occurring with in-memory datasets?
>>>>>>>>>>>>> ajs6f
>>>>>>>>>>>>>
>>>>>>>>>>>>>> On Aug 3, 2018, at 8:01 AM, Mikael Pesonen 
>>>>>>>>>>>>>> <mi...@lingsoft.fi>
>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Easier fix that sleeping was to add system wide semaphore 
>>>>>>>>>>>>>> which puts
>>>>>>>>>>>> all concurrent requests to single queue.
>>>>>>>>>>>>>> So the problem is in the way how Fuseki handles situation 
>>>>>>>>>>>>>> where
>>>>>>>>>>>> (concurrent) requests are coming in faster that it can 
>>>>>>>>>>>> process it. Usually
>>>>>>>>>>>> there are 2 ways to handle that: return error to client or 
>>>>>>>>>>>> sleep until
>>>>>>>>>>>> there is more space in request queue.
>>>>>>>>>>>>>> Br
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> On 2.8.2018 17:18, Andy Seaborne wrote:
>>>>>>>>>>>>>>> On 02/08/18 12:56, Mikael Pesonen wrote:
>>>>>>>>>>>>>>>> I dont have any configuration, so it's default?
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Command line:
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> /usr/bin/java 
>>>>>>>>>>>>>>>> -Dlog4j.configuration=file:...log4j.properties
>>>>>>>>>>>> -Xmx5600M -jar fuseki-server.jar --update --port 3030
>>>>>>>>>>>> --loc=...jena_data_test/ /ds
>>>>>>>>>>>>>>>> log4j.properties is default except couple of INFO -> WARN
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> On 2.8.2018 12:56, Andy Seaborne wrote:
>>>>>>>>>>>>>>>>> Fuseki configuration?
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> The stacktrace isn't GSP.
>>>>>>>>>>>>>>>> Im only calling /ds endpoint with php+curl
>>>>>>>>>>>>>>> It says "SPARQL_Update.perform" so it is not GSP.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> https://www.w3.org/TR/sparql11-http-rdf-update/
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> I'm not able to produce a sendable script that
>>>>>>>>>>>>>>>>>>>> would case these errors.
>>>>>>>>>>>>>>>>> It (still) looks like there is an environment factor.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>       Andy
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> On 02/08/18 10:41, Mikael Pesonen wrote:
>>>>>>>>>>>>>>>>>> 3.7.0.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> On 2.8.2018 12:40, Andy Seaborne wrote:
>>>>>>>>>>>>>>>>>>> version?
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> On 02/08/18 10:06, Mikael Pesonen wrote:
>>>>>>>>>>>>>>>>>>>> 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.pesonen@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
>>>>>>>>>>>>>>
>>>>>>>>>>>> -- 
>>>>>>>>>>>> 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.pesonen@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
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>
>>>>>>
>>>>
>>>
>>
> 


Re: TransactionManager ERROR There are now active transactions

Posted by Mikael Pesonen <mi...@lingsoft.fi>.
Any luck reproducing the error yet?

Br

On 13.8.2018 13:59, Mikael Pesonen wrote:
>
> Sorry
> https://www.dropbox.com/s/xy9d06ixjv8stif/fuseki_test.zip?dl=0
>
>
>
> On 13.8.2018 13:32, Andy Seaborne wrote:
>>
>>
>> On 13/08/18 11:12, Mikael Pesonen wrote:
>>>
>>> This was just an example, here is the test set with instructions: 
>>> https://www.dropbox.com/s/r1fd48v62822u2n/How%20to%20use%20the%20Public%20folder.txt?dl=0 
>>
>>
>>
>> Not the instructions!
>>
>>
>>>
>>>
>>> Just after fresh start of Fuseki, this error is harder to cause. 
>>> After running in low/normal load for couple of weeks, it occurs 
>>> easily in every test.
>>>
>>> So right after restart of Fuseki, only way to cause this is to 
>>> repeat the query set in 10 (for example) concurrent scripts until 
>>> the errors occur. Ive usually got it in first 50 rounds. Of course 
>>> this more load than in real production but just to speed things up.
>>>
>>> And there are 2 kinds of ways this "TransactionManager ERROR There 
>>> are now active transactions" occurs: transactions are succesfull or 
>>> they are not. Running this query set doesn't of course tell which 
>>> ones they are.
>>>
>>> I did tests in empty disk based TDB1 and fuseki 3.7.0.
>>>
>>>
>>> Regarding to in-memory tdb, actually Im not sure if it works or not, 
>>> since I didn't do very long tests there.
>>>
>>>
>>> Also while running the test, I got seemingly random exceptions. 
>>> Here's one:
>>>
>>> org.apache.jena.query.QueryException: Secondary index duplicate: 
>>> GSPO->GPOS -> [[0000000000000000], [00000000000EF6D7], 
>>> [00000000000008AA], [0000000000000179]]
>>>          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) 
>>>
>>>      ...
>>>
>>> Br,
>>>
>>>
>>> On 12.8.2018 17:37, Andy Seaborne wrote:
>>>> Mikael,
>>>>
>>>> So if the 62 operations in this log are executed on a server 
>>>> starting with an empty TDB1 database, it will show the error? Every 
>>>> time such a test is run or only sometimes?  The same place in the 
>>>> sequence of operations every time?
>>>>
>>>>     Andy
>>>>
>>>> On 10/08/18 15:17, Mikael Pesonen wrote:
>>>>>
>>>>> Is this suitable format? Im not able to play with proxies and our 
>>>>> technical support is not available for summer time.
>>>>>
>>>>> https://www.dropbox.com/s/3we10p1vsc89hnl/fuseki_dump.log?dl=0
>>>>>
>>>>>
>>>>>
>>>>> On 9.8.2018 16:28, Andy Seaborne wrote:
>>>>>>
>>>>>>
>>>>>> On 09/08/18 13:20, Mikael Pesonen wrote:
>>>>>>>
>>>>>>> Does Fuseki info level log do?
>>>>>>
>>>>>> No. It does not record the POST content.
>>>>>>
>>>>>> [3] POST http://semantic-dev.lingsoft.fi:3030/ds
>>>>>>
>>>>>>
>>>>>> Was the database empty to start with?
>>>>>>
>>>>>>> It has all the traffic. Ive got a 400Mb log ready, zipped into 
>>>>>>> 8Mb, here: https://www.dropbox.com/s/omig80fqutkkekk/log.zip?dl=0
>>>>>>
>>>>>> Only up to the first error is needed.
>>>>>>
>>>>>> "Apache Jena Fuseki 3.7.0"
>>>>>> This is odd : "Running in read-only mode for /ds"
>>>>>>
>>>>>>     Andy
>>>>>>
>>>>>>>
>>>>>>> Br,
>>>>>>>
>>>>>>>
>>>>>>> On 8.8.2018 12:16, Andy Seaborne wrote:
>>>>>>>> We need to recreate it with a debugger attached.
>>>>>>>>
>>>>>>>> If you could collect the HTTP requests the scripts are making, 
>>>>>>>> then with a copy of the data, it might be possible to recreate 
>>>>>>>> the situation.
>>>>>>>>
>>>>>>>> Otherwise it's "something happened".  I can't see how to 
>>>>>>>> recreate it without a use case.
>>>>>>>>
>>>>>>>>     Andy
>>>>>>>>
>>>>>>>>
>>>>>>>> On 07/08/18 10:06, Mikael Pesonen wrote:
>>>>>>>>>
>>>>>>>>> Are there any further tests I could do that might help solving 
>>>>>>>>> this?
>>>>>>>>>
>>>>>>>>> On 6.8.2018 14:01, ajs6f@apache.org wrote:
>>>>>>>>>> It tells us that the problem seems more likely to be with TDB 
>>>>>>>>>> than with
>>>>>>>>>> Fuseki, which is a step towards isolating it.
>>>>>>>>>>
>>>>>>>>>> Adam
>>>>>>>>>>
>>>>>>>>>> On Mon, Aug 6, 2018, 5:55 AM Mikael Pesonen 
>>>>>>>>>> <mi...@lingsoft.fi>
>>>>>>>>>> wrote:
>>>>>>>>>>
>>>>>>>>>>> With in-memory db everything works. Ran ~50000 operations 
>>>>>>>>>>> x10 (10
>>>>>>>>>>> scripts in parallel) and no problems. Mem usage was 3g-5,5g 
>>>>>>>>>>> (java
>>>>>>>>>>> xmx4000) and vm 10g.
>>>>>>>>>>>
>>>>>>>>>>> So what does this tell? System is upcloud server so there 
>>>>>>>>>>> shouldn't be
>>>>>>>>>>> any issues with disk there...
>>>>>>>>>>>
>>>>>>>>>>> Br,
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> On 3.8.2018 16:33, ajs6f wrote:
>>>>>>>>>>>> That seems a bit strange. I would think that the single 
>>>>>>>>>>>> dataset lock and
>>>>>>>>>>> multiple-reader-or-single-writer policy would guard against 
>>>>>>>>>>> this-- only one
>>>>>>>>>>> thread (request) can mutate the dataset at a time. Or is 
>>>>>>>>>>> this a problem
>>>>>>>>>>> with TDB? Do you see this occurring with in-memory datasets?
>>>>>>>>>>>> ajs6f
>>>>>>>>>>>>
>>>>>>>>>>>>> On Aug 3, 2018, at 8:01 AM, Mikael Pesonen 
>>>>>>>>>>>>> <mi...@lingsoft.fi>
>>>>>>>>>>> wrote:
>>>>>>>>>>>>>
>>>>>>>>>>>>> Easier fix that sleeping was to add system wide semaphore 
>>>>>>>>>>>>> which puts
>>>>>>>>>>> all concurrent requests to single queue.
>>>>>>>>>>>>> So the problem is in the way how Fuseki handles situation 
>>>>>>>>>>>>> where
>>>>>>>>>>> (concurrent) requests are coming in faster that it can 
>>>>>>>>>>> process it. Usually
>>>>>>>>>>> there are 2 ways to handle that: return error to client or 
>>>>>>>>>>> sleep until
>>>>>>>>>>> there is more space in request queue.
>>>>>>>>>>>>> Br
>>>>>>>>>>>>>
>>>>>>>>>>>>> On 2.8.2018 17:18, Andy Seaborne wrote:
>>>>>>>>>>>>>> On 02/08/18 12:56, Mikael Pesonen wrote:
>>>>>>>>>>>>>>> I dont have any configuration, so it's default?
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Command line:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> /usr/bin/java 
>>>>>>>>>>>>>>> -Dlog4j.configuration=file:...log4j.properties
>>>>>>>>>>> -Xmx5600M -jar fuseki-server.jar --update --port 3030
>>>>>>>>>>> --loc=...jena_data_test/ /ds
>>>>>>>>>>>>>>> log4j.properties is default except couple of INFO -> WARN
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> On 2.8.2018 12:56, Andy Seaborne wrote:
>>>>>>>>>>>>>>>> Fuseki configuration?
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> The stacktrace isn't GSP.
>>>>>>>>>>>>>>> Im only calling /ds endpoint with php+curl
>>>>>>>>>>>>>> It says "SPARQL_Update.perform" so it is not GSP.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> https://www.w3.org/TR/sparql11-http-rdf-update/
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> I'm not able to produce a sendable script that
>>>>>>>>>>>>>>>>>>> would case these errors.
>>>>>>>>>>>>>>>> It (still) looks like there is an environment factor.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>       Andy
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> On 02/08/18 10:41, Mikael Pesonen wrote:
>>>>>>>>>>>>>>>>> 3.7.0.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> On 2.8.2018 12:40, Andy Seaborne wrote:
>>>>>>>>>>>>>>>>>> version?
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> On 02/08/18 10:06, Mikael Pesonen wrote:
>>>>>>>>>>>>>>>>>>> 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.pesonen@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
>>>>>>>>>>>>>
>>>>>>>>>>> -- 
>>>>>>>>>>> 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.pesonen@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
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>
>>>>>>>
>>>>>
>>>
>>
>

-- 
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.pesonen@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



Re: TransactionManager ERROR There are now active transactions

Posted by Mikael Pesonen <mi...@lingsoft.fi>.
Sorry
https://www.dropbox.com/s/xy9d06ixjv8stif/fuseki_test.zip?dl=0



On 13.8.2018 13:32, Andy Seaborne wrote:
>
>
> On 13/08/18 11:12, Mikael Pesonen wrote:
>>
>> This was just an example, here is the test set with instructions: 
>> https://www.dropbox.com/s/r1fd48v62822u2n/How%20to%20use%20the%20Public%20folder.txt?dl=0 
>
>
> Not the instructions!
>
>
>>
>>
>> Just after fresh start of Fuseki, this error is harder to cause. 
>> After running in low/normal load for couple of weeks, it occurs 
>> easily in every test.
>>
>> So right after restart of Fuseki, only way to cause this is to repeat 
>> the query set in 10 (for example) concurrent scripts until the errors 
>> occur. Ive usually got it in first 50 rounds. Of course this more 
>> load than in real production but just to speed things up.
>>
>> And there are 2 kinds of ways this "TransactionManager ERROR There 
>> are now active transactions" occurs: transactions are succesfull or 
>> they are not. Running this query set doesn't of course tell which 
>> ones they are.
>>
>> I did tests in empty disk based TDB1 and fuseki 3.7.0.
>>
>>
>> Regarding to in-memory tdb, actually Im not sure if it works or not, 
>> since I didn't do very long tests there.
>>
>>
>> Also while running the test, I got seemingly random exceptions. 
>> Here's one:
>>
>> org.apache.jena.query.QueryException: Secondary index duplicate: 
>> GSPO->GPOS -> [[0000000000000000], [00000000000EF6D7], 
>> [00000000000008AA], [0000000000000179]]
>>          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) 
>>
>>      ...
>>
>> Br,
>>
>>
>> On 12.8.2018 17:37, Andy Seaborne wrote:
>>> Mikael,
>>>
>>> So if the 62 operations in this log are executed on a server 
>>> starting with an empty TDB1 database, it will show the error? Every 
>>> time such a test is run or only sometimes?  The same place in the 
>>> sequence of operations every time?
>>>
>>>     Andy
>>>
>>> On 10/08/18 15:17, Mikael Pesonen wrote:
>>>>
>>>> Is this suitable format? Im not able to play with proxies and our 
>>>> technical support is not available for summer time.
>>>>
>>>> https://www.dropbox.com/s/3we10p1vsc89hnl/fuseki_dump.log?dl=0
>>>>
>>>>
>>>>
>>>> On 9.8.2018 16:28, Andy Seaborne wrote:
>>>>>
>>>>>
>>>>> On 09/08/18 13:20, Mikael Pesonen wrote:
>>>>>>
>>>>>> Does Fuseki info level log do?
>>>>>
>>>>> No. It does not record the POST content.
>>>>>
>>>>> [3] POST http://semantic-dev.lingsoft.fi:3030/ds
>>>>>
>>>>>
>>>>> Was the database empty to start with?
>>>>>
>>>>>> It has all the traffic. Ive got a 400Mb log ready, zipped into 
>>>>>> 8Mb, here: https://www.dropbox.com/s/omig80fqutkkekk/log.zip?dl=0
>>>>>
>>>>> Only up to the first error is needed.
>>>>>
>>>>> "Apache Jena Fuseki 3.7.0"
>>>>> This is odd : "Running in read-only mode for /ds"
>>>>>
>>>>>     Andy
>>>>>
>>>>>>
>>>>>> Br,
>>>>>>
>>>>>>
>>>>>> On 8.8.2018 12:16, Andy Seaborne wrote:
>>>>>>> We need to recreate it with a debugger attached.
>>>>>>>
>>>>>>> If you could collect the HTTP requests the scripts are making, 
>>>>>>> then with a copy of the data, it might be possible to recreate 
>>>>>>> the situation.
>>>>>>>
>>>>>>> Otherwise it's "something happened".  I can't see how to 
>>>>>>> recreate it without a use case.
>>>>>>>
>>>>>>>     Andy
>>>>>>>
>>>>>>>
>>>>>>> On 07/08/18 10:06, Mikael Pesonen wrote:
>>>>>>>>
>>>>>>>> Are there any further tests I could do that might help solving 
>>>>>>>> this?
>>>>>>>>
>>>>>>>> On 6.8.2018 14:01, ajs6f@apache.org wrote:
>>>>>>>>> It tells us that the problem seems more likely to be with TDB 
>>>>>>>>> than with
>>>>>>>>> Fuseki, which is a step towards isolating it.
>>>>>>>>>
>>>>>>>>> Adam
>>>>>>>>>
>>>>>>>>> On Mon, Aug 6, 2018, 5:55 AM Mikael Pesonen 
>>>>>>>>> <mi...@lingsoft.fi>
>>>>>>>>> wrote:
>>>>>>>>>
>>>>>>>>>> With in-memory db everything works. Ran ~50000 operations x10 
>>>>>>>>>> (10
>>>>>>>>>> scripts in parallel) and no problems. Mem usage was 3g-5,5g 
>>>>>>>>>> (java
>>>>>>>>>> xmx4000) and vm 10g.
>>>>>>>>>>
>>>>>>>>>> So what does this tell? System is upcloud server so there 
>>>>>>>>>> shouldn't be
>>>>>>>>>> any issues with disk there...
>>>>>>>>>>
>>>>>>>>>> Br,
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On 3.8.2018 16:33, ajs6f wrote:
>>>>>>>>>>> That seems a bit strange. I would think that the single 
>>>>>>>>>>> dataset lock and
>>>>>>>>>> multiple-reader-or-single-writer policy would guard against 
>>>>>>>>>> this-- only one
>>>>>>>>>> thread (request) can mutate the dataset at a time. Or is this 
>>>>>>>>>> a problem
>>>>>>>>>> with TDB? Do you see this occurring with in-memory datasets?
>>>>>>>>>>> ajs6f
>>>>>>>>>>>
>>>>>>>>>>>> On Aug 3, 2018, at 8:01 AM, Mikael Pesonen 
>>>>>>>>>>>> <mi...@lingsoft.fi>
>>>>>>>>>> wrote:
>>>>>>>>>>>>
>>>>>>>>>>>> Easier fix that sleeping was to add system wide semaphore 
>>>>>>>>>>>> which puts
>>>>>>>>>> all concurrent requests to single queue.
>>>>>>>>>>>> So the problem is in the way how Fuseki handles situation 
>>>>>>>>>>>> where
>>>>>>>>>> (concurrent) requests are coming in faster that it can 
>>>>>>>>>> process it. Usually
>>>>>>>>>> there are 2 ways to handle that: return error to client or 
>>>>>>>>>> sleep until
>>>>>>>>>> there is more space in request queue.
>>>>>>>>>>>> Br
>>>>>>>>>>>>
>>>>>>>>>>>> On 2.8.2018 17:18, Andy Seaborne wrote:
>>>>>>>>>>>>> On 02/08/18 12:56, Mikael Pesonen wrote:
>>>>>>>>>>>>>> I dont have any configuration, so it's default?
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Command line:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> /usr/bin/java -Dlog4j.configuration=file:...log4j.properties
>>>>>>>>>> -Xmx5600M -jar fuseki-server.jar --update --port 3030
>>>>>>>>>> --loc=...jena_data_test/ /ds
>>>>>>>>>>>>>> log4j.properties is default except couple of INFO -> WARN
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> On 2.8.2018 12:56, Andy Seaborne wrote:
>>>>>>>>>>>>>>> Fuseki configuration?
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> The stacktrace isn't GSP.
>>>>>>>>>>>>>> Im only calling /ds endpoint with php+curl
>>>>>>>>>>>>> It says "SPARQL_Update.perform" so it is not GSP.
>>>>>>>>>>>>>
>>>>>>>>>>>>> https://www.w3.org/TR/sparql11-http-rdf-update/
>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> I'm not able to produce a sendable script that
>>>>>>>>>>>>>>>>>> would case these errors.
>>>>>>>>>>>>>>> It (still) looks like there is an environment factor.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>       Andy
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> On 02/08/18 10:41, Mikael Pesonen wrote:
>>>>>>>>>>>>>>>> 3.7.0.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> On 2.8.2018 12:40, Andy Seaborne wrote:
>>>>>>>>>>>>>>>>> version?
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> On 02/08/18 10:06, Mikael Pesonen wrote:
>>>>>>>>>>>>>>>>>> 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.pesonen@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
>>>>>>>>>>>>
>>>>>>>>>> -- 
>>>>>>>>>> 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.pesonen@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
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>
>>>>>>
>>>>
>>
>

-- 
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.pesonen@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


Re: TransactionManager ERROR There are now active transactions

Posted by Andy Seaborne <an...@apache.org>.

On 13/08/18 11:12, Mikael Pesonen wrote:
> 
> This was just an example, here is the test set with instructions: 
> https://www.dropbox.com/s/r1fd48v62822u2n/How%20to%20use%20the%20Public%20folder.txt?dl=0 

Not the instructions!


> 
> 
> Just after fresh start of Fuseki, this error is harder to cause. After 
> running in low/normal load for couple of weeks, it occurs easily in 
> every test.
> 
> So right after restart of Fuseki, only way to cause this is to repeat 
> the query set in 10 (for example) concurrent scripts until the errors 
> occur. Ive usually got it in first 50 rounds. Of course this more load 
> than in real production but just to speed things up.
> 
> And there are 2 kinds of ways this "TransactionManager ERROR There are 
> now active transactions" occurs: transactions are succesfull or they are 
> not. Running this query set doesn't of course tell which ones they are.
> 
> I did tests in empty disk based TDB1 and fuseki 3.7.0.
> 
> 
> Regarding to in-memory tdb, actually Im not sure if it works or not, 
> since I didn't do very long tests there.
> 
> 
> Also while running the test, I got seemingly random exceptions. Here's one:
> 
> org.apache.jena.query.QueryException: Secondary index duplicate: 
> GSPO->GPOS -> [[0000000000000000], [00000000000EF6D7], 
> [00000000000008AA], [0000000000000179]]
>          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) 
> 
>      ...
> 
> Br,
> 
> 
> On 12.8.2018 17:37, Andy Seaborne wrote:
>> Mikael,
>>
>> So if the 62 operations in this log are executed on a server starting 
>> with an empty TDB1 database, it will show the error? Every time such a 
>> test is run or only sometimes?  The same place in the sequence of 
>> operations every time?
>>
>>     Andy
>>
>> On 10/08/18 15:17, Mikael Pesonen wrote:
>>>
>>> Is this suitable format? Im not able to play with proxies and our 
>>> technical support is not available for summer time.
>>>
>>> https://www.dropbox.com/s/3we10p1vsc89hnl/fuseki_dump.log?dl=0
>>>
>>>
>>>
>>> On 9.8.2018 16:28, Andy Seaborne wrote:
>>>>
>>>>
>>>> On 09/08/18 13:20, Mikael Pesonen wrote:
>>>>>
>>>>> Does Fuseki info level log do?
>>>>
>>>> No. It does not record the POST content.
>>>>
>>>> [3] POST http://semantic-dev.lingsoft.fi:3030/ds
>>>>
>>>>
>>>> Was the database empty to start with?
>>>>
>>>>> It has all the traffic. Ive got a 400Mb log ready, zipped into 8Mb, 
>>>>> here: https://www.dropbox.com/s/omig80fqutkkekk/log.zip?dl=0
>>>>
>>>> Only up to the first error is needed.
>>>>
>>>> "Apache Jena Fuseki 3.7.0"
>>>> This is odd : "Running in read-only mode for /ds"
>>>>
>>>>     Andy
>>>>
>>>>>
>>>>> Br,
>>>>>
>>>>>
>>>>> On 8.8.2018 12:16, Andy Seaborne wrote:
>>>>>> We need to recreate it with a debugger attached.
>>>>>>
>>>>>> If you could collect the HTTP requests the scripts are making, 
>>>>>> then with a copy of the data, it might be possible to recreate the 
>>>>>> situation.
>>>>>>
>>>>>> Otherwise it's "something happened".  I can't see how to recreate 
>>>>>> it without a use case.
>>>>>>
>>>>>>     Andy
>>>>>>
>>>>>>
>>>>>> On 07/08/18 10:06, Mikael Pesonen wrote:
>>>>>>>
>>>>>>> Are there any further tests I could do that might help solving this?
>>>>>>>
>>>>>>> On 6.8.2018 14:01, ajs6f@apache.org wrote:
>>>>>>>> It tells us that the problem seems more likely to be with TDB 
>>>>>>>> than with
>>>>>>>> Fuseki, which is a step towards isolating it.
>>>>>>>>
>>>>>>>> Adam
>>>>>>>>
>>>>>>>> On Mon, Aug 6, 2018, 5:55 AM Mikael Pesonen 
>>>>>>>> <mi...@lingsoft.fi>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>> With in-memory db everything works. Ran ~50000 operations x10 (10
>>>>>>>>> scripts in parallel) and no problems. Mem usage was 3g-5,5g (java
>>>>>>>>> xmx4000) and vm 10g.
>>>>>>>>>
>>>>>>>>> So what does this tell? System is upcloud server so there 
>>>>>>>>> shouldn't be
>>>>>>>>> any issues with disk there...
>>>>>>>>>
>>>>>>>>> Br,
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On 3.8.2018 16:33, ajs6f wrote:
>>>>>>>>>> That seems a bit strange. I would think that the single 
>>>>>>>>>> dataset lock and
>>>>>>>>> multiple-reader-or-single-writer policy would guard against 
>>>>>>>>> this-- only one
>>>>>>>>> thread (request) can mutate the dataset at a time. Or is this a 
>>>>>>>>> problem
>>>>>>>>> with TDB? Do you see this occurring with in-memory datasets?
>>>>>>>>>> ajs6f
>>>>>>>>>>
>>>>>>>>>>> On Aug 3, 2018, at 8:01 AM, Mikael Pesonen 
>>>>>>>>>>> <mi...@lingsoft.fi>
>>>>>>>>> wrote:
>>>>>>>>>>>
>>>>>>>>>>> Easier fix that sleeping was to add system wide semaphore 
>>>>>>>>>>> which puts
>>>>>>>>> all concurrent requests to single queue.
>>>>>>>>>>> So the problem is in the way how Fuseki handles situation where
>>>>>>>>> (concurrent) requests are coming in faster that it can process 
>>>>>>>>> it. Usually
>>>>>>>>> there are 2 ways to handle that: return error to client or 
>>>>>>>>> sleep until
>>>>>>>>> there is more space in request queue.
>>>>>>>>>>> Br
>>>>>>>>>>>
>>>>>>>>>>> On 2.8.2018 17:18, Andy Seaborne wrote:
>>>>>>>>>>>> On 02/08/18 12:56, Mikael Pesonen wrote:
>>>>>>>>>>>>> I dont have any configuration, so it's default?
>>>>>>>>>>>>>
>>>>>>>>>>>>> Command line:
>>>>>>>>>>>>>
>>>>>>>>>>>>> /usr/bin/java -Dlog4j.configuration=file:...log4j.properties
>>>>>>>>> -Xmx5600M -jar fuseki-server.jar --update --port 3030
>>>>>>>>> --loc=...jena_data_test/ /ds
>>>>>>>>>>>>> log4j.properties is default except couple of INFO -> WARN
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> On 2.8.2018 12:56, Andy Seaborne wrote:
>>>>>>>>>>>>>> Fuseki configuration?
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> The stacktrace isn't GSP.
>>>>>>>>>>>>> Im only calling /ds endpoint with php+curl
>>>>>>>>>>>> It says "SPARQL_Update.perform" so it is not GSP.
>>>>>>>>>>>>
>>>>>>>>>>>> https://www.w3.org/TR/sparql11-http-rdf-update/
>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> I'm not able to produce a sendable script that
>>>>>>>>>>>>>>>>> would case these errors.
>>>>>>>>>>>>>> It (still) looks like there is an environment factor.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>       Andy
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> On 02/08/18 10:41, Mikael Pesonen wrote:
>>>>>>>>>>>>>>> 3.7.0.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> On 2.8.2018 12:40, Andy Seaborne wrote:
>>>>>>>>>>>>>>>> version?
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> On 02/08/18 10:06, Mikael Pesonen wrote:
>>>>>>>>>>>>>>>>> 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.pesonen@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
>>>>>>>>>>>
>>>>>>>>> -- 
>>>>>>>>> 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.pesonen@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
>>>>>>>>>
>>>>>>>>>
>>>>>>>
>>>>>
>>>
> 


Re: TransactionManager ERROR There are now active transactions

Posted by Mikael Pesonen <mi...@lingsoft.fi>.
This was just an example, here is the test set with instructions: 
https://www.dropbox.com/s/r1fd48v62822u2n/How%20to%20use%20the%20Public%20folder.txt?dl=0

Just after fresh start of Fuseki, this error is harder to cause. After 
running in low/normal load for couple of weeks, it occurs easily in 
every test.

So right after restart of Fuseki, only way to cause this is to repeat 
the query set in 10 (for example) concurrent scripts until the errors 
occur. Ive usually got it in first 50 rounds. Of course this more load 
than in real production but just to speed things up.

And there are 2 kinds of ways this "TransactionManager ERROR There are 
now active transactions" occurs: transactions are succesfull or they are 
not. Running this query set doesn't of course tell which ones they are.

I did tests in empty disk based TDB1 and fuseki 3.7.0.


Regarding to in-memory tdb, actually Im not sure if it works or not, 
since I didn't do very long tests there.


Also while running the test, I got seemingly random exceptions. Here's one:

org.apache.jena.query.QueryException: Secondary index duplicate: 
GSPO->GPOS -> [[0000000000000000], [00000000000EF6D7], 
[00000000000008AA], [0000000000000179]]
         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)
     ...

Br,


On 12.8.2018 17:37, Andy Seaborne wrote:
> Mikael,
>
> So if the 62 operations in this log are executed on a server starting 
> with an empty TDB1 database, it will show the error? Every time such a 
> test is run or only sometimes?  The same place in the sequence of 
> operations every time?
>
>     Andy
>
> On 10/08/18 15:17, Mikael Pesonen wrote:
>>
>> Is this suitable format? Im not able to play with proxies and our 
>> technical support is not available for summer time.
>>
>> https://www.dropbox.com/s/3we10p1vsc89hnl/fuseki_dump.log?dl=0
>>
>>
>>
>> On 9.8.2018 16:28, Andy Seaborne wrote:
>>>
>>>
>>> On 09/08/18 13:20, Mikael Pesonen wrote:
>>>>
>>>> Does Fuseki info level log do?
>>>
>>> No. It does not record the POST content.
>>>
>>> [3] POST http://semantic-dev.lingsoft.fi:3030/ds
>>>
>>>
>>> Was the database empty to start with?
>>>
>>>> It has all the traffic. Ive got a 400Mb log ready, zipped into 8Mb, 
>>>> here: https://www.dropbox.com/s/omig80fqutkkekk/log.zip?dl=0
>>>
>>> Only up to the first error is needed.
>>>
>>> "Apache Jena Fuseki 3.7.0"
>>> This is odd : "Running in read-only mode for /ds"
>>>
>>>     Andy
>>>
>>>>
>>>> Br,
>>>>
>>>>
>>>> On 8.8.2018 12:16, Andy Seaborne wrote:
>>>>> We need to recreate it with a debugger attached.
>>>>>
>>>>> If you could collect the HTTP requests the scripts are making, 
>>>>> then with a copy of the data, it might be possible to recreate the 
>>>>> situation.
>>>>>
>>>>> Otherwise it's "something happened".  I can't see how to recreate 
>>>>> it without a use case.
>>>>>
>>>>>     Andy
>>>>>
>>>>>
>>>>> On 07/08/18 10:06, Mikael Pesonen wrote:
>>>>>>
>>>>>> Are there any further tests I could do that might help solving this?
>>>>>>
>>>>>> On 6.8.2018 14:01, ajs6f@apache.org wrote:
>>>>>>> It tells us that the problem seems more likely to be with TDB 
>>>>>>> than with
>>>>>>> Fuseki, which is a step towards isolating it.
>>>>>>>
>>>>>>> Adam
>>>>>>>
>>>>>>> On Mon, Aug 6, 2018, 5:55 AM Mikael Pesonen 
>>>>>>> <mi...@lingsoft.fi>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> With in-memory db everything works. Ran ~50000 operations x10 (10
>>>>>>>> scripts in parallel) and no problems. Mem usage was 3g-5,5g (java
>>>>>>>> xmx4000) and vm 10g.
>>>>>>>>
>>>>>>>> So what does this tell? System is upcloud server so there 
>>>>>>>> shouldn't be
>>>>>>>> any issues with disk there...
>>>>>>>>
>>>>>>>> Br,
>>>>>>>>
>>>>>>>>
>>>>>>>> On 3.8.2018 16:33, ajs6f wrote:
>>>>>>>>> That seems a bit strange. I would think that the single 
>>>>>>>>> dataset lock and
>>>>>>>> multiple-reader-or-single-writer policy would guard against 
>>>>>>>> this-- only one
>>>>>>>> thread (request) can mutate the dataset at a time. Or is this a 
>>>>>>>> problem
>>>>>>>> with TDB? Do you see this occurring with in-memory datasets?
>>>>>>>>> ajs6f
>>>>>>>>>
>>>>>>>>>> On Aug 3, 2018, at 8:01 AM, Mikael Pesonen 
>>>>>>>>>> <mi...@lingsoft.fi>
>>>>>>>> wrote:
>>>>>>>>>>
>>>>>>>>>> Easier fix that sleeping was to add system wide semaphore 
>>>>>>>>>> which puts
>>>>>>>> all concurrent requests to single queue.
>>>>>>>>>> So the problem is in the way how Fuseki handles situation where
>>>>>>>> (concurrent) requests are coming in faster that it can process 
>>>>>>>> it. Usually
>>>>>>>> there are 2 ways to handle that: return error to client or 
>>>>>>>> sleep until
>>>>>>>> there is more space in request queue.
>>>>>>>>>> Br
>>>>>>>>>>
>>>>>>>>>> On 2.8.2018 17:18, Andy Seaborne wrote:
>>>>>>>>>>> On 02/08/18 12:56, Mikael Pesonen wrote:
>>>>>>>>>>>> I dont have any configuration, so it's default?
>>>>>>>>>>>>
>>>>>>>>>>>> Command line:
>>>>>>>>>>>>
>>>>>>>>>>>> /usr/bin/java -Dlog4j.configuration=file:...log4j.properties
>>>>>>>> -Xmx5600M -jar fuseki-server.jar --update --port 3030
>>>>>>>> --loc=...jena_data_test/ /ds
>>>>>>>>>>>> log4j.properties is default except couple of INFO -> WARN
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> On 2.8.2018 12:56, Andy Seaborne wrote:
>>>>>>>>>>>>> Fuseki configuration?
>>>>>>>>>>>>>
>>>>>>>>>>>>> The stacktrace isn't GSP.
>>>>>>>>>>>> Im only calling /ds endpoint with php+curl
>>>>>>>>>>> It says "SPARQL_Update.perform" so it is not GSP.
>>>>>>>>>>>
>>>>>>>>>>> https://www.w3.org/TR/sparql11-http-rdf-update/
>>>>>>>>>>>
>>>>>>>>>>>>>>>> I'm not able to produce a sendable script that
>>>>>>>>>>>>>>>> would case these errors.
>>>>>>>>>>>>> It (still) looks like there is an environment factor.
>>>>>>>>>>>>>
>>>>>>>>>>>>>       Andy
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> On 02/08/18 10:41, Mikael Pesonen wrote:
>>>>>>>>>>>>>> 3.7.0.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> On 2.8.2018 12:40, Andy Seaborne wrote:
>>>>>>>>>>>>>>> version?
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> On 02/08/18 10:06, Mikael Pesonen wrote:
>>>>>>>>>>>>>>>> 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.pesonen@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
>>>>>>>>>>
>>>>>>>> -- 
>>>>>>>> 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.pesonen@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
>>>>>>>>
>>>>>>>>
>>>>>>
>>>>
>>

-- 
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.pesonen@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



Re: TransactionManager ERROR There are now active transactions

Posted by Andy Seaborne <an...@apache.org>.
Mikael,

So if the 62 operations in this log are executed on a server starting 
with an empty TDB1 database, it will show the error?  Every time such a 
test is run or only sometimes?  The same place in the sequence of 
operations every time?

     Andy

On 10/08/18 15:17, Mikael Pesonen wrote:
> 
> Is this suitable format? Im not able to play with proxies and our 
> technical support is not available for summer time.
> 
> https://www.dropbox.com/s/3we10p1vsc89hnl/fuseki_dump.log?dl=0
> 
> 
> 
> On 9.8.2018 16:28, Andy Seaborne wrote:
>>
>>
>> On 09/08/18 13:20, Mikael Pesonen wrote:
>>>
>>> Does Fuseki info level log do?
>>
>> No. It does not record the POST content.
>>
>> [3] POST http://semantic-dev.lingsoft.fi:3030/ds
>>
>>
>> Was the database empty to start with?
>>
>>> It has all the traffic. Ive got a 400Mb log ready, zipped into 8Mb, 
>>> here: https://www.dropbox.com/s/omig80fqutkkekk/log.zip?dl=0
>>
>> Only up to the first error is needed.
>>
>> "Apache Jena Fuseki 3.7.0"
>> This is odd : "Running in read-only mode for /ds"
>>
>>     Andy
>>
>>>
>>> Br,
>>>
>>>
>>> On 8.8.2018 12:16, Andy Seaborne wrote:
>>>> We need to recreate it with a debugger attached.
>>>>
>>>> If you could collect the HTTP requests the scripts are making, then 
>>>> with a copy of the data, it might be possible to recreate the 
>>>> situation.
>>>>
>>>> Otherwise it's "something happened".  I can't see how to recreate it 
>>>> without a use case.
>>>>
>>>>     Andy
>>>>
>>>>
>>>> On 07/08/18 10:06, Mikael Pesonen wrote:
>>>>>
>>>>> Are there any further tests I could do that might help solving this?
>>>>>
>>>>> On 6.8.2018 14:01, ajs6f@apache.org wrote:
>>>>>> It tells us that the problem seems more likely to be with TDB than 
>>>>>> with
>>>>>> Fuseki, which is a step towards isolating it.
>>>>>>
>>>>>> Adam
>>>>>>
>>>>>> On Mon, Aug 6, 2018, 5:55 AM Mikael Pesonen 
>>>>>> <mi...@lingsoft.fi>
>>>>>> wrote:
>>>>>>
>>>>>>> With in-memory db everything works. Ran ~50000 operations x10 (10
>>>>>>> scripts in parallel) and no problems. Mem usage was 3g-5,5g (java
>>>>>>> xmx4000) and vm 10g.
>>>>>>>
>>>>>>> So what does this tell? System is upcloud server so there 
>>>>>>> shouldn't be
>>>>>>> any issues with disk there...
>>>>>>>
>>>>>>> Br,
>>>>>>>
>>>>>>>
>>>>>>> On 3.8.2018 16:33, ajs6f wrote:
>>>>>>>> That seems a bit strange. I would think that the single dataset 
>>>>>>>> lock and
>>>>>>> multiple-reader-or-single-writer policy would guard against 
>>>>>>> this-- only one
>>>>>>> thread (request) can mutate the dataset at a time. Or is this a 
>>>>>>> problem
>>>>>>> with TDB? Do you see this occurring with in-memory datasets?
>>>>>>>> ajs6f
>>>>>>>>
>>>>>>>>> On Aug 3, 2018, at 8:01 AM, Mikael Pesonen 
>>>>>>>>> <mi...@lingsoft.fi>
>>>>>>> wrote:
>>>>>>>>>
>>>>>>>>> Easier fix that sleeping was to add system wide semaphore which 
>>>>>>>>> puts
>>>>>>> all concurrent requests to single queue.
>>>>>>>>> So the problem is in the way how Fuseki handles situation where
>>>>>>> (concurrent) requests are coming in faster that it can process 
>>>>>>> it. Usually
>>>>>>> there are 2 ways to handle that: return error to client or sleep 
>>>>>>> until
>>>>>>> there is more space in request queue.
>>>>>>>>> Br
>>>>>>>>>
>>>>>>>>> On 2.8.2018 17:18, Andy Seaborne wrote:
>>>>>>>>>> On 02/08/18 12:56, Mikael Pesonen wrote:
>>>>>>>>>>> I dont have any configuration, so it's default?
>>>>>>>>>>>
>>>>>>>>>>> Command line:
>>>>>>>>>>>
>>>>>>>>>>> /usr/bin/java -Dlog4j.configuration=file:...log4j.properties
>>>>>>> -Xmx5600M -jar fuseki-server.jar --update --port 3030
>>>>>>> --loc=...jena_data_test/ /ds
>>>>>>>>>>> log4j.properties is default except couple of INFO -> WARN
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> On 2.8.2018 12:56, Andy Seaborne wrote:
>>>>>>>>>>>> Fuseki configuration?
>>>>>>>>>>>>
>>>>>>>>>>>> The stacktrace isn't GSP.
>>>>>>>>>>> Im only calling /ds endpoint with php+curl
>>>>>>>>>> It says "SPARQL_Update.perform" so it is not GSP.
>>>>>>>>>>
>>>>>>>>>> https://www.w3.org/TR/sparql11-http-rdf-update/
>>>>>>>>>>
>>>>>>>>>>>>>>> I'm not able to produce a sendable script that
>>>>>>>>>>>>>>> would case these errors.
>>>>>>>>>>>> It (still) looks like there is an environment factor.
>>>>>>>>>>>>
>>>>>>>>>>>>       Andy
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> On 02/08/18 10:41, Mikael Pesonen wrote:
>>>>>>>>>>>>> 3.7.0.
>>>>>>>>>>>>>
>>>>>>>>>>>>> On 2.8.2018 12:40, Andy Seaborne wrote:
>>>>>>>>>>>>>> version?
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> On 02/08/18 10:06, Mikael Pesonen wrote:
>>>>>>>>>>>>>>> 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.pesonen@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
>>>>>>>>>
>>>>>>> -- 
>>>>>>> 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.pesonen@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
>>>>>>>
>>>>>>>
>>>>>
>>>
> 

Re: TransactionManager ERROR There are now active transactions

Posted by Mikael Pesonen <mi...@lingsoft.fi>.
Is this suitable format? Im not able to play with proxies and our 
technical support is not available for summer time.

https://www.dropbox.com/s/3we10p1vsc89hnl/fuseki_dump.log?dl=0



On 9.8.2018 16:28, Andy Seaborne wrote:
>
>
> On 09/08/18 13:20, Mikael Pesonen wrote:
>>
>> Does Fuseki info level log do?
>
> No. It does not record the POST content.
>
> [3] POST http://semantic-dev.lingsoft.fi:3030/ds
>
>
> Was the database empty to start with?
>
>> It has all the traffic. Ive got a 400Mb log ready, zipped into 8Mb, 
>> here: https://www.dropbox.com/s/omig80fqutkkekk/log.zip?dl=0
>
> Only up to the first error is needed.
>
> "Apache Jena Fuseki 3.7.0"
> This is odd : "Running in read-only mode for /ds"
>
>     Andy
>
>>
>> Br,
>>
>>
>> On 8.8.2018 12:16, Andy Seaborne wrote:
>>> We need to recreate it with a debugger attached.
>>>
>>> If you could collect the HTTP requests the scripts are making, then 
>>> with a copy of the data, it might be possible to recreate the 
>>> situation.
>>>
>>> Otherwise it's "something happened".  I can't see how to recreate it 
>>> without a use case.
>>>
>>>     Andy
>>>
>>>
>>> On 07/08/18 10:06, Mikael Pesonen wrote:
>>>>
>>>> Are there any further tests I could do that might help solving this?
>>>>
>>>> On 6.8.2018 14:01, ajs6f@apache.org wrote:
>>>>> It tells us that the problem seems more likely to be with TDB than 
>>>>> with
>>>>> Fuseki, which is a step towards isolating it.
>>>>>
>>>>> Adam
>>>>>
>>>>> On Mon, Aug 6, 2018, 5:55 AM Mikael Pesonen 
>>>>> <mi...@lingsoft.fi>
>>>>> wrote:
>>>>>
>>>>>> With in-memory db everything works. Ran ~50000 operations x10 (10
>>>>>> scripts in parallel) and no problems. Mem usage was 3g-5,5g (java
>>>>>> xmx4000) and vm 10g.
>>>>>>
>>>>>> So what does this tell? System is upcloud server so there 
>>>>>> shouldn't be
>>>>>> any issues with disk there...
>>>>>>
>>>>>> Br,
>>>>>>
>>>>>>
>>>>>> On 3.8.2018 16:33, ajs6f wrote:
>>>>>>> That seems a bit strange. I would think that the single dataset 
>>>>>>> lock and
>>>>>> multiple-reader-or-single-writer policy would guard against 
>>>>>> this-- only one
>>>>>> thread (request) can mutate the dataset at a time. Or is this a 
>>>>>> problem
>>>>>> with TDB? Do you see this occurring with in-memory datasets?
>>>>>>> ajs6f
>>>>>>>
>>>>>>>> On Aug 3, 2018, at 8:01 AM, Mikael Pesonen 
>>>>>>>> <mi...@lingsoft.fi>
>>>>>> wrote:
>>>>>>>>
>>>>>>>> Easier fix that sleeping was to add system wide semaphore which 
>>>>>>>> puts
>>>>>> all concurrent requests to single queue.
>>>>>>>> So the problem is in the way how Fuseki handles situation where
>>>>>> (concurrent) requests are coming in faster that it can process 
>>>>>> it. Usually
>>>>>> there are 2 ways to handle that: return error to client or sleep 
>>>>>> until
>>>>>> there is more space in request queue.
>>>>>>>> Br
>>>>>>>>
>>>>>>>> On 2.8.2018 17:18, Andy Seaborne wrote:
>>>>>>>>> On 02/08/18 12:56, Mikael Pesonen wrote:
>>>>>>>>>> I dont have any configuration, so it's default?
>>>>>>>>>>
>>>>>>>>>> Command line:
>>>>>>>>>>
>>>>>>>>>> /usr/bin/java -Dlog4j.configuration=file:...log4j.properties
>>>>>> -Xmx5600M -jar fuseki-server.jar --update --port 3030
>>>>>> --loc=...jena_data_test/ /ds
>>>>>>>>>> log4j.properties is default except couple of INFO -> WARN
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On 2.8.2018 12:56, Andy Seaborne wrote:
>>>>>>>>>>> Fuseki configuration?
>>>>>>>>>>>
>>>>>>>>>>> The stacktrace isn't GSP.
>>>>>>>>>> Im only calling /ds endpoint with php+curl
>>>>>>>>> It says "SPARQL_Update.perform" so it is not GSP.
>>>>>>>>>
>>>>>>>>> https://www.w3.org/TR/sparql11-http-rdf-update/
>>>>>>>>>
>>>>>>>>>>>>>> I'm not able to produce a sendable script that
>>>>>>>>>>>>>> would case these errors.
>>>>>>>>>>> It (still) looks like there is an environment factor.
>>>>>>>>>>>
>>>>>>>>>>>       Andy
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> On 02/08/18 10:41, Mikael Pesonen wrote:
>>>>>>>>>>>> 3.7.0.
>>>>>>>>>>>>
>>>>>>>>>>>> On 2.8.2018 12:40, Andy Seaborne wrote:
>>>>>>>>>>>>> version?
>>>>>>>>>>>>>
>>>>>>>>>>>>> On 02/08/18 10:06, Mikael Pesonen wrote:
>>>>>>>>>>>>>> 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.pesonen@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
>>>>>>>>
>>>>>> -- 
>>>>>> 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.pesonen@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
>>>>>>
>>>>>>
>>>>
>>

-- 
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.pesonen@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


Re: TransactionManager ERROR There are now active transactions

Posted by Andy Seaborne <an...@apache.org>.

On 09/08/18 13:20, Mikael Pesonen wrote:
> 
> Does Fuseki info level log do?

No. It does not record the POST content.

[3] POST http://semantic-dev.lingsoft.fi:3030/ds


Was the database empty to start with?

> It has all the traffic. Ive got a 400Mb 
> log ready, zipped into 8Mb, here: 
> https://www.dropbox.com/s/omig80fqutkkekk/log.zip?dl=0

Only up to the first error is needed.

"Apache Jena Fuseki 3.7.0"
This is odd : "Running in read-only mode for /ds"

     Andy

> 
> Br,
> 
> 
> On 8.8.2018 12:16, Andy Seaborne wrote:
>> We need to recreate it with a debugger attached.
>>
>> If you could collect the HTTP requests the scripts are making, then 
>> with a copy of the data, it might be possible to recreate the situation.
>>
>> Otherwise it's "something happened".  I can't see how to recreate it 
>> without a use case.
>>
>>     Andy
>>
>>
>> On 07/08/18 10:06, Mikael Pesonen wrote:
>>>
>>> Are there any further tests I could do that might help solving this?
>>>
>>> On 6.8.2018 14:01, ajs6f@apache.org wrote:
>>>> It tells us that the problem seems more likely to be with TDB than with
>>>> Fuseki, which is a step towards isolating it.
>>>>
>>>> Adam
>>>>
>>>> On Mon, Aug 6, 2018, 5:55 AM Mikael Pesonen 
>>>> <mi...@lingsoft.fi>
>>>> wrote:
>>>>
>>>>> With in-memory db everything works. Ran ~50000 operations x10 (10
>>>>> scripts in parallel) and no problems. Mem usage was 3g-5,5g (java
>>>>> xmx4000) and vm 10g.
>>>>>
>>>>> So what does this tell? System is upcloud server so there shouldn't be
>>>>> any issues with disk there...
>>>>>
>>>>> Br,
>>>>>
>>>>>
>>>>> On 3.8.2018 16:33, ajs6f wrote:
>>>>>> That seems a bit strange. I would think that the single dataset 
>>>>>> lock and
>>>>> multiple-reader-or-single-writer policy would guard against this-- 
>>>>> only one
>>>>> thread (request) can mutate the dataset at a time. Or is this a 
>>>>> problem
>>>>> with TDB? Do you see this occurring with in-memory datasets?
>>>>>> ajs6f
>>>>>>
>>>>>>> On Aug 3, 2018, at 8:01 AM, Mikael Pesonen 
>>>>>>> <mi...@lingsoft.fi>
>>>>> wrote:
>>>>>>>
>>>>>>> Easier fix that sleeping was to add system wide semaphore which puts
>>>>> all concurrent requests to single queue.
>>>>>>> So the problem is in the way how Fuseki handles situation where
>>>>> (concurrent) requests are coming in faster that it can process it. 
>>>>> Usually
>>>>> there are 2 ways to handle that: return error to client or sleep until
>>>>> there is more space in request queue.
>>>>>>> Br
>>>>>>>
>>>>>>> On 2.8.2018 17:18, Andy Seaborne wrote:
>>>>>>>> On 02/08/18 12:56, Mikael Pesonen wrote:
>>>>>>>>> I dont have any configuration, so it's default?
>>>>>>>>>
>>>>>>>>> Command line:
>>>>>>>>>
>>>>>>>>> /usr/bin/java -Dlog4j.configuration=file:...log4j.properties
>>>>> -Xmx5600M -jar fuseki-server.jar --update --port 3030
>>>>> --loc=...jena_data_test/ /ds
>>>>>>>>> log4j.properties is default except couple of INFO -> WARN
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On 2.8.2018 12:56, Andy Seaborne wrote:
>>>>>>>>>> Fuseki configuration?
>>>>>>>>>>
>>>>>>>>>> The stacktrace isn't GSP.
>>>>>>>>> Im only calling /ds endpoint with php+curl
>>>>>>>> It says "SPARQL_Update.perform" so it is not GSP.
>>>>>>>>
>>>>>>>> https://www.w3.org/TR/sparql11-http-rdf-update/
>>>>>>>>
>>>>>>>>>>>>> I'm not able to produce a sendable script that
>>>>>>>>>>>>> would case these errors.
>>>>>>>>>> It (still) looks like there is an environment factor.
>>>>>>>>>>
>>>>>>>>>>       Andy
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On 02/08/18 10:41, Mikael Pesonen wrote:
>>>>>>>>>>> 3.7.0.
>>>>>>>>>>>
>>>>>>>>>>> On 2.8.2018 12:40, Andy Seaborne wrote:
>>>>>>>>>>>> version?
>>>>>>>>>>>>
>>>>>>>>>>>> On 02/08/18 10:06, Mikael Pesonen wrote:
>>>>>>>>>>>>> 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.pesonen@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
>>>>>>>
>>>>> -- 
>>>>> 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.pesonen@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
>>>>>
>>>>>
>>>
> 

Re: TransactionManager ERROR There are now active transactions

Posted by Mikael Pesonen <mi...@lingsoft.fi>.
Does Fuseki info level log do? It has all the traffic. Ive got a 400Mb 
log ready, zipped into 8Mb, here: 
https://www.dropbox.com/s/omig80fqutkkekk/log.zip?dl=0

Br,


On 8.8.2018 12:16, Andy Seaborne wrote:
> We need to recreate it with a debugger attached.
>
> If you could collect the HTTP requests the scripts are making, then 
> with a copy of the data, it might be possible to recreate the situation.
>
> Otherwise it's "something happened".  I can't see how to recreate it 
> without a use case.
>
>     Andy
>
>
> On 07/08/18 10:06, Mikael Pesonen wrote:
>>
>> Are there any further tests I could do that might help solving this?
>>
>> On 6.8.2018 14:01, ajs6f@apache.org wrote:
>>> It tells us that the problem seems more likely to be with TDB than with
>>> Fuseki, which is a step towards isolating it.
>>>
>>> Adam
>>>
>>> On Mon, Aug 6, 2018, 5:55 AM Mikael Pesonen 
>>> <mi...@lingsoft.fi>
>>> wrote:
>>>
>>>> With in-memory db everything works. Ran ~50000 operations x10 (10
>>>> scripts in parallel) and no problems. Mem usage was 3g-5,5g (java
>>>> xmx4000) and vm 10g.
>>>>
>>>> So what does this tell? System is upcloud server so there shouldn't be
>>>> any issues with disk there...
>>>>
>>>> Br,
>>>>
>>>>
>>>> On 3.8.2018 16:33, ajs6f wrote:
>>>>> That seems a bit strange. I would think that the single dataset 
>>>>> lock and
>>>> multiple-reader-or-single-writer policy would guard against this-- 
>>>> only one
>>>> thread (request) can mutate the dataset at a time. Or is this a 
>>>> problem
>>>> with TDB? Do you see this occurring with in-memory datasets?
>>>>> ajs6f
>>>>>
>>>>>> On Aug 3, 2018, at 8:01 AM, Mikael Pesonen 
>>>>>> <mi...@lingsoft.fi>
>>>> wrote:
>>>>>>
>>>>>> Easier fix that sleeping was to add system wide semaphore which puts
>>>> all concurrent requests to single queue.
>>>>>> So the problem is in the way how Fuseki handles situation where
>>>> (concurrent) requests are coming in faster that it can process it. 
>>>> Usually
>>>> there are 2 ways to handle that: return error to client or sleep until
>>>> there is more space in request queue.
>>>>>> Br
>>>>>>
>>>>>> On 2.8.2018 17:18, Andy Seaborne wrote:
>>>>>>> On 02/08/18 12:56, Mikael Pesonen wrote:
>>>>>>>> I dont have any configuration, so it's default?
>>>>>>>>
>>>>>>>> Command line:
>>>>>>>>
>>>>>>>> /usr/bin/java -Dlog4j.configuration=file:...log4j.properties
>>>> -Xmx5600M -jar fuseki-server.jar --update --port 3030
>>>> --loc=...jena_data_test/ /ds
>>>>>>>> log4j.properties is default except couple of INFO -> WARN
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> On 2.8.2018 12:56, Andy Seaborne wrote:
>>>>>>>>> Fuseki configuration?
>>>>>>>>>
>>>>>>>>> The stacktrace isn't GSP.
>>>>>>>> Im only calling /ds endpoint with php+curl
>>>>>>> It says "SPARQL_Update.perform" so it is not GSP.
>>>>>>>
>>>>>>> https://www.w3.org/TR/sparql11-http-rdf-update/
>>>>>>>
>>>>>>>>>>>> I'm not able to produce a sendable script that
>>>>>>>>>>>> would case these errors.
>>>>>>>>> It (still) looks like there is an environment factor.
>>>>>>>>>
>>>>>>>>>       Andy
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On 02/08/18 10:41, Mikael Pesonen wrote:
>>>>>>>>>> 3.7.0.
>>>>>>>>>>
>>>>>>>>>> On 2.8.2018 12:40, Andy Seaborne wrote:
>>>>>>>>>>> version?
>>>>>>>>>>>
>>>>>>>>>>> On 02/08/18 10:06, Mikael Pesonen wrote:
>>>>>>>>>>>> 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.pesonen@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
>>>>>>
>>>> -- 
>>>> 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.pesonen@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
>>>>
>>>>
>>

-- 
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.pesonen@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


Re: TransactionManager ERROR There are now active transactions

Posted by Andy Seaborne <an...@apache.org>.
We need to recreate it with a debugger attached.

If you could collect the HTTP requests the scripts are making, then with 
a copy of the data, it might be possible to recreate the situation.

Otherwise it's "something happened".  I can't see how to recreate it 
without a use case.

     Andy


On 07/08/18 10:06, Mikael Pesonen wrote:
> 
> Are there any further tests I could do that might help solving this?
> 
> On 6.8.2018 14:01, ajs6f@apache.org wrote:
>> It tells us that the problem seems more likely to be with TDB than with
>> Fuseki, which is a step towards isolating it.
>>
>> Adam
>>
>> On Mon, Aug 6, 2018, 5:55 AM Mikael Pesonen <mi...@lingsoft.fi>
>> wrote:
>>
>>> With in-memory db everything works. Ran ~50000 operations x10 (10
>>> scripts in parallel) and no problems. Mem usage was 3g-5,5g (java
>>> xmx4000) and vm 10g.
>>>
>>> So what does this tell? System is upcloud server so there shouldn't be
>>> any issues with disk there...
>>>
>>> Br,
>>>
>>>
>>> On 3.8.2018 16:33, ajs6f wrote:
>>>> That seems a bit strange. I would think that the single dataset lock 
>>>> and
>>> multiple-reader-or-single-writer policy would guard against this-- 
>>> only one
>>> thread (request) can mutate the dataset at a time. Or is this a problem
>>> with TDB? Do you see this occurring with in-memory datasets?
>>>> ajs6f
>>>>
>>>>> On Aug 3, 2018, at 8:01 AM, Mikael Pesonen 
>>>>> <mi...@lingsoft.fi>
>>> wrote:
>>>>>
>>>>> Easier fix that sleeping was to add system wide semaphore which puts
>>> all concurrent requests to single queue.
>>>>> So the problem is in the way how Fuseki handles situation where
>>> (concurrent) requests are coming in faster that it can process it. 
>>> Usually
>>> there are 2 ways to handle that: return error to client or sleep until
>>> there is more space in request queue.
>>>>> Br
>>>>>
>>>>> On 2.8.2018 17:18, Andy Seaborne wrote:
>>>>>> On 02/08/18 12:56, Mikael Pesonen wrote:
>>>>>>> I dont have any configuration, so it's default?
>>>>>>>
>>>>>>> Command line:
>>>>>>>
>>>>>>> /usr/bin/java -Dlog4j.configuration=file:...log4j.properties
>>> -Xmx5600M -jar fuseki-server.jar --update --port 3030
>>> --loc=...jena_data_test/ /ds
>>>>>>> log4j.properties is default except couple of INFO -> WARN
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On 2.8.2018 12:56, Andy Seaborne wrote:
>>>>>>>> Fuseki configuration?
>>>>>>>>
>>>>>>>> The stacktrace isn't GSP.
>>>>>>> Im only calling /ds endpoint with php+curl
>>>>>> It says "SPARQL_Update.perform" so it is not GSP.
>>>>>>
>>>>>> https://www.w3.org/TR/sparql11-http-rdf-update/
>>>>>>
>>>>>>>>>>> I'm not able to produce a sendable script that
>>>>>>>>>>> would case these errors.
>>>>>>>> It (still) looks like there is an environment factor.
>>>>>>>>
>>>>>>>>       Andy
>>>>>>>>
>>>>>>>>
>>>>>>>> On 02/08/18 10:41, Mikael Pesonen wrote:
>>>>>>>>> 3.7.0.
>>>>>>>>>
>>>>>>>>> On 2.8.2018 12:40, Andy Seaborne wrote:
>>>>>>>>>> version?
>>>>>>>>>>
>>>>>>>>>> On 02/08/18 10:06, Mikael Pesonen wrote:
>>>>>>>>>>> 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.pesonen@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
>>>>>
>>> -- 
>>> 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.pesonen@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
>>>
>>>
> 

Re: TransactionManager ERROR There are now active transactions

Posted by Mikael Pesonen <mi...@lingsoft.fi>.
Are there any further tests I could do that might help solving this?

On 6.8.2018 14:01, ajs6f@apache.org wrote:
> It tells us that the problem seems more likely to be with TDB than with
> Fuseki, which is a step towards isolating it.
>
> Adam
>
> On Mon, Aug 6, 2018, 5:55 AM Mikael Pesonen <mi...@lingsoft.fi>
> wrote:
>
>> With in-memory db everything works. Ran ~50000 operations x10 (10
>> scripts in parallel) and no problems. Mem usage was 3g-5,5g (java
>> xmx4000) and vm 10g.
>>
>> So what does this tell? System is upcloud server so there shouldn't be
>> any issues with disk there...
>>
>> Br,
>>
>>
>> On 3.8.2018 16:33, ajs6f wrote:
>>> That seems a bit strange. I would think that the single dataset lock and
>> multiple-reader-or-single-writer policy would guard against this-- only one
>> thread (request) can mutate the dataset at a time. Or is this a problem
>> with TDB? Do you see this occurring with in-memory datasets?
>>> ajs6f
>>>
>>>> On Aug 3, 2018, at 8:01 AM, Mikael Pesonen <mi...@lingsoft.fi>
>> wrote:
>>>>
>>>> Easier fix that sleeping was to add system wide semaphore which puts
>> all concurrent requests to single queue.
>>>> So the problem is in the way how Fuseki handles situation where
>> (concurrent) requests are coming in faster that it can process it. Usually
>> there are 2 ways to handle that: return error to client or sleep until
>> there is more space in request queue.
>>>> Br
>>>>
>>>> On 2.8.2018 17:18, Andy Seaborne wrote:
>>>>> On 02/08/18 12:56, Mikael Pesonen wrote:
>>>>>> I dont have any configuration, so it's default?
>>>>>>
>>>>>> Command line:
>>>>>>
>>>>>> /usr/bin/java -Dlog4j.configuration=file:...log4j.properties
>> -Xmx5600M -jar fuseki-server.jar --update --port 3030
>> --loc=...jena_data_test/ /ds
>>>>>> log4j.properties is default except couple of INFO -> WARN
>>>>>>
>>>>>>
>>>>>>
>>>>>> On 2.8.2018 12:56, Andy Seaborne wrote:
>>>>>>> Fuseki configuration?
>>>>>>>
>>>>>>> The stacktrace isn't GSP.
>>>>>> Im only calling /ds endpoint with php+curl
>>>>> It says "SPARQL_Update.perform" so it is not GSP.
>>>>>
>>>>> https://www.w3.org/TR/sparql11-http-rdf-update/
>>>>>
>>>>>>>>>> I'm not able to produce a sendable script that
>>>>>>>>>> would case these errors.
>>>>>>> It (still) looks like there is an environment factor.
>>>>>>>
>>>>>>>       Andy
>>>>>>>
>>>>>>>
>>>>>>> On 02/08/18 10:41, Mikael Pesonen wrote:
>>>>>>>> 3.7.0.
>>>>>>>>
>>>>>>>> On 2.8.2018 12:40, Andy Seaborne wrote:
>>>>>>>>> version?
>>>>>>>>>
>>>>>>>>> On 02/08/18 10:06, Mikael Pesonen wrote:
>>>>>>>>>> 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.pesonen@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
>>>>
>> --
>> 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.pesonen@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
>>
>>

-- 
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.pesonen@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


Re: TransactionManager ERROR There are now active transactions

Posted by aj...@apache.org.
It tells us that the problem seems more likely to be with TDB than with
Fuseki, which is a step towards isolating it.

Adam

On Mon, Aug 6, 2018, 5:55 AM Mikael Pesonen <mi...@lingsoft.fi>
wrote:

>
> With in-memory db everything works. Ran ~50000 operations x10 (10
> scripts in parallel) and no problems. Mem usage was 3g-5,5g (java
> xmx4000) and vm 10g.
>
> So what does this tell? System is upcloud server so there shouldn't be
> any issues with disk there...
>
> Br,
>
>
> On 3.8.2018 16:33, ajs6f wrote:
> > That seems a bit strange. I would think that the single dataset lock and
> multiple-reader-or-single-writer policy would guard against this-- only one
> thread (request) can mutate the dataset at a time. Or is this a problem
> with TDB? Do you see this occurring with in-memory datasets?
> >
> > ajs6f
> >
> >> On Aug 3, 2018, at 8:01 AM, Mikael Pesonen <mi...@lingsoft.fi>
> wrote:
> >>
> >>
> >> Easier fix that sleeping was to add system wide semaphore which puts
> all concurrent requests to single queue.
> >>
> >> So the problem is in the way how Fuseki handles situation where
> (concurrent) requests are coming in faster that it can process it. Usually
> there are 2 ways to handle that: return error to client or sleep until
> there is more space in request queue.
> >>
> >> Br
> >>
> >> On 2.8.2018 17:18, Andy Seaborne wrote:
> >>>
> >>> On 02/08/18 12:56, Mikael Pesonen wrote:
> >>>> I dont have any configuration, so it's default?
> >>>>
> >>>> Command line:
> >>>>
> >>>> /usr/bin/java -Dlog4j.configuration=file:...log4j.properties
> -Xmx5600M -jar fuseki-server.jar --update --port 3030
> --loc=...jena_data_test/ /ds
> >>>>
> >>>> log4j.properties is default except couple of INFO -> WARN
> >>>>
> >>>>
> >>>>
> >>>> On 2.8.2018 12:56, Andy Seaborne wrote:
> >>>>> Fuseki configuration?
> >>>>>
> >>>>> The stacktrace isn't GSP.
> >>>> Im only calling /ds endpoint with php+curl
> >>> It says "SPARQL_Update.perform" so it is not GSP.
> >>>
> >>> https://www.w3.org/TR/sparql11-http-rdf-update/
> >>>
> >>>>
> >>>>>>>> I'm not able to produce a sendable script that
> >>>>>>>> would case these errors.
> >>>>> It (still) looks like there is an environment factor.
> >>>>>
> >>>>>      Andy
> >>>>>
> >>>>>
> >>>>> On 02/08/18 10:41, Mikael Pesonen wrote:
> >>>>>> 3.7.0.
> >>>>>>
> >>>>>> On 2.8.2018 12:40, Andy Seaborne wrote:
> >>>>>>> version?
> >>>>>>>
> >>>>>>> On 02/08/18 10:06, Mikael Pesonen wrote:
> >>>>>>>> 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.pesonen@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
> >>
>
> --
> 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.pesonen@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
>
>

Re: TransactionManager ERROR There are now active transactions

Posted by Mikael Pesonen <mi...@lingsoft.fi>.
Sorry upcloud is Finnish cloud service provider.

On 6.8.2018 12:55, Mikael Pesonen wrote:
>
> With in-memory db everything works. Ran ~50000 operations x10 (10 
> scripts in parallel) and no problems. Mem usage was 3g-5,5g (java 
> xmx4000) and vm 10g.
>
> So what does this tell? System is upcloud server so there shouldn't be 
> any issues with disk there...
>
> Br,
>
>
> On 3.8.2018 16:33, ajs6f wrote:
>> That seems a bit strange. I would think that the single dataset lock 
>> and multiple-reader-or-single-writer policy would guard against 
>> this-- only one thread (request) can mutate the dataset at a time. Or 
>> is this a problem with TDB? Do you see this occurring with in-memory 
>> datasets?
>>
>> ajs6f
>>
>>> On Aug 3, 2018, at 8:01 AM, Mikael Pesonen 
>>> <mi...@lingsoft.fi> wrote:
>>>
>>>
>>> Easier fix that sleeping was to add system wide semaphore which puts 
>>> all concurrent requests to single queue.
>>>
>>> So the problem is in the way how Fuseki handles situation where 
>>> (concurrent) requests are coming in faster that it can process it. 
>>> Usually there are 2 ways to handle that: return error to client or 
>>> sleep until there is more space in request queue.
>>>
>>> Br
>>>
>>> On 2.8.2018 17:18, Andy Seaborne wrote:
>>>>
>>>> On 02/08/18 12:56, Mikael Pesonen wrote:
>>>>> I dont have any configuration, so it's default?
>>>>>
>>>>> Command line:
>>>>>
>>>>> /usr/bin/java -Dlog4j.configuration=file:...log4j.properties 
>>>>> -Xmx5600M -jar fuseki-server.jar --update --port 3030 
>>>>> --loc=...jena_data_test/ /ds
>>>>>
>>>>> log4j.properties is default except couple of INFO -> WARN
>>>>>
>>>>>
>>>>>
>>>>> On 2.8.2018 12:56, Andy Seaborne wrote:
>>>>>> Fuseki configuration?
>>>>>>
>>>>>> The stacktrace isn't GSP.
>>>>> Im only calling /ds endpoint with php+curl
>>>> It says "SPARQL_Update.perform" so it is not GSP.
>>>>
>>>> https://www.w3.org/TR/sparql11-http-rdf-update/
>>>>
>>>>>
>>>>>>>>> I'm not able to produce a sendable script that
>>>>>>>>> would case these errors.
>>>>>> It (still) looks like there is an environment factor.
>>>>>>
>>>>>>      Andy
>>>>>>
>>>>>>
>>>>>> On 02/08/18 10:41, Mikael Pesonen wrote:
>>>>>>> 3.7.0.
>>>>>>>
>>>>>>> On 2.8.2018 12:40, Andy Seaborne wrote:
>>>>>>>> version?
>>>>>>>>
>>>>>>>> On 02/08/18 10:06, Mikael Pesonen wrote:
>>>>>>>>> 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.pesonen@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
>>>
>

-- 
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.pesonen@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


Re: TransactionManager ERROR There are now active transactions

Posted by Mikael Pesonen <mi...@lingsoft.fi>.
With in-memory db everything works. Ran ~50000 operations x10 (10 
scripts in parallel) and no problems. Mem usage was 3g-5,5g (java 
xmx4000) and vm 10g.

So what does this tell? System is upcloud server so there shouldn't be 
any issues with disk there...

Br,


On 3.8.2018 16:33, ajs6f wrote:
> That seems a bit strange. I would think that the single dataset lock and multiple-reader-or-single-writer policy would guard against this-- only one thread (request) can mutate the dataset at a time. Or is this a problem with TDB? Do you see this occurring with in-memory datasets?
>
> ajs6f
>
>> On Aug 3, 2018, at 8:01 AM, Mikael Pesonen <mi...@lingsoft.fi> wrote:
>>
>>
>> Easier fix that sleeping was to add system wide semaphore which puts all concurrent requests to single queue.
>>
>> So the problem is in the way how Fuseki handles situation where (concurrent) requests are coming in faster that it can process it. Usually there are 2 ways to handle that: return error to client or sleep until there is more space in request queue.
>>
>> Br
>>
>> On 2.8.2018 17:18, Andy Seaborne wrote:
>>>
>>> On 02/08/18 12:56, Mikael Pesonen wrote:
>>>> I dont have any configuration, so it's default?
>>>>
>>>> Command line:
>>>>
>>>> /usr/bin/java -Dlog4j.configuration=file:...log4j.properties -Xmx5600M -jar fuseki-server.jar --update --port 3030 --loc=...jena_data_test/ /ds
>>>>
>>>> log4j.properties is default except couple of INFO -> WARN
>>>>
>>>>
>>>>
>>>> On 2.8.2018 12:56, Andy Seaborne wrote:
>>>>> Fuseki configuration?
>>>>>
>>>>> The stacktrace isn't GSP.
>>>> Im only calling /ds endpoint with php+curl
>>> It says "SPARQL_Update.perform" so it is not GSP.
>>>
>>> https://www.w3.org/TR/sparql11-http-rdf-update/
>>>
>>>>
>>>>>>>> I'm not able to produce a sendable script that
>>>>>>>> would case these errors.
>>>>> It (still) looks like there is an environment factor.
>>>>>
>>>>>      Andy
>>>>>
>>>>>
>>>>> On 02/08/18 10:41, Mikael Pesonen wrote:
>>>>>> 3.7.0.
>>>>>>
>>>>>> On 2.8.2018 12:40, Andy Seaborne wrote:
>>>>>>> version?
>>>>>>>
>>>>>>> On 02/08/18 10:06, Mikael Pesonen wrote:
>>>>>>>> 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.pesonen@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
>>

-- 
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.pesonen@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


Re: TransactionManager ERROR There are now active transactions

Posted by ajs6f <aj...@apache.org>.
That seems a bit strange. I would think that the single dataset lock and multiple-reader-or-single-writer policy would guard against this-- only one thread (request) can mutate the dataset at a time. Or is this a problem with TDB? Do you see this occurring with in-memory datasets?

ajs6f

> On Aug 3, 2018, at 8:01 AM, Mikael Pesonen <mi...@lingsoft.fi> wrote:
> 
> 
> Easier fix that sleeping was to add system wide semaphore which puts all concurrent requests to single queue.
> 
> So the problem is in the way how Fuseki handles situation where (concurrent) requests are coming in faster that it can process it. Usually there are 2 ways to handle that: return error to client or sleep until there is more space in request queue.
> 
> Br
> 
> On 2.8.2018 17:18, Andy Seaborne wrote:
>> 
>> 
>> On 02/08/18 12:56, Mikael Pesonen wrote:
>>> 
>>> I dont have any configuration, so it's default?
>>> 
>>> Command line:
>>> 
>>> /usr/bin/java -Dlog4j.configuration=file:...log4j.properties -Xmx5600M -jar fuseki-server.jar --update --port 3030 --loc=...jena_data_test/ /ds
>>> 
>>> log4j.properties is default except couple of INFO -> WARN
>>> 
>>> 
>>> 
>>> On 2.8.2018 12:56, Andy Seaborne wrote:
>>>> Fuseki configuration?
>>>> 
>>>> The stacktrace isn't GSP.
>>> Im only calling /ds endpoint with php+curl
>> 
>> It says "SPARQL_Update.perform" so it is not GSP.
>> 
>> https://www.w3.org/TR/sparql11-http-rdf-update/
>> 
>>> 
>>> 
>>>> 
>>>> >>> I'm not able to produce a sendable script that
>>>> >>> would case these errors.
>>>> 
>>>> It (still) looks like there is an environment factor.
>>>> 
>>>>     Andy
>>>> 
>>>> 
>>>> On 02/08/18 10:41, Mikael Pesonen wrote:
>>>>> 
>>>>> 3.7.0.
>>>>> 
>>>>> On 2.8.2018 12:40, Andy Seaborne wrote:
>>>>>> version?
>>>>>> 
>>>>>> On 02/08/18 10:06, Mikael Pesonen wrote:
>>>>>>> 
>>>>>>> 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.pesonen@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
> 


Re: TransactionManager ERROR There are now active transactions

Posted by Mikael Pesonen <mi...@lingsoft.fi>.
Easier fix that sleeping was to add system wide semaphore which puts all 
concurrent requests to single queue.

So the problem is in the way how Fuseki handles situation where 
(concurrent) requests are coming in faster that it can process it. 
Usually there are 2 ways to handle that: return error to client or sleep 
until there is more space in request queue.

Br

On 2.8.2018 17:18, Andy Seaborne wrote:
>
>
> On 02/08/18 12:56, Mikael Pesonen wrote:
>>
>> I dont have any configuration, so it's default?
>>
>> Command line:
>>
>> /usr/bin/java -Dlog4j.configuration=file:...log4j.properties 
>> -Xmx5600M -jar fuseki-server.jar --update --port 3030 
>> --loc=...jena_data_test/ /ds
>>
>> log4j.properties is default except couple of INFO -> WARN
>>
>>
>>
>> On 2.8.2018 12:56, Andy Seaborne wrote:
>>> Fuseki configuration?
>>>
>>> The stacktrace isn't GSP.
>> Im only calling /ds endpoint with php+curl
>
> It says "SPARQL_Update.perform" so it is not GSP.
>
> https://www.w3.org/TR/sparql11-http-rdf-update/
>
>>
>>
>>>
>>> >>> I'm not able to produce a sendable script that
>>> >>> would case these errors.
>>>
>>> It (still) looks like there is an environment factor.
>>>
>>>     Andy
>>>
>>>
>>> On 02/08/18 10:41, Mikael Pesonen wrote:
>>>>
>>>> 3.7.0.
>>>>
>>>> On 2.8.2018 12:40, Andy Seaborne wrote:
>>>>> version?
>>>>>
>>>>> On 02/08/18 10:06, Mikael Pesonen wrote:
>>>>>>
>>>>>> 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.pesonen@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


Re: TransactionManager ERROR There are now active transactions

Posted by Andy Seaborne <an...@apache.org>.

On 02/08/18 12:56, Mikael Pesonen wrote:
> 
> I dont have any configuration, so it's default?
> 
> Command line:
> 
> /usr/bin/java -Dlog4j.configuration=file:...log4j.properties -Xmx5600M 
> -jar fuseki-server.jar --update --port 3030 --loc=...jena_data_test/ /ds
> 
> log4j.properties is default except couple of INFO -> WARN
> 
> 
> 
> On 2.8.2018 12:56, Andy Seaborne wrote:
>> Fuseki configuration?
>>
>> The stacktrace isn't GSP.
> Im only calling /ds endpoint with php+curl

It says "SPARQL_Update.perform" so it is not GSP.

https://www.w3.org/TR/sparql11-http-rdf-update/

> 
> 
>>
>> >>> I'm not able to produce a sendable script that
>> >>> would case these errors.
>>
>> It (still) looks like there is an environment factor.
>>
>>     Andy
>>
>>
>> On 02/08/18 10:41, Mikael Pesonen wrote:
>>>
>>> 3.7.0.
>>>
>>> On 2.8.2018 12:40, Andy Seaborne wrote:
>>>> version?
>>>>
>>>> On 02/08/18 10:06, Mikael Pesonen wrote:
>>>>>
>>>>> 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
>>>>>>>
>>>>>
>>>
> 

Re: TransactionManager ERROR There are now active transactions

Posted by Mikael Pesonen <mi...@lingsoft.fi>.
I dont have any configuration, so it's default?

Command line:

/usr/bin/java -Dlog4j.configuration=file:...log4j.properties -Xmx5600M 
-jar fuseki-server.jar --update --port 3030 --loc=...jena_data_test/ /ds

log4j.properties is default except couple of INFO -> WARN



On 2.8.2018 12:56, Andy Seaborne wrote:
> Fuseki configuration?
>
> The stacktrace isn't GSP.
Im only calling /ds endpoint with php+curl


>
> >>> I'm not able to produce a sendable script that
> >>> would case these errors.
>
> It (still) looks like there is an environment factor.
>
>     Andy
>
>
> On 02/08/18 10:41, Mikael Pesonen wrote:
>>
>> 3.7.0.
>>
>> On 2.8.2018 12:40, Andy Seaborne wrote:
>>> version?
>>>
>>> On 02/08/18 10:06, Mikael Pesonen wrote:
>>>>
>>>> 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.pesonen@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


Re: TransactionManager ERROR There are now active transactions

Posted by Andy Seaborne <an...@apache.org>.
Fuseki configuration?

The stacktrace isn't GSP.

 >>> I'm not able to produce a sendable script that
 >>> would case these errors.

It (still) looks like there is an environment factor.

     Andy


On 02/08/18 10:41, Mikael Pesonen wrote:
> 
> 3.7.0.
> 
> On 2.8.2018 12:40, Andy Seaborne wrote:
>> version?
>>
>> On 02/08/18 10:06, Mikael Pesonen wrote:
>>>
>>> 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
>>>>>
>>>
> 

Re: TransactionManager ERROR There are now active transactions

Posted by Mikael Pesonen <mi...@lingsoft.fi>.
3.7.0.

On 2.8.2018 12:40, Andy Seaborne wrote:
> version?
>
> On 02/08/18 10:06, Mikael Pesonen wrote:
>>
>> 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.pesonen@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


Re: TransactionManager ERROR There are now active transactions

Posted by Andy Seaborne <an...@apache.org>.
version?

On 02/08/18 10:06, Mikael Pesonen wrote:
> 
> 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
>>>
> 

Re: TransactionManager ERROR There are now active transactions

Posted by Mikael Pesonen <mi...@lingsoft.fi>.
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.pesonen@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


Re: TransactionManager ERROR There are now active transactions

Posted by Andy Seaborne <an...@apache.org>.
(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
>