[
https://issues.apache.org/jira/browse/CASSANDRA-1505?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jonathan Ellis resolved CASSANDRA-1505.
---------------------------------------
Resolution: Duplicate
dupe of CASSANDRA-1442
> Bug with get_range_slices
> -------------------------
>
> Key: CASSANDRA-1505
> URL: https://issues.apache.org/jira/browse/CASSANDRA-1505
> Project: Cassandra
> Issue Type: Bug
> Components: Core
> Affects Versions: 0.6.5
> Environment: Java 1.6.0_21
> Reporter: Imran Ahmed
>
> I was testing cassandra and trying to get iterate over a bunch of rows using
> the get_range_slices method.
> In a loop I create small amount of data with this code:
> for(int i=0;i<14;i++){
> long timestamp = System.currentTimeMillis();
> ColumnPath colPathName = new ColumnPath(CF_NAME);
> colPathName.setColumn(propName.getBytes(UTF8));
> client.insert(CASSANDRA_KEYSPACE, "my key "+i, colPathName, value,
> timestamp, ConsistencyLevel.ONE);
> }
> Next I try to iterate over the rows using this code:
> Map<String, Map<String, byte[]>> rows = cs.getRows("", fetchSize);
> //System.out.println(rows.size()+"-ROWS="+rows);
>
> while(!rows.isEmpty()){
> Iterator<String> it = rows.keySet().iterator();
> while(it.hasNext()){
> String key = it.next();
> System.out.println(key+"-printing
> row:"+rows.get(key));
> if(!it.hasNext()){
> System.out.println("reached end of
> current page. getting next page:"+key);
> rows = cs.getRows(key, fetchSize);
> System.out.println("obtained new
> row:"+rows);
> }
> }
> }
> the getrows method basically calls the get slice, for the key and count
> passed [I have set the predicate as per the example posted on the cassandra
> wiki]:
> ColumnParent parent = new ColumnParent(CF_NAME);
> List<ColumnOrSuperColumn> results =
> client.get_slice(CASSANDRA_KEYSPACE, key, parent, predicate,
> ConsistencyLevel.ONE);
> This goes in an endless loop. The keys are returned randomly and I am never
> able to successfully finish the iteration.
> Here's the output. It seems to move forward a little and them goes in a wild
> loop:
> total slices:2
> my key 0-printing row:{description...@1a786c3}
> my key 1-printing row:{description...@18088c0}
> reached end of current page. getting next page:my key 1
> total slices:2
> obtained new row:{my key 1={description...@1922221}, my key
> 10={description...@fec107}}
> my key 1-printing row:{description...@1922221}
> my key 10-printing row:{description...@fec107}
> reached end of current page. getting next page:my key 10
> total slices:2
> obtained new row:{my key 10={description...@132e13d}, my key
> 11={description...@1617189}}
> my key 10-printing row:{description...@132e13d}
> my key 11-printing row:{description...@1617189}
> reached end of current page. getting next page:my key 11
> total slices:2
> obtained new row:{my key 12={description...@64f6cd}, my key
> 11={description...@872380}}
> my key 12-printing row:{description...@64f6cd}
> my key 11-printing row:{description...@872380}
> reached end of current page. getting next page:my key 11
> total slices:2
> obtained new row:{my key 12={description...@2bb514}, my key
> 11={description...@17d5d2a}}
> my key 12-printing row:{description...@2bb514}
> my key 11-printing row:{description...@17d5d2a}
> reached end of current page. getting next page:my key 11
> total slices:2
> obtained new row:{my key 12={description...@16fa474}, my key
> 11={description...@95c083}}
> my key 12-printing row:{description...@16fa474}
> my key 11-printing row:{description...@95c083}
> reached end of current page. getting next page:my key 11
> total slices:2
> obtained new row:{my key 12={description...@191d8c1}, my key
> 11={description...@2d9c06}}
> my key 12-printing row:{description...@191d8c1}
> my key 11-printing row:{description...@2d9c06}
> reached end of current page. getting next page:my key 11
> total slices:2
> obtained new row:{my key 12={description...@5e5a50}, my key
> 11={description...@7b6889}}
> my key 12-printing row:{description...@5e5a50}
> my key 11-printing row:{description...@7b6889}
> reached end of current page. getting next page:my key 11
> total slices:2
> .
> .
> .
> Shouldn't iteration work normally like other common iteration patterns or do
> I need to do things differently with casssandra to get iteration working?
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.