[ https://issues.apache.org/jira/browse/RYA-469?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16420947#comment-16420947 ]
ASF GitHub Bot commented on RYA-469: ------------------------------------ Github user kchilton2 commented on a diff in the pull request: https://github.com/apache/incubator-rya/pull/285#discussion_r178385888 --- Diff: extras/rya.streams/kafka/src/main/java/org/apache/rya/streams/kafka/processors/join/KeyValueJoinStateStore.java --- @@ -77,30 +77,39 @@ /** * This is the maximum value of a UTF-8 character. */ - private static final String END_RANGE_SUFFIX = new String(new byte[] { (byte) 0XFF }, Charsets.UTF_8); + private static final String END_RANGE_SUFFIX = new String(new byte[] { (byte) 0xFF }, Charsets.UTF_8); + + /** + * Indicates where the end of the join variables occurs. + */ + private static final String JOIN_VAR_END_MARKER = new String("~!^~".getBytes(Charsets.UTF_8), Charsets.UTF_8); --- End diff -- I'm not sure that the marker should be in the visually renderable byte ranges since, while very unlikely, they could legitimately appear in the data that is being indexed. > 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)