Github user morokosi commented on the issue:
https://github.com/apache/storm/pull/2295
In a nutshell, the changeset makes utilize of inner list dimensions
correctly when a cassandra query result has multiple rows.
Assume we have a cassandra table like the following:
```sql
CREATE TABLE t1 (pk int, ck int, data text, PRIMARY KEY (pk, ck)));
```
| pk | ck | data |
| -- | -- | -- |
| 1 | 0 | a |
| 1 | 1 | b |
| 2 | 0 | c |
| 3 | 0 | d |
and we have a StateQuery as `SELECT data from t1 where pk = ?` with input
tuples `1,2,3`.
With current implementation, the return list of
`TridentResultSetValuesMapper::map` is as follows:
```
[
[values(pk=1, ck=0)],
[values(pk=1, ck=1)],
[values(pk=2, ck=0)],
[values(pk=3, ck=0)]
]
```
This throws an exception because the list size differs from the input tuple
size.
On the other hand, one with the changeset results
```
[
[values(pk=1, ck=0), values(pk=1, ck=1)],
[values(pk=2, ck=0)],
[values(pk=3, ck=0)]
]
```
which the list size is same as the input tuple size.
---