cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Benedict (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CASSANDRA-10478) Seek position is not within mmap segment
Date Mon, 12 Oct 2015 11:00:09 GMT

    [ https://issues.apache.org/jira/browse/CASSANDRA-10478?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14952924#comment-14952924
] 

Benedict commented on CASSANDRA-10478:
--------------------------------------

It will be released very soon. Most likely in 2-3 days.

You could switch to standard disk access mode until then. The problems being: this may result
in lower throughput, and will also result in a rebuild of the summary files of all of your
data on restart (and again when you flip back), which could be costly (i.e. startup will be
slow). Strictly this could be avoided, with the same approach as CASSANDRA-10357, but this
would take longer to deliver than just the new release.

> Seek position is not within mmap segment
> ----------------------------------------
>
>                 Key: CASSANDRA-10478
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-10478
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>         Environment: Cassandra 2.2.2 
> Java 1.8.0.60
>            Reporter: Omri Iluz
>            Assignee: Benedict
>            Priority: Critical
>             Fix For: 2.2.3, 2.1.11
>
>
> After upgrading to 2.2.2 we started seeing timeouts accompanied by the following error
in the log. Disabling mmap (by using "disk_access_mode: standard") completely solves the problem.
> We did not experience this problem in 2.2.1.
> The change to src/java/org/apache/cassandra/io/util/ByteBufferDataInput.java in the following
commit seems interesting as it changes the calculation of the mmap boundaries (and moves from
<= to <) https://github.com/apache/cassandra/commit/25de92e321604626d6c098233082904832c07814

> {noformat}
> WARN  [SharedPool-Worker-1] 2015-10-07 03:40:39,771 AbstractTracingAwareExecutorService.java:169
- Uncaught exception on thread Thread[SharedPool-Worker-1,5,main]: {}
> java.lang.RuntimeException: org.apache.cassandra.io.sstable.CorruptSSTableException:
java.io.IOException: Seek position 717680 is not within mmap segment (seg offs: 0, length:
717680)
> 	at org.apache.cassandra.service.StorageProxy$DroppableRunnable.run(StorageProxy.java:2187)
~[apache-cassandra-2.2.2.jar:2.2.2]
> 	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[na:1.8.0_60]
> 	at org.apache.cassandra.concurrent.AbstractTracingAwareExecutorService$FutureTask.run(AbstractTracingAwareExecutorService.java:164)
~[apache-cassandra-2.2.2.jar:2.2.2]
> 	at org.apache.cassandra.concurrent.SEPWorker.run(SEPWorker.java:105) [apache-cassandra-2.2.2.jar:2.2.2]
> 	at java.lang.Thread.run(Thread.java:745) [na:1.8.0_60]
> Caused by: org.apache.cassandra.io.sstable.CorruptSSTableException: java.io.IOException:
Seek position 717680 is not within mmap segment (seg offs: 0, length: 717680)
> 	at org.apache.cassandra.io.sstable.format.big.BigTableReader.getPosition(BigTableReader.java:250)
~[apache-cassandra-2.2.2.jar:2.2.2]
> 	at org.apache.cassandra.io.sstable.format.SSTableReader.getPosition(SSTableReader.java:1558)
~[apache-cassandra-2.2.2.jar:2.2.2]
> 	at org.apache.cassandra.io.sstable.format.big.SSTableSliceIterator.<init>(SSTableSliceIterator.java:42)
~[apache-cassandra-2.2.2.jar:2.2.2]
> 	at org.apache.cassandra.io.sstable.format.big.BigTableReader.iterator(BigTableReader.java:75)
~[apache-cassandra-2.2.2.jar:2.2.2]
> 	at org.apache.cassandra.db.filter.SliceQueryFilter.getSSTableColumnIterator(SliceQueryFilter.java:246)
~[apache-cassandra-2.2.2.jar:2.2.2]
> 	at org.apache.cassandra.db.filter.QueryFilter.getSSTableColumnIterator(QueryFilter.java:62)
~[apache-cassandra-2.2.2.jar:2.2.2]
> 	at org.apache.cassandra.db.CollationController.collectAllData(CollationController.java:270)
~[apache-cassandra-2.2.2.jar:2.2.2]
> 	at org.apache.cassandra.db.CollationController.getTopLevelColumns(CollationController.java:64)
~[apache-cassandra-2.2.2.jar:2.2.2]
> 	at org.apache.cassandra.db.ColumnFamilyStore.getTopLevelColumns(ColumnFamilyStore.java:2004)
~[apache-cassandra-2.2.2.jar:2.2.2]
> 	at org.apache.cassandra.db.ColumnFamilyStore.getColumnFamily(ColumnFamilyStore.java:1808)
~[apache-cassandra-2.2.2.jar:2.2.2]
> 	at org.apache.cassandra.db.Keyspace.getRow(Keyspace.java:360) ~[apache-cassandra-2.2.2.jar:2.2.2]
> 	at org.apache.cassandra.db.SliceFromReadCommand.getRow(SliceFromReadCommand.java:85)
~[apache-cassandra-2.2.2.jar:2.2.2]
> 	at org.apache.cassandra.service.StorageProxy$LocalReadRunnable.runMayThrow(StorageProxy.java:1537)
~[apache-cassandra-2.2.2.jar:2.2.2]
> 	at org.apache.cassandra.service.StorageProxy$DroppableRunnable.run(StorageProxy.java:2183)
~[apache-cassandra-2.2.2.jar:2.2.2]
> 	... 4 common frames omitted
> Caused by: java.io.IOException: Seek position 717680 is not within mmap segment (seg
offs: 0, length: 717680)
> 	at org.apache.cassandra.io.util.ByteBufferDataInput.seek(ByteBufferDataInput.java:47)
~[apache-cassandra-2.2.2.jar:2.2.2]
> 	at org.apache.cassandra.io.util.AbstractDataInput.skipBytes(AbstractDataInput.java:33)
~[apache-cassandra-2.2.2.jar:2.2.2]
> 	at org.apache.cassandra.io.util.FileUtils.skipBytesFully(FileUtils.java:405) ~[apache-cassandra-2.2.2.jar:2.2.2]
> 	at org.apache.cassandra.db.RowIndexEntry$Serializer.skipPromotedIndex(RowIndexEntry.java:164)
~[apache-cassandra-2.2.2.jar:2.2.2]
> 	at org.apache.cassandra.db.RowIndexEntry$Serializer.skip(RowIndexEntry.java:155) ~[apache-cassandra-2.2.2.jar:2.2.2]
> 	at org.apache.cassandra.io.sstable.format.big.BigTableReader.getPosition(BigTableReader.java:244)
~[apache-cassandra-2.2.2.jar:2.2.2]
> 	... 17 common frames omitted
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message