Okay, if it is a counter you are going to have a hell of a time getting it
a value. Best advice I can give is to up consistency levels on operations
on the fields.

On Tuesday, November 5, 2013, Luiz Carlos Jr wrote:

> Hi Christopher,
>
> Sorry about the wrog information... I checked the column family and it's
> really defined as a counter.
>
>
> On Tue, Nov 5, 2013 at 8:39 PM, Christopher Smith 
> <cbsm...@gmail.com<javascript:;>>
> wrote:
>
> > If it isn't a counter type, then why calculate the diff value, just do
> the
> > insert.
> >
> >
> > On Tue, Nov 5, 2013 at 2:28 PM, Luiz Carlos Jr 
> > <l...@s1mbi0se.com.br<javascript:;>
> >
> > wrote:
> >
> > > Hi Christopher,
> > >
> > > Actually it's not a counter, but just a field that stores integers. I'm
> > > logging the expected values but not the command itself because I'm
> using
> > > pycassa to send it. I'm absolutely sure that it's not an overflow case.
> > I'm
> > > talking about numbers in order of 10~100k with no math operators that
> > could
> > > raise an expection (only one subtraction operation).
> > >
> > > Any other ideas ? Thanks for the tips !
> > >
> > >
> > > On Tue, Nov 5, 2013 at 12:29 PM, Christopher Smith 
> > > <cbsm...@gmail.com<javascript:;>
> > > >wrote:
> > >
> > > > Given your use case I'd recommend not using a counter for the field.
> > > >
> > > > Are you logging the update command you are sending Cassandra? Are you
> > > sure
> > > > you aren't overflowing the value either in Cassandra or in your batch
> > > code?
> > > >
> > > > On Monday, November 4, 2013, Luiz Carlos Jr wrote:
> > > >
> > > > > Hi !
> > > > >
> > > > > I have a script written in python that should update a counter in
> > > > > Cassandra. It acts like a batch that corrects the counter.
> > > > >
> > > > > What script does is: get the real value that should be at database,
> > get
> > > > the
> > > > > current value that is persisted at database, calculates the
> > difference
> > > > > between values and finally send insert command to specific row key
> > > > passing
> > > > > the diff to update the counter.
> > > > >
> > > > > All works fine. I got the correct values and diffs but, after
> insert
> > > > > command, the value of row key is not the expected.
> > > > >
> > > > > Example:
> > > > > Real Value = 35000
> > > > > Current DB Value = 30000
> > > > > Diff Value = 5000
> > > > >
> > > > > I sent the insert command passing diff=5000 so, the expected new DB
> > > value
> > > > > should be 35000. But sometimes the new DB value is a crazy negative
> > > > number,
> > > > > like -360.000. It doesn't make any sense, because there's no
> > > combination
> > > > of
> > > > > values and operators that could result on a value like that.
> > > > >
> > > > > And, if i run the script again, the final persisted value is
> correct.
> > > If
> > > > I
> > > > > try again later the final persisted value appears wrong again...
> > > > >
> > > > > Can anyone help me with this ? The same script sometimes works fine
> > and
> > > > > sometimes persists a crazy value.
> > > > >
> > > > > Thank you !
> > > > >
> > > >
> > > >
> > > > --
> > > > Chris
> > > >
> > >
> >
> >
> >
> > --
> > Chris
> >
>


-- 
Chris

Reply via email to