Kiet Ly,
For your stack overflow, can you share your model with me?  Dropbox, or zip
it and send to my gmail?
If not, maybe you could characterize it so I can recreate the issue.
david.

On Mon, Aug 1, 2016 at 2:34 PM, David W. Lotts (JIRA) <j...@apache.org>
wrote:

>
>     [
> https://issues.apache.org/jira/browse/RYA-134?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15402590#comment-15402590
> ]
>
> David W. Lotts commented on RYA-134:
> ------------------------------------
>
> So are you thinking that a conversion from recursion to a loop would allow
> it to scale up better?
> It appears that it stores all it's chained inferred statements in memory,
> so I suppose that would be the upper limit.  But in your case it fails on a
> stack overflow.  Would you say it should eventually run out of RAM instead
> of stack overflow?
>
> > stack overflow when using owl:TransitiveProperty
> > ------------------------------------------------
> >
> >                 Key: RYA-134
> >                 URL: https://issues.apache.org/jira/browse/RYA-134
> >             Project: Rya
> >          Issue Type: Bug
> >         Environment: Accumulo 1.6.5 + Rya build from dev branch.
> >            Reporter: Kiet Ly
> >            Priority: Critical
> >
> > matter:involved rdf:type owl:TransitiveProperty .
> > Look like Rya is using recursion?
> > 28-Jul-2016 16:56:36.688 SEVERE [http-nio-8000-exec-5]
> org.apache.catalina.core.StandardWrapperValve.invoke Servlet.service() for
> servlet [springrdf] in context with path [/web.rya] threw exception
> [Handler processing failed; nested exception is
> java.lang.StackOverflowError] with root cause
> >  java.lang.StackOverflowError
> >         at
> sun.nio.ch.EPollArrayWrapper.setInterest(EPollArrayWrapper.java:213)
> >         at
> sun.nio.ch.EPollSelectorImpl.putEventOps(EPollSelectorImpl.java:187)
> >         at
> sun.nio.ch.SocketChannelImpl.translateAndSetInterestOps(SocketChannelImpl.java:980)
> >         at
> sun.nio.ch.SelectionKeyImpl.nioInterestOps(SelectionKeyImpl.java:105)
> >         at
> sun.nio.ch.SelectionKeyImpl.interestOps(SelectionKeyImpl.java:83)
> >         at sun.nio.ch.SelectorImpl.register(SelectorImpl.java:135)
> >         at
> java.nio.channels.spi.AbstractSelectableChannel.register(AbstractSelectableChannel.java:209)
> >         at
> java.nio.channels.SelectableChannel.register(SelectableChannel.java:277)
> >         at
> org.apache.hadoop.net.SocketIOWithTimeout$SelectorPool.select(SocketIOWithTimeout.java:334)
> >         at
> org.apache.hadoop.net.SocketIOWithTimeout.doIO(SocketIOWithTimeout.java:157)
> >         at
> org.apache.hadoop.net.SocketInputStream.read(SocketInputStream.java:161)
> >         at
> org.apache.hadoop.net.SocketInputStream.read(SocketInputStream.java:131)
> >         at java.io.FilterInputStream.read(FilterInputStream.java:133)
> >         at java.io.BufferedInputStream.fill(BufferedInputStream.java:235)
> >         at
> java.io.BufferedInputStream.read1(BufferedInputStream.java:275)
> >         at java.io.BufferedInputStream.read(BufferedInputStream.java:334)
> >         at
> org.apache.thrift.transport.TIOStreamTransport.read(TIOStreamTransport.java:127)
> >         at
> org.apache.thrift.transport.TTransport.readAll(TTransport.java:84)
> >         at
> org.apache.thrift.transport.TFramedTransport.readFrame(TFramedTransport.java:129)
> >         at
> org.apache.thrift.transport.TFramedTransport.read(TFramedTransport.java:101)
> >         at
> org.apache.thrift.transport.TTransport.readAll(TTransport.java:84)
> >         at
> org.apache.accumulo.core.client.impl.ThriftTransportPool$CachedTTransport.readAll(ThriftTransportPool.java:273)
> >         at
> org.apache.thrift.protocol.TCompactProtocol.readByte(TCompactProtocol.java:601)
> >         at
> org.apache.thrift.protocol.TCompactProtocol.readMessageBegin(TCompactProtocol.java:470)
> >         at
> org.apache.thrift.TServiceClient.receiveBase(TServiceClient.java:69)
> >         at
> org.apache.accumulo.core.tabletserver.thrift.TabletClientService$Client.recv_startScan(TabletClientService.java:228)
> >         at
> org.apache.accumulo.core.tabletserver.thrift.TabletClientService$Client.startScan(TabletClientService.java:204)
> >         at
> org.apache.accumulo.core.client.impl.ThriftScanner.scan(ThriftScanner.java:403)
> >         at
> org.apache.accumulo.core.client.impl.ThriftScanner.scan(ThriftScanner.java:279)
> >         at
> org.apache.accumulo.core.client.impl.ScannerIterator$Reader.run(ScannerIterator.java:84)
> >         at
> org.apache.accumulo.core.client.impl.ScannerIterator.hasNext(ScannerIterator.java:177)
> >         at
> com.google.common.collect.TransformedIterator.hasNext(TransformedIterator.java:43)
> >         at
> mvm.rya.api.utils.CloseableIterableIteration.hasNext(CloseableIterableIteration.java:60)
> >         at
> mvm.rya.api.persist.utils.RyaDAOHelper$1.hasNext(RyaDAOHelper.java:80)
> >         at
> mvm.rya.rdftriplestore.inference.InferenceEngine.chainTransitiveProperty(InferenceEngine.java:325)
> >         at
> mvm.rya.rdftriplestore.inference.InferenceEngine.chainTransitiveProperty(InferenceEngine.java:331)
> >         at
> mvm.rya.rdftriplestore.inference.InferenceEngine.chainTransitiveProperty(InferenceEngine.java:331)
> >         at
> mvm.rya.rdftriplestore.inference.InferenceEngine.chainTransitiveProperty(InferenceEngine.java:331)
> >         at
> mvm.rya.rdftriplestore.inference.InferenceEngine.chainTransitiveProperty(InferenceEngine.java:331)
> >         at
> mvm.rya.rdftriplestore.inference.InferenceEngine.chainTransitiveProperty(InferenceEngine.java:331)
> >         at
> mvm.rya.rdftriplestore.inference.InferenceEngine.chainTransitiveProperty(InferenceEngine.java:331)
> >         at
> mvm.rya.rdftriplestore.inference.InferenceEngine.chainTransitiveProperty(InferenceEngine.java:331)
> >         at
> mvm.rya.rdftriplestore.inference.InferenceEngine.chainTransitiveProperty(InferenceEngine.java:331)
> >         at
> mvm.rya.rdftriplestore.inference.InferenceEngine.chainTransitiveProperty(InferenceEngine.java:331)
> >         at
> mvm.rya.rdftriplestore.inference.InferenceEngine.chainTransitiveProperty(InferenceEngine.java:331)
> >         at
> mvm.rya.rdftriplestore.inference.InferenceEngine.chainTransitiveProperty(InferenceEngine.java:331)
> >         at
> mvm.rya.rdftriplestore.inference.InferenceEngine.chainTransitiveProperty(InferenceEngine.java:331)
> >         at
> mvm.rya.rdftriplestore.inference.InferenceEngine.chainTransitiveProperty(InferenceEngine.java:331)
> >         at
> mvm.rya.rdftriplestore.inference.InferenceEngine.chainTransitiveProperty(InferenceEngine.java:331)
> >         at
> mvm.rya.rdftriplestore.inference.InferenceEngine.chainTransitiveProperty(InferenceEngine.java:331)
> >         at
> mvm.rya.rdftriplestore.inference.InferenceEngine.chainTransitiveProperty(InferenceEngine.java:331)
> >         at
> mvm.rya.rdftriplestore.inference.InferenceEngine.chainTransitiveProperty(InferenceEngine.java:331)
> >         at
> mvm.rya.rdftriplestore.inference.InferenceEngine.chainTransitiveProperty(InferenceEngine.java:331)
> >         at
> mvm.rya.rdftriplestore.inference.InferenceEngine.chainTransitiveProperty(InferenceEngine.java:331)
> >         at
> mvm.rya.rdftriplestore.inference.InferenceEngine.chainTransitiveProperty(InferenceEngine.java:331)
> >         at
> mvm.rya.rdftriplestore.inference.InferenceEngine.chainTransitiveProperty(InferenceEngine.java:331)
> >         at
> mvm.rya.rdftriplestore.inference.InferenceEngine.chainTransitiveProperty(InferenceEngine.java:331)
> >         at
> mvm.rya.rdftriplestore.inference.InferenceEngine.chainTransitiveProperty(InferenceEngine.java:331)
> >         at
> mvm.rya.rdftriplestore.inference.InferenceEngine.chainTransitiveProperty(InferenceEngine.java:331)
> >         at
> mvm.rya.rdftriplestore.inference.InferenceEngine.chainTransitiveProperty(InferenceEngine.java:331)
> >         at
> mvm.rya.rdftriplestore.inference.InferenceEngine.chainTransitiveProperty(InferenceEngine.java:331)
> >         at
> mvm.rya.rdftriplestore.inference.InferenceEngine.chainTransitiveProperty(InferenceEngine.java:331)
> >         at
> mvm.rya.rdftriplestore.inference.InferenceEngine.chainTransitiveProperty(InferenceEngine.java:331)
> >         at
> mvm.rya.rdftriplestore.inference.InferenceEngine.chainTransitiveProperty(InferenceEngine.java:331)
> >         at
> mvm.rya.rdftriplestore.inference.InferenceEngine.chainTransitiveProperty(InferenceEngine.java:331)
> >         at
> mvm.rya.rdftriplestore.inference.InferenceEngine.chainTransitiveProperty(InferenceEngine.java:331)
> >         at
> mvm.rya.rdftriplestore.inference.InferenceEngine.chainTransitiveProperty(InferenceEngine.java:331)
> >         at
> mvm.rya.rdftriplestore.inference.InferenceEngine.chainTransitiveProperty(InferenceEngine.java:331)
> >         at
> mvm.rya.rdftriplestore.inference.InferenceEngine.chainTransitiveProperty(InferenceEngine.java:331)
> >         at
> mvm.rya.rdftriplestore.inference.InferenceEngine.chainTransitiveProperty(InferenceEngine.java:331)
>
>
>
> --
> This message was sent by Atlassian JIRA
> (v6.3.4#6332)
>

Reply via email to