Chaitanya commented on APEXMALHAR-2284:

Join operator uses:
1) put(Slice key, Slice value, long time)
2) getAsync(Slice key)

Hence we need the following spillable structures, with above API calls but with 
a notion of time:
1. SpillableArrayListMultiMap
2. SpillableArrayList (needed by (1))
3. SpillableMap

Currently, these implementations are over ManageStateImpl. However, inner join 
needs it over ManagedTimeStateImpl as time field is needed in the put() call. 

ManagedTimeMultiValueState is not duplicating the functionality in 
SpillableArrayListMultiMap. It is actually a generic MultiMap implementation 
which has a notion of time. 
I suggest we fix the issues in ManagedTimeMultiValueState, add unit tests and 
fix warnings. 

> POJOInnerJoinOperatorTest fails in Travis CI
> --------------------------------------------
>                 Key: APEXMALHAR-2284
>                 URL: https://issues.apache.org/jira/browse/APEXMALHAR-2284
>             Project: Apache Apex Malhar
>          Issue Type: Bug
>            Reporter: Thomas Weise
>            Assignee: Chaitanya
>            Priority: Blocker
>             Fix For: 3.6.0
> https://s3.amazonaws.com/archive.travis-ci.org/jobs/166322754/log.txt
> {code}
> Failed tests: 
>   POJOInnerJoinOperatorTest.testEmitMultipleTuplesFromStream2:337 Number of 
> tuple emitted  expected:<2> but was:<4>
>   POJOInnerJoinOperatorTest.testInnerJoinOperator:184 Number of tuple emitted 
>  expected:<1> but was:<2>
>   POJOInnerJoinOperatorTest.testMultipleValues:236 Number of tuple emitted  
> expected:<2> but was:<3>
>   POJOInnerJoinOperatorTest.testUpdateStream1Values:292 Number of tuple 
> emitted  expected:<1> but was:<2>
> {code}

This message was sent by Atlassian JIRA

Reply via email to