You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Stefan Podkowinski (JIRA)" <ji...@apache.org> on 2016/06/07 12:52:21 UTC

[jira] [Commented] (CASSANDRA-11960) Hints are not seekable

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

Stefan Podkowinski commented on CASSANDRA-11960:
------------------------------------------------

This looks like this was caused by CASSANDRA-5863, where the {{RandomAccessReader}} based input has been replaced with {{RebufferingInputStream}}. 

The way I understand how hint dispatching is currently implemented is that we deliver hints from a file by sending individual {{HintsReader.Page}} s until finished. In cases of any error while transmitting a page, {{HintsStore.markDispatchOffset}} will be used to remember from where to resume delivering hints by using a long offset. Since the byte offset based seek isn't supported anymore due to mentioned changes, the exception is thrown.

> Hints are not seekable
> ----------------------
>
>                 Key: CASSANDRA-11960
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-11960
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: Robert Stupp
>
> Got the following error message on trunk. No idea how to reproduce. But the only thing the (not overridden) seek method does is throwing this exception.
> {code}
> ERROR [HintsDispatcher:2] 2016-06-05 18:51:09,397 CassandraDaemon.java:222 - Exception in thread Thread[HintsDispatcher:2,1,main]
> java.lang.UnsupportedOperationException: Hints are not seekable.
> 	at org.apache.cassandra.hints.HintsReader.seek(HintsReader.java:114) ~[main/:na]
> 	at org.apache.cassandra.hints.HintsDispatcher.seek(HintsDispatcher.java:79) ~[main/:na]
> 	at org.apache.cassandra.hints.HintsDispatchExecutor$DispatchHintsTask.deliver(HintsDispatchExecutor.java:257) ~[main/:na]
> 	at org.apache.cassandra.hints.HintsDispatchExecutor$DispatchHintsTask.dispatch(HintsDispatchExecutor.java:242) ~[main/:na]
> 	at org.apache.cassandra.hints.HintsDispatchExecutor$DispatchHintsTask.dispatch(HintsDispatchExecutor.java:220) ~[main/:na]
> 	at org.apache.cassandra.hints.HintsDispatchExecutor$DispatchHintsTask.run(HintsDispatchExecutor.java:199) ~[main/:na]
> 	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[na:1.8.0_91]
> 	at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[na:1.8.0_91]
> 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) ~[na:1.8.0_91]
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_91]
> 	at java.lang.Thread.run(Thread.java:745) [na:1.8.0_91]
> {code}



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