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

Reply via email to