[
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)