I retried it after restarting all the servers.

I still have wrong results (I simulated an event 5 times and it was count= ed 3 times by some counters 4 or 5 times by others.

What I meant by "but now every request returns me always the same= count value..." will be easier to explain with an example :

event 1:

counter1.increment=A0
counter2.increment
counter3.increment=A0

.
.
.

event 5:

counter1.increment=A0
counter2.increment
counter3.increment=A0

Show results :
counter1.getValue =3D returns 4
counter2.getValue =3D= returns 3
counter3.getValue =3D returns 5

counter1.getValue =3D returns 5
counter2.getValue =3D returns 3
counter3.getValue =3D return= s 5

counter1.getValue =3D returns 4
coun= ter2.getValue =3D returns 4
counter3.getValue =3D returns 5
=

...

So I've got wrong values, and n= ot always the same ones. In my previous email I tried to tell you by saying= "but now every request returns me always the same count value..."= ; that I had all the time the same wrong values, let us say :

counter1.getValue =3D returns 4
counter2.getV= alue =3D returns 3
counter3.getValue =3D returns 5

=
counter1.getValue =3D returns 4
counter2.getValue =3D = returns 3
counter3.getValue =3D returns 5

counter1.getV= alue =3D returns 4
counter2.getValue =3D returns 3
coun= ter3.getValue =3D returns 5

But that is not true, = I still have some "random" wrong values, maybe haven't I quer= y to get counter values often enough to see it last time.

Sorry of not being clearer, that is not easy to explain= , neither to understand for me.

Thanks for help.

Alain

Ala= in,

When you tried CL.All was that only after you had made the c= hange of ReplicationFactor=3D3 and restarted all the servers?
If you hadn't restarted the servers with the new RF, I am n= ot sure that CL.All would have the intended effect.

Also, I wasn't sure what you meant by "but kno= w every request returns me always the same count value..." -- didn'= ;t want the requests to always return you the same values?

Or maybe you are saying that it always returns the same *wrong* = value? Like you do:

counter.increment (v=3D1)
counter.increment (v=3D2)
counter.increment (v=3D3)

counter.getValue =3D returns 7
counter.getValue = =3D returns 7
counter.getValue =3D returns 7

=
or something inconsistent like that?

On Mon, Nov 7, 2011 at 9:09 AM, Alain RODRIGUEZ <arodrime@gmail.com&g= t; wrote:
I've tried with CL.All, but it doesn't wotk better. I still have st= range values (between 4 and 10 events counted instead of 10) but know every= request returns me always the same count value...

It's very strange.

Any other idea ?

Alain

Alain,

Try using a CL of 3 or "ALL" and see if= that the problem goes away.

Your replication fact= or (as I just learned) dictates how many nodes each piece of data is replic= ated to; by using a RF of 3 you are saying "replicate all my data to a= ll my nodes" (in this case counters).

This doesn't happen immediately, but you can *force= * it to happen on write by specifying a CL of "ALL". If you speci= fy "1" then your counter value is written to one member of the ri= ng, then your command returns.

If you keep querying you will bounce around your ring, = reading the values from the different nodes until a future date at *which p= oint* all the values will likely agree.

If you kee= p all your code you have now exactly the same, just change the code at the = end where you read the counter value back, to keep reading the counter valu= e back every second for 60 seconds and see if all the values eventually mat= ch up -- they should (as the counter value is replicated to all the nodes a= nd their old values discarded).

-R

On Mon, Nov 7, 2011 at 8:= 15 AM, Alain RODRIGUEZ wrote:
Hi,

I trying to switch from a RF =3D 1 to a R= F =3D 3, but I get wrong values from counters when doing so...
I got a CF that contains many counters of some events. When I&= #39;m at RF =3D 1 and simulate 10 events, they are well counted.
However, when I switch to a RF =3D 3, my counter show a wrong value th= at sometimes change when requested twice (it can return 7, then 5 instead o= f 10 all the time).

I first thought that it was a = problem of CL because I seem to remember that I read once that I had to use= CL.One for reads and writes with counters. So I tried with CL.One, without= success...

What am I doing wrong ? Is that some precaution to take= when replicating counters ?

Alain

--0015174c0e403eefce04b127f467--