cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hernan Badenes (JIRA)" <>
Subject [jira] Commented: (CASSANDRA-691) get_key_range limit parameter has a smaller range than i32
Date Wed, 13 Jan 2010 15:16:54 GMT


Hernan Badenes commented on CASSANDRA-691:

$ ./Cassandra-remote -h myhost:9160 get_key_range KeySpace CF a z 134217728 1
(... all my keys ...)

$ ./Cassandra-remote -h myhost:9160 get_key_range KeySpace CF a z 134217729 1
: Internal error processing get_key_range

And in cassandra logs:
   2010-01-13 13:11:16,039 ERROR Cassandra$Processor$get_key_range.process Internal error
processing get_key_range
   java.lang.OutOfMemoryError: Java heap space

I agree 134217728 is an absurd number of keys -- my point is that it would be better to know
which is the limit for a request. Sometimes you just want to request "all keys", regardless
the number in the database (I do, at least!).

The OOM error above looks strange -- is it there any allocation based on maxResults?

> get_key_range limit parameter has a smaller range than i32
> ----------------------------------------------------------
>                 Key: CASSANDRA-691
>                 URL:
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 0.9
>         Environment: linux x86
>            Reporter: Hernan Badenes
>            Priority: Minor
> get_key_range fails with an exception (TApplicationException("Internal error processing
get_key_range")) if the maxResults parameter is any value greater than 134217728 = 0x8000000
. Note that the i32 parameter allows a larger maximum value -- e.g. from Java one one try
to pass Integer.MAX_VALUE to obtain all the keys.
> I experience the problem throught thrift, both from java and python. The same code was
working on 0.4.2, while this is happening on code just checked out from trunk. I don't think
this is a thrift problem, since other calls (e.g. get_slice with a SlicePredicate(SliceRange))
allow MAX_INT to be passed.
> Perhaps the solution is just to document the maximum allowed value in the API.

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message