[ https://issues.apache.org/jira/browse/RYA-469?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16420844#comment-16420844 ]
ASF GitHub Bot commented on RYA-469: ------------------------------------ GitHub user ejwhite922 opened a pull request: https://github.com/apache/incubator-rya/pull/285 RYA-469 Added tests for Rya Streams join iterator bug using LUBM data. ## Description Joins were not working in Rya Streams. The KeyValueJoinStateStore needed to have a queryId associated with each row in RocksDB. Also, the range search that returned the RocksDB iterator needed to mark where the join variables ended so the results would not include characters that came after the start and end range markers (i.e. a range search from "urn:Student9[0x00]" to "urn:Student9[0xFF]" would incorrectly include "urn:Student95,[remainingBindingResults]" when we only wanted rows for "urn:Student9"). ### Tests LUBM data and queries were added for testing. Unit Tests ### Links [Jira](https://issues.apache.org/jira/browse/RYA-469) ### Checklist - [ ] Code Review - [ ] Squash Commits #### People To Review @isper3at @kchilton2 @pujav65 @meiercaleb @amihalik @DLotts @jessehatfield You can merge this pull request into a Git repository by running: $ git pull https://github.com/ejwhite922/incubator-rya RYA-469_RyaStreamsJoinIteratorBug Alternatively you can review and apply these changes as the patch at: https://github.com/apache/incubator-rya/pull/285.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #285 ---- commit a6c9bf8604705ece21d68543cd7bcc1ea252204a Author: eric.white <eric.white@...> Date: 2018-03-29T19:32:56Z RYA-469 Added tests for Rya Streams join iterator bug using LUBM data. ---- > Rya Streams - Join iterator bug. > -------------------------------- > > Key: RYA-469 > URL: https://issues.apache.org/jira/browse/RYA-469 > Project: Rya > Issue Type: Bug > Reporter: Kevin Chilton > Assignee: Kevin Chilton > Priority: Major > > {code:java} > Exception in thread "StreamThread-3" java.lang.RuntimeException: Problem > encountered while iterating over the other side's values within the state > store. > at > org.apache.rya.streams.kafka.processors.join.JoinProcessorSupplier$JoinProcessor.process(JoinProcessorSupplier.java:178) > at > org.apache.rya.streams.kafka.processors.join.JoinProcessorSupplier$JoinProcessor.process(JoinProcessorSupplier.java:95) > at > org.apache.kafka.streams.processor.internals.ProcessorNode.process(ProcessorNode.java:68) > at > org.apache.kafka.streams.processor.internals.StreamTask.forward(StreamTask.java:343) > at > org.apache.kafka.streams.processor.internals.ProcessorContextImpl.forward(ProcessorContextImpl.java:187) > at > org.apache.rya.streams.kafka.processors.StatementPatternProcessorSupplier$StatementPatternProcessor.process(StatementPatternProcessorSupplier.java:112) > at > org.apache.rya.streams.kafka.processors.StatementPatternProcessorSupplier$StatementPatternProcessor.process(StatementPatternProcessorSupplier.java:70) > at > org.apache.kafka.streams.processor.internals.ProcessorNode.process(ProcessorNode.java:68) > at > org.apache.kafka.streams.processor.internals.StreamTask.forward(StreamTask.java:343) > at > org.apache.kafka.streams.processor.internals.ProcessorContextImpl.forward(ProcessorContextImpl.java:187) > at > org.apache.kafka.streams.processor.internals.SourceNode.process(SourceNode.java:64) > at > org.apache.kafka.streams.processor.internals.StreamTask.process(StreamTask.java:174) > at > org.apache.kafka.streams.processor.internals.StreamThread.runLoop(StreamThread.java:320) > at > org.apache.kafka.streams.processor.internals.StreamThread.run(StreamThread.java:218) > Caused by: java.lang.IllegalStateException: The end of range marker must be > the last key in the iterator. > at > org.apache.rya.streams.kafka.processors.join.KeyValueJoinStateStore$1.readNext(KeyValueJoinStateStore.java:221) > at > org.apache.rya.streams.kafka.processors.join.KeyValueJoinStateStore$1.next(KeyValueJoinStateStore.java:188) > at > org.apache.rya.streams.kafka.processors.join.KeyValueJoinStateStore$1.next(KeyValueJoinStateStore.java:158) > at > org.apache.rya.api.function.join.LazyJoiningIterator.next(LazyJoiningIterator.java:77) > at > org.apache.rya.api.function.join.LazyJoiningIterator.next(LazyJoiningIterator.java:41) > at > org.apache.rya.streams.kafka.processors.join.JoinProcessorSupplier$JoinProcessor.process(JoinProcessorSupplier.java:170) > ... 13 more{code} > -- This message was sent by Atlassian JIRA (v7.6.3#76005)