On 2017-12-12 18:39, Andy Seaborne wrote:
>
>
> On 12/12/17 10:11, George News wrote:
>> On 2017-12-12 10:45, Andy Seaborne wrote:
>>>
>>>
>>> On 11/12/17 09:38, George News wrote:
>>>> Hi,
>>>>
>>>> I'm facing the exception that I include below. I guess this is because
>>>> I'm not properly opening a transaction or so.
>>>
>>> Yes - and also not using the datasets MRSW lock (multiple reader /
>>> single writer).
>>>
>>> Concurrent access must be controlled by a transaction or the datasets
>>> lock. Ideally, transactions.
>>>
>>>>
>>>> Let's try to explain a bit to guess if this is the problem:
>>>> - I have multiple graphs which I merge using MultiUnion
>>>> - I generate the MultiUnion in one transaction, but the use of the
>>>> joined graph is done in another transaction.
>>>
>>> Is the MultiUnion over graphs in the same dataset?
>>
>> Yes. (new question: is it possible to merge graphs from different
>> datasets? Are they copied or just referenced?)
>
> MultiUnion is bunch of references and one graph distinguished for update.
>
>>
>> Actually I'm now checking in the code and I have multiple
>> read-transactions, one inside another:
>>
>> 1 Read Transaction for SPARQL Select execution (using dataset.begin())
>> 1.1 Read transaction fro creating a big multiunion (using
>> Txn.calculateRead())
>> 1.1.1 Read transaction for creating the multiunion (using
>> Txn.calculateRead())
>> 1.1.2 Read Transaction for creating another multiunion (using
>> Txn.calculateRead())
>
> Txn does cope with nesting but it's not nested transactions - it's
> within the outer transaction.
>
>> 2 Do some stuff over the resultset
>> 3 Close main one with
>> if (dataset.isInTransaction()) {
>> // Maybe it's better to use abort()
>> // but as it is a read transaction
>> // I think it doesn't matter
>> dataset.end();
>
> If that is withing a Txn then its bad.
Handling the ResultSet within the transaction is the way to do it, isn't it?
>
> Txn does the trasnaction management of begin-commit/abort-end.
>
It is just the outer transaction that is begin-commit/abort-end. The
ones within this big one are handle by Txn.
>From your comment above "Txn does cope with nesting but it's not nested
transactions - it's within the outer transaction", does it means that
using begin/end doesn't behave well when nesting?
I'm planning on changing the class/methods call hierarchy in order to
use transactions only on the upper levels, so this way I will be only
opening one transaction and handle everything within it. The problem is
that this is a major change, and will remove the autonomy from each
class, but if this is the price to make the code stable I will have to
do so.
>> }
>>
>> Now I'm thinking that maybe this 3) is closing something on the
>> dataset that could be writing?
>
>
>> Is there any option to link a transaction pointer to a class?
>
> Sorry - don't understand that question.
>
> Andy
>
>>
>> Regards,
>> Jorge
>>
>>
>>
>>>> - I use a single static final Dataset from
>>>> TDBFactory.createDataset(TRIPLE_STORE_PATH);
>>>> - Read and write operations are done in different threads, so maybe we
>>>> have started a join for read and in parallel we are writing on one of
>>>> the graphs included in the union.
>>>>
>>>>
>>>> Any hint is welcome.
>>>>
>>>> Regards,
>>>> Jorge
>>>
>>> Andy
>>>
>>>>
>>>>
>>>> org.apache.jena.tdb.base.file.FileException: In the middle of an
>>>> alloc-write
>>>> at
>>>> org.apache.jena.tdb.base.objectfile.ObjectFileStorage.read(ObjectFileStorage.java:311)
>>>>
>>>> ~[jena-tdb-3.5.0.jar:3.5.0]
>>>> at
>>>> org.apache.jena.tdb.base.objectfile.ObjectFileWrapper.read(ObjectFileWrapper.java:57)
>>>>
>>>> ~[jena-tdb-3.5.0.jar:3.5.0]
>>>> at
>>>> org.apache.jena.tdb.lib.NodeLib.fetchDecode(NodeLib.java:78)
>>>> ~[jena-tdb-3.5.0.jar:3.5.0]
>>>> at
>>>> org.apache.jena.tdb.store.nodetable.NodeTableNative.readNodeFromTable(NodeTableNative.java:186)
>>>>
>>>> ~[jena-tdb-3.5.0.jar:3.5.0]
>>>> at
>>>> org.apache.jena.tdb.store.nodetable.NodeTableNative._retrieveNodeByNodeId(NodeTableNative.java:111)
>>>>
>>>> ~[jena-tdb-3.5.0.jar:3.5.0]
>>>> at
>>>> org.apache.jena.tdb.store.nodetable.NodeTableNative.getNodeForNodeId(NodeTableNative.java:70)
>>>>
>>>> ~[jena-tdb-3.5.0.jar:3.5.0]
>>>> at
>>>> org.apache.jena.tdb.store.nodetable.NodeTableCache._retrieveNodeByNodeId(NodeTableCache.java:128)
>>>>
>>>> ~[jena-tdb-3.5.0.jar:3.5.0]
>>>> at
>>>> org.apache.jena.tdb.store.nodetable.NodeTableCache.getNodeForNodeId(NodeTableCache.java:82)
>>>>
>>>> ~[jena-tdb-3.5.0.jar:3.5.0]
>>>> at
>>>> org.apache.jena.tdb.store.nodetable.NodeTableWrapper.getNodeForNodeId(NodeTableWrapper.java:50)
>>>>
>>>> ~[jena-tdb-3.5.0.jar:3.5.0]
>>>> at
>>>> org.apache.jena.tdb.store.nodetable.NodeTableInline.getNodeForNodeId(NodeTableInline.java:67)
>>>>
>>>> ~[jena-tdb-3.5.0.jar:3.5.0]
>>>> at org.apache.jena.tdb.lib.TupleLib.quad(TupleLib.java:129)
>>>> ~[jena-tdb-3.5.0.jar:3.5.0]
>>>> at org.apache.jena.tdb.lib.TupleLib.quad(TupleLib.java:123)
>>>> ~[jena-tdb-3.5.0.jar:3.5.0]
>>>> at
>>>> org.apache.jena.tdb.lib.TupleLib.lambda$convertToQuads$3(TupleLib.java:59)
>>>>
>>>> ~[jena-tdb-3.5.0.jar:3.5.0]
>>>> at org.apache.jena.atlas.iterator.Iter$2.next(Iter.java:270)
>>>> ~[jena-base-3.5.0.jar:3.5.0]
>>>> at org.apache.jena.atlas.iterator.Iter$2.next(Iter.java:270)
>>>> ~[jena-base-3.5.0.jar:3.5.0]
>>>> at org.apache.jena.atlas.iterator.Iter.next(Iter.java:875)
>>>> ~[jena-base-3.5.0.jar:3.5.0]
>>>> at
>>>> org.apache.jena.util.iterator.WrappedIterator.next(WrappedIterator.java:94)
>>>>
>>>> ~[jena-core-3.5.0.jar:3.5.0]
>>>> at
>>>> org.apache.jena.util.iterator.WrappedIterator.next(WrappedIterator.java:94)
>>>>
>>>> ~[jena-core-3.5.0.jar:3.5.0]
>>>> at
>>>> org.apache.jena.util.iterator.FilterIterator.hasNext(FilterIterator.java:56)
>>>>
>>>> ~[jena-core-3.5.0.jar:3.5.0]
>>>> at
>>>> org.apache.jena.util.iterator.NiceIterator$1.hasNext(NiceIterator.java:105)
>>>>
>>>> ~[jena-core-3.5.0.jar:3.5.0]
>>>> at
>>>> org.apache.jena.util.iterator.WrappedIterator.hasNext(WrappedIterator.java:90)
>>>>
>>>> ~[jena-core-3.5.0.jar:3.5.0]
>>>> at
>>>> org.apache.jena.graph.compose.CompositionBase$1.hasNext(CompositionBase.java:94)
>>>>
>>>> ~[jena-core-3.5.0.jar:3.5.0]
>>>> at
>>>> org.apache.jena.util.iterator.NiceIterator$1.hasNext(NiceIterator.java:105)
>>>>
>>>> ~[jena-core-3.5.0.jar:3.5.0]
>>>> at
>>>> org.apache.jena.util.iterator.WrappedIterator.hasNext(WrappedIterator.java:90)
>>>>
>>>> ~[jena-core-3.5.0.jar:3.5.0]
>>>> at
>>>> org.apache.jena.sparql.engine.iterator.QueryIterTriplePattern$TripleMapper.hasNextBinding(QueryIterTriplePattern.java:135)
>>>>
>>>> ~[jena-arq-3.5.0.jar:3.5.0]
>>>> at
>>>> org.apache.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:114)
>>>>
>>>> ~[jena-arq-3.5.0.jar:3.5.0]
>>>> at
>>>> org.apache.jena.sparql.engine.iterator.QueryIterRepeatApply.hasNextBinding(QueryIterRepeatApply.java:74)
>>>>
>>>> ~[jena-arq-3.5.0.jar:3.5.0]
>>>> at
>>>> org.apache.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:114)
>>>>
>>>> ~[jena-arq-3.5.0.jar:3.5.0]
>>>> at
>>>> org.apache.jena.sparql.engine.iterator.QueryIterRepeatApply.makeNextStage(QueryIterRepeatApply.java:101)
>>>>
>>>> ~[jena-arq-3.5.0.jar:3.5.0]
>>>> at
>>>> org.apache.jena.sparql.engine.iterator.QueryIterRepeatApply.hasNextBinding(QueryIterRepeatApply.java:65)
>>>>
>>>> ~[jena-arq-3.5.0.jar:3.5.0]
>>>> at
>>>> org.apache.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:114)
>>>>
>>>> ~[jena-arq-3.5.0.jar:3.5.0]
>>>> at
>>>> org.apache.jena.sparql.engine.iterator.QueryIterRepeatApply.makeNextStage(QueryIterRepeatApply.java:101)
>>>>
>>>> ~[jena-arq-3.5.0.jar:3.5.0]
>>>> at
>>>> org.apache.jena.sparql.engine.iterator.QueryIterRepeatApply.hasNextBinding(QueryIterRepeatApply.java:65)
>>>>
>>>> ~[jena-arq-3.5.0.jar:3.5.0]
>>>> at
>>>> org.apache.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:114)
>>>>
>>>> ~[jena-arq-3.5.0.jar:3.5.0]
>>>> at
>>>> org.apache.jena.sparql.engine.iterator.QueryIterBlockTriples.hasNextBinding(QueryIterBlockTriples.java:63)
>>>>
>>>> ~[jena-arq-3.5.0.jar:3.5.0]
>>>> at
>>>> org.apache.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:114)
>>>>
>>>> ~[jena-arq-3.5.0.jar:3.5.0]
>>>> at
>>>> org.apache.jena.sparql.engine.iterator.QueryIterRepeatApply.makeNextStage(QueryIterRepeatApply.java:101)
>>>>
>>>> ~[jena-arq-3.5.0.jar:3.5.0]
>>>> at
>>>> org.apache.jena.sparql.engine.iterator.QueryIterRepeatApply.hasNextBinding(QueryIterRepeatApply.java:65)
>>>>
>>>> ~[jena-arq-3.5.0.jar:3.5.0]
>>>> at
>>>> org.apache.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:114)
>>>>
>>>> ~[jena-arq-3.5.0.jar:3.5.0]
>>>> at
>>>> org.apache.jena.sparql.engine.iterator.QueryIterPeek.hasNextBinding(QueryIterPeek.java:57)
>>>>
>>>> ~[jena-arq-3.5.0.jar:3.5.0]
>>>> at
>>>> org.apache.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:114)
>>>>
>>>> ~[jena-arq-3.5.0.jar:3.5.0]
>>>> at
>>>> org.apache.jena.sparql.engine.iterator.QueryIterRepeatApply.makeNextStage(QueryIterRepeatApply.java:101)
>>>>
>>>> ~[jena-arq-3.5.0.jar:3.5.0]
>>>> at
>>>> org.apache.jena.sparql.engine.iterator.QueryIterRepeatApply.hasNextBinding(QueryIterRepeatApply.java:65)
>>>>
>>>> ~[jena-arq-3.5.0.jar:3.5.0]
>>>> at
>>>> org.apache.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:114)
>>>>
>>>> ~[jena-arq-3.5.0.jar:3.5.0]
>>>> at
>>>> org.apache.jena.sparql.engine.iterator.QueryIterRepeatApply.makeNextStage(QueryIterRepeatApply.java:101)
>>>>
>>>> ~[jena-arq-3.5.0.jar:3.5.0]
>>>> at
>>>> org.apache.jena.sparql.engine.iterator.QueryIterRepeatApply.hasNextBinding(QueryIterRepeatApply.java:65)
>>>>
>>>> ~[jena-arq-3.5.0.jar:3.5.0]
>>>> at
>>>> org.apache.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:114)
>>>>
>>>> ~[jena-arq-3.5.0.jar:3.5.0]
>>>> at
>>>> org.apache.jena.sparql.engine.iterator.QueryIterBlockTriples.hasNextBinding(QueryIterBlockTriples.java:63)
>>>>
>>>> ~[jena-arq-3.5.0.jar:3.5.0]
>>>> at
>>>> org.apache.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:114)
>>>>
>>>> ~[jena-arq-3.5.0.jar:3.5.0]
>>>> at
>>>> org.apache.jena.sparql.engine.iterator.QueryIterGroup$1.initializeIterator(QueryIterGroup.java:93)
>>>>
>>>> ~[jena-arq-3.5.0.jar:3.5.0]
>>>> at
>>>> org.apache.jena.atlas.iterator.IteratorDelayedInitialization.init(IteratorDelayedInitialization.java:40)
>>>>
>>>> ~[jena-base-3.5.0.jar:3.5.0]
>>>> at
>>>> org.apache.jena.atlas.iterator.IteratorDelayedInitialization.hasNext(IteratorDelayedInitialization.java:50)
>>>>
>>>> ~[jena-base-3.5.0.jar:3.5.0]
>>>> at
>>>> org.apache.jena.sparql.engine.iterator.QueryIterPlainWrapper.hasNextBinding(QueryIterPlainWrapper.java:53)
>>>>
>>>> ~[jena-arq-3.5.0.jar:3.5.0]
>>>> at
>>>> org.apache.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:114)
>>>>
>>>> ~[jena-arq-3.5.0.jar:3.5.0]
>>>> at
>>>> org.apache.jena.sparql.engine.iterator.QueryIterProcessBinding.hasNextBinding(QueryIterProcessBinding.java:66)
>>>>
>>>> ~[jena-arq-3.5.0.jar:3.5.0]
>>>> at
>>>> org.apache.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:114)
>>>>
>>>> ~[jena-arq-3.5.0.jar:3.5.0]
>>>> at java.util.Iterator.forEachRemaining(Iterator.java:115)
>>>> ~[?:1.8.0_121]
>>>> at org.apache.jena.atlas.data.DataBag.addAll(DataBag.java:94)
>>>> ~[jena-arq-3.5.0.jar:3.5.0]
>>>> at
>>>> org.apache.jena.sparql.engine.iterator.QueryIterSort$SortedBindingIterator.initializeIterator(QueryIterSort.java:87)
>>>>
>>>> ~[jena-arq-3.5.0.jar:3.5.0]
>>>> at
>>>> org.apache.jena.atlas.iterator.IteratorDelayedInitialization.init(IteratorDelayedInitialization.java:40)
>>>>
>>>> ~[jena-base-3.5.0.jar:3.5.0]
>>>> at
>>>> org.apache.jena.atlas.iterator.IteratorDelayedInitialization.hasNext(IteratorDelayedInitialization.java:50)
>>>>
>>>> ~[jena-base-3.5.0.jar:3.5.0]
>>>> at
>>>> org.apache.jena.sparql.engine.iterator.QueryIterPlainWrapper.hasNextBinding(QueryIterPlainWrapper.java:53)
>>>>
>>>> ~[jena-arq-3.5.0.jar:3.5.0]
>>>> at
>>>> org.apache.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:114)
>>>>
>>>> ~[jena-arq-3.5.0.jar:3.5.0]
>>>> at
>>>> org.apache.jena.sparql.engine.iterator.QueryIterConvert.hasNextBinding(QueryIterConvert.java:58)
>>>>
>>>> ~[jena-arq-3.5.0.jar:3.5.0]
>>>> at
>>>> org.apache.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:114)
>>>>
>>>> ~[jena-arq-3.5.0.jar:3.5.0]
>>>> at
>>>> org.apache.jena.sparql.engine.iterator.QueryIteratorWrapper.hasNextBinding(QueryIteratorWrapper.java:39)
>>>>
>>>> ~[jena-arq-3.5.0.jar:3.5.0]
>>>> at
>>>> org.apache.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:114)
>>>>
>>>> ~[jena-arq-3.5.0.jar:3.5.0]
>>>> at
>>>> org.apache.jena.sparql.engine.iterator.QueryIteratorWrapper.hasNextBinding(QueryIteratorWrapper.java:39)
>>>>
>>>> ~[jena-arq-3.5.0.jar:3.5.0]
>>>> at
>>>> org.apache.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:114)
>>>>
>>>> ~[jena-arq-3.5.0.jar:3.5.0]
>>>> at
>>>> org.apache.jena.sparql.engine.ResultSetStream.hasNext(ResultSetStream.java:74)
>>>>
>>>> ~[jena-arq-3.5.0.jar:3.5.0]
>>>> at
>>>> org.apache.jena.sparql.engine.ResultSetCheckCondition.hasNext(ResultSetCheckCondition.java:55)
>>>>
>>>> ~[jena-arq-3.5.0.jar:3.5.0]
>>>> at
>>>> com.myproject.rest.StatisticsRestService.getDataBy(StatisticsRestService.java:205)
>>>>
>>>> ~[classes:?]
>>>> at
>>>> com.myproject.rest.StatisticsRestService.getData(StatisticsRestService.java:178)
>>>>
>>>> ~[classes:?]
>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
>>>> Method) ~[?:1.8.0_121]
>>>> at
>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>>>>
>>>> ~[?:1.8.0_121]
>>>> at
>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>>>
>>>> ~[?:1.8.0_121]
>>>> at java.lang.reflect.Method.invoke(Method.java:498)
>>>> ~[?:1.8.0_121]
>>>> at
>>>> org.jboss.weld.bean.proxy.AbstractBeanInstance.invoke(AbstractBeanInstance.java:38)
>>>>
>>>> ~[weld-core-impl-2.3.2.Final.jar!/:2.3.2.Final]
>>>> at
>>>> org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:100)
>>>>
>>>> ~[weld-core-impl-2.3.2.Final.jar!/:2.3.2.Final]
>>>> at
>>>> com.myproject.rest.StatisticsRestService$Proxy$_$$_WeldClientProxy.getData(Unknown
>>>>
>>>> Source) ~[classes:?]
>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
>>>> Method) ~[?:1.8.0_121]
>>>> at
>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>>>>
>>>> ~[?:1.8.0_121]
>>>> at
>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>>>
>>>> ~[?:1.8.0_121]
>>>> at java.lang.reflect.Method.invoke(Method.java:498)
>>>> ~[?:1.8.0_121]
>>>> at
>>>> org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:139)
>>>>
>>>> ~[resteasy-jaxrs-3.0.14.Final.jar!/:3.0.14.Final]
>>>> at
>>>> org.jboss.resteasy.core.ResourceMethodInvoker.invokeOnTarget(ResourceMethodInvoker.java:295)
>>>>
>>>> ~[resteasy-jaxrs-3.0.14.Final.jar!/:3.0.14.Final]
>>>> at
>>>> org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:249)
>>>>
>>>> ~[resteasy-jaxrs-3.0.14.Final.jar!/:3.0.14.Final]
>>>> at
>>>> org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:236)
>>>>
>>>> ~[resteasy-jaxrs-3.0.14.Final.jar!/:3.0.14.Final]
>>>> at
>>>> org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:395)
>>>>
>>>> [resteasy-jaxrs-3.0.14.Final.jar!/:3.0.14.Final]
>>>> at
>>>> org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:202)
>>>>
>>>> [resteasy-jaxrs-3.0.14.Final.jar!/:3.0.14.Final]
>>>> at
>>>> org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:221)
>>>>
>>>> [resteasy-jaxrs-3.0.14.Final.jar!/:3.0.14.Final]
>>>> at
>>>> org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:56)
>>>>
>>>> [resteasy-jaxrs-3.0.14.Final.jar!/:3.0.14.Final]
>>>> at
>>>> org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:51)
>>>>
>>>> [resteasy-jaxrs-3.0.14.Final.jar!/:3.0.14.Final]
>>>> at
>>>> javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
>>>> [jboss-servlet-api_3.1_spec-1.0.0.Final.jar!/:1.0.0.Final]
>>>> at
>>>> io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:85)
>>>>
>>>> [undertow-servlet-1.3.15.Final.jar!/:1.3.15.Final]
>>>> at
>>>> io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:129)
>>>>
>>>> [undertow-servlet-1.3.15.Final.jar!/:1.3.15.Final]
>>>> at
>>>> org.apache.logging.log4j.web.Log4jServletFilter.doFilter(Log4jServletFilter.java:71)
>>>>
>>>> [log4j-web-2.5.jar:2.5]
>>>> at
>>>> io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:60)
>>>> [undertow-servlet-1.3.15.Final.jar!/:1.3.15.Final]
>>>> at
>>>> io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)
>>>>
>>>> [undertow-servlet-1.3.15.Final.jar!/:1.3.15.Final]
>>>> at
>>>> io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:84)
>>>>
>>>> [undertow-servlet-1.3.15.Final.jar!/:1.3.15.Final]
>>>> at
>>>> io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62)
>>>>
>>>> [undertow-servlet-1.3.15.Final.jar!/:1.3.15.Final]
>>>> at
>>>> io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)
>>>>
>>>> [undertow-servlet-1.3.15.Final.jar!/:1.3.15.Final]
>>>> at
>>>> org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78)
>>>>
>>>> [wildfly-undertow-10.0.0.Final.jar!/:10.0.0.Final]
>>>> at
>>>> io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
>>>>
>>>> [undertow-core-1.3.15.Final.jar!/:1.3.15.Final]
>>>> at
>>>> io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:131)
>>>>
>>>> [undertow-servlet-1.3.15.Final.jar!/:1.3.15.Final]
>>>> at
>>>> io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57)
>>>>
>>>> [undertow-servlet-1.3.15.Final.jar!/:1.3.15.Final]
>>>> at
>>>> io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
>>>>
>>>> [undertow-core-1.3.15.Final.jar!/:1.3.15.Final]
>>>> at
>>>> io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46)
>>>>
>>>> [undertow-core-1.3.15.Final.jar!/:1.3.15.Final]
>>>> at
>>>> io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64)
>>>>
>>>> [undertow-servlet-1.3.15.Final.jar!/:1.3.15.Final]
>>>> at
>>>> io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:60)
>>>>
>>>> [undertow-core-1.3.15.Final.jar!/:1.3.15.Final]
>>>> at
>>>> io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:77)
>>>>
>>>> [undertow-servlet-1.3.15.Final.jar!/:1.3.15.Final]
>>>> at
>>>> io.undertow.security.handlers.NotificationReceiverHandler.handleRequest(NotificationReceiverHandler.java:50)
>>>>
>>>> [undertow-core-1.3.15.Final.jar!/:1.3.15.Final]
>>>> at
>>>> io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43)
>>>>
>>>> [undertow-core-1.3.15.Final.jar!/:1.3.15.Final]
>>>> at
>>>> io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
>>>>
>>>> [undertow-core-1.3.15.Final.jar!/:1.3.15.Final]
>>>> at
>>>> org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61)
>>>>
>>>> [wildfly-undertow-10.0.0.Final.jar!/:10.0.0.Final]
>>>> at
>>>> io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
>>>>
>>>> [undertow-core-1.3.15.Final.jar!/:1.3.15.Final]
>>>> at
>>>> io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
>>>>
>>>> [undertow-core-1.3.15.Final.jar!/:1.3.15.Final]
>>>> at
>>>> io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:284)
>>>>
>>>> [undertow-servlet-1.3.15.Final.jar!/:1.3.15.Final]
>>>> at
>>>> io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:263)
>>>>
>>>> [undertow-servlet-1.3.15.Final.jar!/:1.3.15.Final]
>>>> at
>>>> io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:81)
>>>>
>>>> [undertow-servlet-1.3.15.Final.jar!/:1.3.15.Final]
>>>> at
>>>> io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:174)
>>>>
>>>> [undertow-servlet-1.3.15.Final.jar!/:1.3.15.Final]
>>>> at
>>>> io.undertow.server.Connectors.executeRootHandler(Connectors.java:202)
>>>> [undertow-core-1.3.15.Final.jar!/:1.3.15.Final]
>>>> at
>>>> io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:793)
>>>>
>>>> [undertow-core-1.3.15.Final.jar!/:1.3.15.Final]
>>>> at
>>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>>>>
>>>> [?:1.8.0_121]
>>>> at
>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>>>>
>>>> [?:1.8.0_121]
>>>> at java.lang.Thread.run(Thread.java:745) [?:1.8.0_121]
>>>>
>>>>
>>>
>