[ https://issues.apache.org/jira/browse/CASSANDRA-8704?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Marcus Eriksson updated CASSANDRA-8704: --------------------------------------- Attachment: 0001-8704.patch Problem is that we passed in the shared reference when creating the SSTableStreamingSections - this gets released when the file has been transferred and if we transfer to > 1 host, it will release the shared ref several times. I think we are good in the general streaming/repair case since we get new references for the sstables in StreamSession.getSSTableSectionsForRanges > IllegalStateException when running SSTableLoader > ------------------------------------------------ > > Key: CASSANDRA-8704 > URL: https://issues.apache.org/jira/browse/CASSANDRA-8704 > Project: Cassandra > Issue Type: Bug > Reporter: Philip Thompson > Assignee: Benedict > Fix For: 2.1.3 > > Attachments: 0001-8704.patch > > > The sstableloader dtests are failing on 2.1-HEAD and trunk: > http://cassci.datastax.com/job/cassandra-2.1_dtest/696/testReport/sstable_generation_loading_test/ > The stack trace is as follows: > {code} > Streaming relevant part of > /var/folders/v3/z4wf_34n1q506_xjdy49gb780000gn/T/dtest-4JCAxa/test/node1/data_copy/ks/counter1-86be6170a81911e4bb5177c771bcee1a/la-1-big-Data.db > to [/127.0.0.1, /127.0.0.2] > progress: [/127.0.0.1]0:1/1 100% [/127.0.0.2]0:1/1 100% total: 100% 0 > MB/s(avg: 0 MB/s)ERROR 00:47:51 BAD RELEASE: attempted to release a shared > reference (org.apache.cassandra.utils.concurrent.Ref$State@47a2174b) that has > already been released > ERROR 00:47:51 [Stream #9dbdade0-a819-11e4-bad4-473c1159ad6e] Streaming error > occurred > java.lang.IllegalStateException: Attempted to release a reference that has > already been released > at org.apache.cassandra.utils.concurrent.Ref$State.release(Ref.java:73) > ~[main/:na] > at org.apache.cassandra.utils.concurrent.Ref.release(Ref.java:32) > ~[main/:na] > at > org.apache.cassandra.streaming.StreamTransferTask.complete(StreamTransferTask.java:76) > ~[main/:na] > at > org.apache.cassandra.streaming.StreamSession.received(StreamSession.java:559) > ~[main/:na] > at > org.apache.cassandra.streaming.StreamSession.messageReceived(StreamSession.java:441) > ~[main/:na] > at > org.apache.cassandra.streaming.ConnectionHandler$IncomingMessageHandler.run(ConnectionHandler.java:252) > ~[main/:na] > at java.lang.Thread.run(Thread.java:745) [na:1.7.0_67] > progress: [/127.0.0.1]0:1/1 100% [/127.0.0.2]0:1/1 100% total: 100% 0 > MB/s(avg: 0 MB/s)WARN 00:47:51 [Stream > #9dbdade0-a819-11e4-bad4-473c1159ad6e] Stream failed > Streaming to the following hosts failed: > [/127.0.0.2] > java.util.concurrent.ExecutionException: > org.apache.cassandra.streaming.StreamException: Stream failed > at > com.google.common.util.concurrent.AbstractFuture$Sync.getValue(AbstractFuture.java:299) > at > com.google.common.util.concurrent.AbstractFuture$Sync.get(AbstractFuture.java:286) > at > com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:116) > at org.apache.cassandra.tools.BulkLoader.main(BulkLoader.java:121) > Caused by: org.apache.cassandra.streaming.StreamException: Stream failed > at > org.apache.cassandra.streaming.management.StreamEventJMXNotifier.onFailure(StreamEventJMXNotifier.java:85) > at com.google.common.util.concurrent.Futures$4.run(Futures.java:1172) > at > com.google.common.util.concurrent.MoreExecutors$SameThreadExecutorService.execute(MoreExecutors.java:297) > at > com.google.common.util.concurrent.ExecutionList.executeListener(ExecutionList.java:156) > at > com.google.common.util.concurrent.ExecutionList.execute(ExecutionList.java:145) > at > com.google.common.util.concurrent.AbstractFuture.setException(AbstractFuture.java:202) > at > org.apache.cassandra.streaming.StreamResultFuture.maybeComplete(StreamResultFuture.java:209) > at > org.apache.cassandra.streaming.StreamResultFuture.handleSessionComplete(StreamResultFuture.java:185) > at > org.apache.cassandra.streaming.StreamSession.closeSession(StreamSession.java:394) > at > org.apache.cassandra.streaming.StreamSession.complete(StreamSession.java:586) > at > org.apache.cassandra.streaming.StreamSession.messageReceived(StreamSession.java:450) > at > org.apache.cassandra.streaming.ConnectionHandler$IncomingMessageHandler.run(ConnectionHandler.java:252) > at java.lang.Thread.run(Thread.java:745) > {code} > Git bisect points to #7705 as the first commit where the failures begin, > though 7705 may have simply uncovered a bug, rather than caused it. > /cc [~krummas] -- This message was sent by Atlassian JIRA (v6.3.4#6332)