cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Vitaly Sourikov <vitaly.souri...@gmail.com>
Subject How long does it take for a write to actually happen?
Date Tue, 08 Jan 2013 16:48:55 GMT
Hi,
we are currently at an early stage of our project and have only one
Cassandra 1.1.7 node hosted on EC2 m1.large node, where the data is written
to the ephemeral disk, and /var/lib/cassandra/data is just a soft link to
it. Commit logs and caches are still on /var/lib/cassandra/. We set
MAX_HEAP_SIZE="6G" and HEAP_NEWSIZE="400M"

On the client-side, we use Astyanax 1.56.18 to access the data.  We have a
processing server that writes to Cassandra, and an online server that reads
from it. The former wakes up every 0.5-5sec., checks for new entries (in
"Entries" CF, with indexed column status=1), processes them, and sets the
status to 2, when done. The online server checks once a second if an entry
that should be processed got the status 2 and sends it to its client side
for display. Processing takes 5-10 seconds and updates various columns in
the "Entries" CF few times on the way. One of these columns may contain
~12KB of textual data, others are just short strings or numbers.

Now, our problem is that it takes 20-40 seconds before the online server
actually sees the change - and it is way too long, this process is supposed
to be nearly real-time. Moreover, in sqlsh, if I perform a similar update,
it is immediately seen in the following select results, but the updates
from the back-end server also do not appear for 20-40 seconds.

I tried switching the row caches for that table and in yaml on and of. I
tried commitlog_sync: batch with commitlog_sync_batch_window_in_ms: 50.
Nothing helped.

I will appreciate any advice on how to speed the writes up, or at least an
explanation why this happens.

thanks,
Vitaly

Mime
View raw message