You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@cassandra.apache.org by Eiti Kimura <ei...@movile.com> on 2015/10/09 17:35:13 UTC

SSTableWriter error: incorrect row data size

Hello Guys,

Have a cluster with 6 nodes using Cassandra 1.2.
I have my Keyspace and tables created using thrift cassandra-cli.

Now I just created a new table using cqlsh as follows:

CREATE TABLE idx_conf (
  conf_id int,
  ref_id text,
  subs_key text,
  data text,
  enabled boolean,
  expiration timestamp,
  last_charge timestamp,
  last_charge_att timestamp,
  last_queued timestamp,
  master boolean,
  msg_balance int,
  origin_id int,
  seq_index int,
  status_id int,
  PRIMARY KEY (conf_id, subs_key)
) WITH
  bloom_filter_fp_chance=0.010000 AND
  caching='KEYS_ONLY' AND
  comment='' AND
  dclocal_read_repair_chance=0.000000 AND
  gc_grace_seconds=864000 AND
  read_repair_chance=0.100000 AND
  replicate_on_write='true' AND
  populate_io_cache_on_flush='false' AND
  compaction={'class': 'SizeTieredCompactionStrategy'} AND
  compression={'sstable_compression': 'SnappyCompressor'};

And I wrote a program to add data to this table using Datastax java-driver
version 2.1.5.

So I created my cluster with right protocol version for Cassandra 1.2
version:
 cluster = Cluster.builder()
                         .addContactPoints(addresses)
                         .withProtocolVersion(ProtocolVersion.V1)

 .withRetryPolicy(DowngradingConsistencyRetryPolicy.INSTANCE)
                         .withReconnectionPolicy(new
ExponentialReconnectionPolicy(1000L, 30000L))
                         .withLoadBalancingPolicy(new
DCAwareRoundRobinPolicy())
                         .build();

The inserts, updates and queries are working fine, but I saw some weird
exceptions in Cassandra server's log (system.log):

ERROR [CompactionExecutor:6523] 2015-10-09 12:33:23,551
CassandraDaemon.java (line 191) Exception in thread
Thread[CompactionExecutor:6523,1,main]
java.lang.AssertionError: incorrect row data size 568009715 written to
/movile/cassandra-data/SBSPlatform/idx_config/SBSPlatform-idx_config-tmp-ic-715-Data.db;
correct is 568010203
at
org.apache.cassandra.io.sstable.SSTableWriter.append(SSTableWriter.java:162)
at
org.apache.cassandra.db.compaction.CompactionTask.runWith(CompactionTask.java:162)
at
org.apache.cassandra.io.util.DiskAwareRunnable.runMayThrow(DiskAwareRunnable.java:48)
at org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28)
at
org.apache.cassandra.db.compaction.CompactionTask.executeInternal(CompactionTask.java:58)
at
org.apache.cassandra.db.compaction.AbstractCompactionTask.execute(AbstractCompactionTask.java:60)
at
org.apache.cassandra.db.compaction.CompactionManager$BackgroundCompactionTask.run(CompactionManager.java:208)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)

Looks like that SSTableWriter was not able to flush data to disk when
writing the new table: SBSPlatform-idx_config-tmp-ic-715-Data.db

Can you help me with that?
What are the consequences of this errors?
Thanks

J.P. Eiti Kimura
Plataformas

+55 19 3518  <https://www.movile.com/assinaturaemail/#>5500
+ <https://www.movile.com/assinaturaemail/#>55 19 98232 2792
skype: eitikimura
<https://www.linkedin.com/company/movile>
<https://pt.pinterest.com/Movile/>  <https://twitter.com/movile_LATAM>
<https://www.facebook.com/Movile>