[jira] [Comment Edited] (CASSANDRA-8238) NPE in SizeTieredCompactionStrategy.filterColdSSTables

2015-03-13 Thread Fredrik LS (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8238?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14359370#comment-14359370
 ] 

Fredrik LS edited comment on CASSANDRA-8238 at 3/13/15 10:24 AM:
-

Reproduced this in 2.1.3.
I'm not very familiar with the Cassandra code base but took me the liberty to 
do some debugging.
This occurs when doing bulkloading from JMX. 
The problem is that the SSTableLoader has a static initializer setting 
{code}
static
{
Config.setClientMode(true);
}
{code} 
(I guess going through JMX shouldn't be considered client mode but only when 
running SSTableLoader standalone).
Every SSTableReader created after the clientMode flag is set will have the 
readMeter set to null according to the SSTableReader constructor. The 
SSTableReader for SSTables existing at startup will have the readMeter set to 
some value but when JMX bulkloading is used, there will be a mix of 
SSTableReader for the same CF both with readMeter with a value and readMeter 
with null. That in combination with hot and cold SSTables in 
{code}SizeTieredCompactionStrategy.filterColdSSTables(...){code} will trigger 
the NullPointerException when CompactionExecutor kicks in trying to compact the 
hot SSTables already existing from startup which have a readMeter set and the 
just streamed cold SSTables from JMX bulkloading which have readMeter set to 
null.

Regards
/Fredrik


was (Author: fredrikl74):
Reproduced this in 2.1.3.
I'm not very familiar with the Cassandra code base but took me the liberty to 
do some debugging.
This occurs when doing bulkloading from JMX. 
The problem is that the SSTableLoader has a static initializer setting 
{code}
static
{
Config.setClientMode(true);
}
{code} 
(I guess going through JMX shouldn't be considered client mode but only when 
running SSTableLoader standalone).
Every SSTableReader created after the clientMode flag is set will have the 
readMeter set to null according to the SSTableReader constructor. The 
SSTableReader for SSTables existing at startup will have the readMeter set to 
some value but when JMX bulkloading is used, there will be a mix of 
SSTableReader for the same CF both with readMeter with a value and readMeter 
with null. That in combination with hot and cold SSTables in 
{code}SizeTieredCompactionStrategy.filterColdSSTables(...){code} will trigger 
the NullPointerException when CompactionExecutor kicks in trying to compact the 
hot SSTables already existing from startup which have a readMeter set and the 
just streamed cold SSTables from JMX bulkloading which have readMeter set to 
null.

Hope my analyze is correct  and that the code formatting isn't too bad.

Regards
/Fredrik

 NPE in SizeTieredCompactionStrategy.filterColdSSTables
 --

 Key: CASSANDRA-8238
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8238
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Reporter: Tyler Hobbs
Assignee: Marcus Eriksson
 Fix For: 2.1.3

 Attachments: 0001-assert-that-readMeter-is-not-null.patch


 {noformat}
 ERROR [CompactionExecutor:15] 2014-10-31 15:28:32,318 
 CassandraDaemon.java:153 - Exception in thread 
 Thread[CompactionExecutor:15,1,main]
 java.lang.NullPointerException: null
 at 
 org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy.filterColdSSTables(SizeTieredCompactionStrategy.java:181)
  ~[apache-cassandra-2.1.1.jar:2.1.1]
 at 
 org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy.getNextBackgroundSSTables(SizeTieredCompactionStrategy.java:83)
  ~[apache-cassandra-2.1.1.jar:2.1.1]
 at 
 org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy.getNextBackgroundTask(SizeTieredCompactionStrategy.java:267)
  ~[apache-cassandra-2.1.1.jar:2.1.1]
 at 
 org.apache.cassandra.db.compaction.CompactionManager$BackgroundCompactionTask.run(CompactionManager.java:226)
  ~[apache-cassandra-2.1.1.jar:2.1.1]
 at 
 java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) 
 ~[na:1.7.0_72]
 at java.util.concurrent.FutureTask.run(FutureTask.java:262) ~[na:1.7.0_72]
 at 
 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
  ~[na:1.7.0_72]
 at 
 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
  [na:1.7.0_72]
 at java.lang.Thread.run(Thread.java:745) [na:1.7.0_72]
 {noformat}



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


[jira] [Comment Edited] (CASSANDRA-8238) NPE in SizeTieredCompactionStrategy.filterColdSSTables

2015-03-13 Thread Fredrik LS (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8238?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14359370#comment-14359370
 ] 

Fredrik LS edited comment on CASSANDRA-8238 at 3/13/15 11:12 AM:
-

Reproduced this in 2.1.3.
I'm not very familiar with the Cassandra codebase but took me the liberty to do 
some debugging.
This occurs when doing bulkloading from JMX. 
The problem is that the SSTableLoader has a static initializer setting 
{code}
static
{
Config.setClientMode(true);
}
{code} 
(I guess going through JMX shouldn't be considered client mode but only when 
running SSTableLoader standalone).
Every SSTableReader created after the clientMode flag is set will have the 
readMeter set to null according to the SSTableReader constructor. The 
SSTableReader for SSTables existing at startup will have the readMeter set to 
some value but when JMX bulkloading is used, there will be a mix of 
SSTableReader for the same CF both with readMeter with a value and readMeter 
with null. That in combination with hot and cold SSTables in 
{code}SizeTieredCompactionStrategy.filterColdSSTables(...){code} will trigger 
the NullPointerException when CompactionExecutor kicks in trying to compact the 
hot SSTables already existing from startup which have a readMeter set and the 
just streamed cold SSTables from JMX bulkloading which have readMeter set to 
null.

Regards
/Fredrik


was (Author: fredrikl74):
Reproduced this in 2.1.3.
I'm not very familiar with the Cassandra code base but took me the liberty to 
do some debugging.
This occurs when doing bulkloading from JMX. 
The problem is that the SSTableLoader has a static initializer setting 
{code}
static
{
Config.setClientMode(true);
}
{code} 
(I guess going through JMX shouldn't be considered client mode but only when 
running SSTableLoader standalone).
Every SSTableReader created after the clientMode flag is set will have the 
readMeter set to null according to the SSTableReader constructor. The 
SSTableReader for SSTables existing at startup will have the readMeter set to 
some value but when JMX bulkloading is used, there will be a mix of 
SSTableReader for the same CF both with readMeter with a value and readMeter 
with null. That in combination with hot and cold SSTables in 
{code}SizeTieredCompactionStrategy.filterColdSSTables(...){code} will trigger 
the NullPointerException when CompactionExecutor kicks in trying to compact the 
hot SSTables already existing from startup which have a readMeter set and the 
just streamed cold SSTables from JMX bulkloading which have readMeter set to 
null.

Regards
/Fredrik

 NPE in SizeTieredCompactionStrategy.filterColdSSTables
 --

 Key: CASSANDRA-8238
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8238
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Reporter: Tyler Hobbs
Assignee: Marcus Eriksson
 Fix For: 2.1.3

 Attachments: 0001-assert-that-readMeter-is-not-null.patch


 {noformat}
 ERROR [CompactionExecutor:15] 2014-10-31 15:28:32,318 
 CassandraDaemon.java:153 - Exception in thread 
 Thread[CompactionExecutor:15,1,main]
 java.lang.NullPointerException: null
 at 
 org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy.filterColdSSTables(SizeTieredCompactionStrategy.java:181)
  ~[apache-cassandra-2.1.1.jar:2.1.1]
 at 
 org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy.getNextBackgroundSSTables(SizeTieredCompactionStrategy.java:83)
  ~[apache-cassandra-2.1.1.jar:2.1.1]
 at 
 org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy.getNextBackgroundTask(SizeTieredCompactionStrategy.java:267)
  ~[apache-cassandra-2.1.1.jar:2.1.1]
 at 
 org.apache.cassandra.db.compaction.CompactionManager$BackgroundCompactionTask.run(CompactionManager.java:226)
  ~[apache-cassandra-2.1.1.jar:2.1.1]
 at 
 java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) 
 ~[na:1.7.0_72]
 at java.util.concurrent.FutureTask.run(FutureTask.java:262) ~[na:1.7.0_72]
 at 
 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
  ~[na:1.7.0_72]
 at 
 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
  [na:1.7.0_72]
 at java.lang.Thread.run(Thread.java:745) [na:1.7.0_72]
 {noformat}



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


[jira] [Comment Edited] (CASSANDRA-8238) NPE in SizeTieredCompactionStrategy.filterColdSSTables

2015-03-12 Thread Fredrik LS (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8238?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14359370#comment-14359370
 ] 

Fredrik LS edited comment on CASSANDRA-8238 at 3/12/15 8:47 PM:


Reproduced this in 2.1.3.
I'm not very familiar with the Cassandra code base but took me the liberty to 
do some debugging.
This occurs when doing bulkloading from JMX. 
The problem is that the SSTableLoader has a static initializer setting 
{code}
static
{
Config.setClientMode(true);
}
{code} 
(I guess going through JMX shouldn't be considered client mode but only when 
running SSTableLoader standalone).
Every SSTableReader created after the {code}clientMode{code} flag is set will 
have the {code}readMeter{code} set to null according to the SSTableReader 
constructor. The SSTableReader for SSTables existing at startup will have the 
readMeter set to some value but when JMX bulkloading is used, there will be a 
mix of SSTableReader for the same CF both with readMeter with a value and 
readMeter with null. That in combination with hot and cold SSTables in 
{code}SizeTieredCompactionStrategy.filterColdSSTables(...){code} will trigger 
the {code}NullPointerException{code} when CompactionExecutor kicks in trying to 
compact the hot SSTables already existing from startup which have a readMeter 
set and the just streamed cold SSTables from JMX bulkloading which have 
readMeter set to null.

Hope my analyze is correct  and that the code formatting isn't too bad.

Regards
/Fredrik


was (Author: fredrikl74):
Reproduced this in 2.1.3.
I'm not very familiar with the Cassandra code base but took me the liberty to 
do some debugging.
This occurs when doing bulkloading from JMX. 
The problem is that the {code}SSTableLoader{code} has a static initializer 
setting 
{code}
static
{
Config.setClientMode(true);
}
{code} 
(I guess going through JMX shouldn't be considered client mode but only when 
running SSTableLoader standalone).
Every SSTableReader created after the {code}clientMode{code} flag is set will 
have the {code}readMeter{code} set to null according to the SSTableReader 
constructor. The SSTableReader for SSTables existing at startup will have the 
readMeter set to some value but when JMX bulkloading is used, there will be a 
mix of SSTableReader for the same CF both with readMeter with a value and 
readMeter with null. That in combination with hot and cold SSTables in 
{code}SizeTieredCompactionStrategy.filterColdSSTables(...){code} will trigger 
the {code}NullPointerException{code} when CompactionExecutor kicks in trying to 
compact the hot SSTables already existing from startup which have a readMeter 
set and the just streamed cold SSTables from JMX bulkloading which have 
readMeter set to null.

Hope my analyze is correct  and that the code formatting isn't too bad.

Regards
/Fredrik

 NPE in SizeTieredCompactionStrategy.filterColdSSTables
 --

 Key: CASSANDRA-8238
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8238
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Reporter: Tyler Hobbs
Assignee: Marcus Eriksson
 Fix For: 2.1.3

 Attachments: 0001-assert-that-readMeter-is-not-null.patch


 {noformat}
 ERROR [CompactionExecutor:15] 2014-10-31 15:28:32,318 
 CassandraDaemon.java:153 - Exception in thread 
 Thread[CompactionExecutor:15,1,main]
 java.lang.NullPointerException: null
 at 
 org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy.filterColdSSTables(SizeTieredCompactionStrategy.java:181)
  ~[apache-cassandra-2.1.1.jar:2.1.1]
 at 
 org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy.getNextBackgroundSSTables(SizeTieredCompactionStrategy.java:83)
  ~[apache-cassandra-2.1.1.jar:2.1.1]
 at 
 org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy.getNextBackgroundTask(SizeTieredCompactionStrategy.java:267)
  ~[apache-cassandra-2.1.1.jar:2.1.1]
 at 
 org.apache.cassandra.db.compaction.CompactionManager$BackgroundCompactionTask.run(CompactionManager.java:226)
  ~[apache-cassandra-2.1.1.jar:2.1.1]
 at 
 java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) 
 ~[na:1.7.0_72]
 at java.util.concurrent.FutureTask.run(FutureTask.java:262) ~[na:1.7.0_72]
 at 
 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
  ~[na:1.7.0_72]
 at 
 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
  [na:1.7.0_72]
 at java.lang.Thread.run(Thread.java:745) [na:1.7.0_72]
 {noformat}



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


[jira] [Comment Edited] (CASSANDRA-8238) NPE in SizeTieredCompactionStrategy.filterColdSSTables

2015-03-12 Thread Fredrik LS (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8238?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14359370#comment-14359370
 ] 

Fredrik LS edited comment on CASSANDRA-8238 at 3/12/15 8:47 PM:


Reproduced this in 2.1.3.
I'm not very familiar with the Cassandra code base but took me the liberty to 
do some debugging.
This occurs when doing bulkloading from JMX. 
The problem is that the SSTableLoader has a static initializer setting 
{code}
static
{
Config.setClientMode(true);
}
{code} 
(I guess going through JMX shouldn't be considered client mode but only when 
running SSTableLoader standalone).
Every SSTableReader created after the clientMode flag is set will have the 
readMeter set to null according to the SSTableReader constructor. The 
SSTableReader for SSTables existing at startup will have the readMeter set to 
some value but when JMX bulkloading is used, there will be a mix of 
SSTableReader for the same CF both with readMeter with a value and readMeter 
with null. That in combination with hot and cold SSTables in 
{code}SizeTieredCompactionStrategy.filterColdSSTables(...){code} will trigger 
the {code}NullPointerException{code} when CompactionExecutor kicks in trying to 
compact the hot SSTables already existing from startup which have a readMeter 
set and the just streamed cold SSTables from JMX bulkloading which have 
readMeter set to null.

Hope my analyze is correct  and that the code formatting isn't too bad.

Regards
/Fredrik


was (Author: fredrikl74):
Reproduced this in 2.1.3.
I'm not very familiar with the Cassandra code base but took me the liberty to 
do some debugging.
This occurs when doing bulkloading from JMX. 
The problem is that the SSTableLoader has a static initializer setting 
{code}
static
{
Config.setClientMode(true);
}
{code} 
(I guess going through JMX shouldn't be considered client mode but only when 
running SSTableLoader standalone).
Every SSTableReader created after the clientMode flag is set will have the 
{code}readMeter{code} set to null according to the SSTableReader constructor. 
The SSTableReader for SSTables existing at startup will have the readMeter set 
to some value but when JMX bulkloading is used, there will be a mix of 
SSTableReader for the same CF both with readMeter with a value and readMeter 
with null. That in combination with hot and cold SSTables in 
{code}SizeTieredCompactionStrategy.filterColdSSTables(...){code} will trigger 
the {code}NullPointerException{code} when CompactionExecutor kicks in trying to 
compact the hot SSTables already existing from startup which have a readMeter 
set and the just streamed cold SSTables from JMX bulkloading which have 
readMeter set to null.

Hope my analyze is correct  and that the code formatting isn't too bad.

Regards
/Fredrik

 NPE in SizeTieredCompactionStrategy.filterColdSSTables
 --

 Key: CASSANDRA-8238
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8238
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Reporter: Tyler Hobbs
Assignee: Marcus Eriksson
 Fix For: 2.1.3

 Attachments: 0001-assert-that-readMeter-is-not-null.patch


 {noformat}
 ERROR [CompactionExecutor:15] 2014-10-31 15:28:32,318 
 CassandraDaemon.java:153 - Exception in thread 
 Thread[CompactionExecutor:15,1,main]
 java.lang.NullPointerException: null
 at 
 org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy.filterColdSSTables(SizeTieredCompactionStrategy.java:181)
  ~[apache-cassandra-2.1.1.jar:2.1.1]
 at 
 org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy.getNextBackgroundSSTables(SizeTieredCompactionStrategy.java:83)
  ~[apache-cassandra-2.1.1.jar:2.1.1]
 at 
 org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy.getNextBackgroundTask(SizeTieredCompactionStrategy.java:267)
  ~[apache-cassandra-2.1.1.jar:2.1.1]
 at 
 org.apache.cassandra.db.compaction.CompactionManager$BackgroundCompactionTask.run(CompactionManager.java:226)
  ~[apache-cassandra-2.1.1.jar:2.1.1]
 at 
 java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) 
 ~[na:1.7.0_72]
 at java.util.concurrent.FutureTask.run(FutureTask.java:262) ~[na:1.7.0_72]
 at 
 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
  ~[na:1.7.0_72]
 at 
 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
  [na:1.7.0_72]
 at java.lang.Thread.run(Thread.java:745) [na:1.7.0_72]
 {noformat}



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


[jira] [Comment Edited] (CASSANDRA-8238) NPE in SizeTieredCompactionStrategy.filterColdSSTables

2015-03-12 Thread Fredrik LS (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8238?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14359370#comment-14359370
 ] 

Fredrik LS edited comment on CASSANDRA-8238 at 3/12/15 8:48 PM:


Reproduced this in 2.1.3.
I'm not very familiar with the Cassandra code base but took me the liberty to 
do some debugging.
This occurs when doing bulkloading from JMX. 
The problem is that the SSTableLoader has a static initializer setting 
{code}
static
{
Config.setClientMode(true);
}
{code} 
(I guess going through JMX shouldn't be considered client mode but only when 
running SSTableLoader standalone).
Every SSTableReader created after the clientMode flag is set will have the 
readMeter set to null according to the SSTableReader constructor. The 
SSTableReader for SSTables existing at startup will have the readMeter set to 
some value but when JMX bulkloading is used, there will be a mix of 
SSTableReader for the same CF both with readMeter with a value and readMeter 
with null. That in combination with hot and cold SSTables in 
{code}SizeTieredCompactionStrategy.filterColdSSTables(...){code} will trigger 
the NullPointerException when CompactionExecutor kicks in trying to compact the 
hot SSTables already existing from startup which have a readMeter set and the 
just streamed cold SSTables from JMX bulkloading which have readMeter set to 
null.

Hope my analyze is correct  and that the code formatting isn't too bad.

Regards
/Fredrik


was (Author: fredrikl74):
Reproduced this in 2.1.3.
I'm not very familiar with the Cassandra code base but took me the liberty to 
do some debugging.
This occurs when doing bulkloading from JMX. 
The problem is that the SSTableLoader has a static initializer setting 
{code}
static
{
Config.setClientMode(true);
}
{code} 
(I guess going through JMX shouldn't be considered client mode but only when 
running SSTableLoader standalone).
Every SSTableReader created after the clientMode flag is set will have the 
readMeter set to null according to the SSTableReader constructor. The 
SSTableReader for SSTables existing at startup will have the readMeter set to 
some value but when JMX bulkloading is used, there will be a mix of 
SSTableReader for the same CF both with readMeter with a value and readMeter 
with null. That in combination with hot and cold SSTables in 
{code}SizeTieredCompactionStrategy.filterColdSSTables(...){code} will trigger 
the {code}NullPointerException{code} when CompactionExecutor kicks in trying to 
compact the hot SSTables already existing from startup which have a readMeter 
set and the just streamed cold SSTables from JMX bulkloading which have 
readMeter set to null.

Hope my analyze is correct  and that the code formatting isn't too bad.

Regards
/Fredrik

 NPE in SizeTieredCompactionStrategy.filterColdSSTables
 --

 Key: CASSANDRA-8238
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8238
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Reporter: Tyler Hobbs
Assignee: Marcus Eriksson
 Fix For: 2.1.3

 Attachments: 0001-assert-that-readMeter-is-not-null.patch


 {noformat}
 ERROR [CompactionExecutor:15] 2014-10-31 15:28:32,318 
 CassandraDaemon.java:153 - Exception in thread 
 Thread[CompactionExecutor:15,1,main]
 java.lang.NullPointerException: null
 at 
 org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy.filterColdSSTables(SizeTieredCompactionStrategy.java:181)
  ~[apache-cassandra-2.1.1.jar:2.1.1]
 at 
 org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy.getNextBackgroundSSTables(SizeTieredCompactionStrategy.java:83)
  ~[apache-cassandra-2.1.1.jar:2.1.1]
 at 
 org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy.getNextBackgroundTask(SizeTieredCompactionStrategy.java:267)
  ~[apache-cassandra-2.1.1.jar:2.1.1]
 at 
 org.apache.cassandra.db.compaction.CompactionManager$BackgroundCompactionTask.run(CompactionManager.java:226)
  ~[apache-cassandra-2.1.1.jar:2.1.1]
 at 
 java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) 
 ~[na:1.7.0_72]
 at java.util.concurrent.FutureTask.run(FutureTask.java:262) ~[na:1.7.0_72]
 at 
 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
  ~[na:1.7.0_72]
 at 
 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
  [na:1.7.0_72]
 at java.lang.Thread.run(Thread.java:745) [na:1.7.0_72]
 {noformat}



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


[jira] [Comment Edited] (CASSANDRA-8238) NPE in SizeTieredCompactionStrategy.filterColdSSTables

2015-03-12 Thread Fredrik LS (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8238?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14359370#comment-14359370
 ] 

Fredrik LS edited comment on CASSANDRA-8238 at 3/12/15 8:47 PM:


Reproduced this in 2.1.3.
I'm not very familiar with the Cassandra code base but took me the liberty to 
do some debugging.
This occurs when doing bulkloading from JMX. 
The problem is that the SSTableLoader has a static initializer setting 
{code}
static
{
Config.setClientMode(true);
}
{code} 
(I guess going through JMX shouldn't be considered client mode but only when 
running SSTableLoader standalone).
Every SSTableReader created after the clientMode flag is set will have the 
{code}readMeter{code} set to null according to the SSTableReader constructor. 
The SSTableReader for SSTables existing at startup will have the readMeter set 
to some value but when JMX bulkloading is used, there will be a mix of 
SSTableReader for the same CF both with readMeter with a value and readMeter 
with null. That in combination with hot and cold SSTables in 
{code}SizeTieredCompactionStrategy.filterColdSSTables(...){code} will trigger 
the {code}NullPointerException{code} when CompactionExecutor kicks in trying to 
compact the hot SSTables already existing from startup which have a readMeter 
set and the just streamed cold SSTables from JMX bulkloading which have 
readMeter set to null.

Hope my analyze is correct  and that the code formatting isn't too bad.

Regards
/Fredrik


was (Author: fredrikl74):
Reproduced this in 2.1.3.
I'm not very familiar with the Cassandra code base but took me the liberty to 
do some debugging.
This occurs when doing bulkloading from JMX. 
The problem is that the SSTableLoader has a static initializer setting 
{code}
static
{
Config.setClientMode(true);
}
{code} 
(I guess going through JMX shouldn't be considered client mode but only when 
running SSTableLoader standalone).
Every SSTableReader created after the {code}clientMode{code} flag is set will 
have the {code}readMeter{code} set to null according to the SSTableReader 
constructor. The SSTableReader for SSTables existing at startup will have the 
readMeter set to some value but when JMX bulkloading is used, there will be a 
mix of SSTableReader for the same CF both with readMeter with a value and 
readMeter with null. That in combination with hot and cold SSTables in 
{code}SizeTieredCompactionStrategy.filterColdSSTables(...){code} will trigger 
the {code}NullPointerException{code} when CompactionExecutor kicks in trying to 
compact the hot SSTables already existing from startup which have a readMeter 
set and the just streamed cold SSTables from JMX bulkloading which have 
readMeter set to null.

Hope my analyze is correct  and that the code formatting isn't too bad.

Regards
/Fredrik

 NPE in SizeTieredCompactionStrategy.filterColdSSTables
 --

 Key: CASSANDRA-8238
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8238
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Reporter: Tyler Hobbs
Assignee: Marcus Eriksson
 Fix For: 2.1.3

 Attachments: 0001-assert-that-readMeter-is-not-null.patch


 {noformat}
 ERROR [CompactionExecutor:15] 2014-10-31 15:28:32,318 
 CassandraDaemon.java:153 - Exception in thread 
 Thread[CompactionExecutor:15,1,main]
 java.lang.NullPointerException: null
 at 
 org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy.filterColdSSTables(SizeTieredCompactionStrategy.java:181)
  ~[apache-cassandra-2.1.1.jar:2.1.1]
 at 
 org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy.getNextBackgroundSSTables(SizeTieredCompactionStrategy.java:83)
  ~[apache-cassandra-2.1.1.jar:2.1.1]
 at 
 org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy.getNextBackgroundTask(SizeTieredCompactionStrategy.java:267)
  ~[apache-cassandra-2.1.1.jar:2.1.1]
 at 
 org.apache.cassandra.db.compaction.CompactionManager$BackgroundCompactionTask.run(CompactionManager.java:226)
  ~[apache-cassandra-2.1.1.jar:2.1.1]
 at 
 java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) 
 ~[na:1.7.0_72]
 at java.util.concurrent.FutureTask.run(FutureTask.java:262) ~[na:1.7.0_72]
 at 
 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
  ~[na:1.7.0_72]
 at 
 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
  [na:1.7.0_72]
 at java.lang.Thread.run(Thread.java:745) [na:1.7.0_72]
 {noformat}



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


[jira] [Commented] (CASSANDRA-8238) NPE in SizeTieredCompactionStrategy.filterColdSSTables

2015-03-12 Thread Fredrik LS (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8238?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14359370#comment-14359370
 ] 

Fredrik LS commented on CASSANDRA-8238:
---

Reproduced this in 2.1.3.
I'm not very familiar with the Cassandra code base but took me the liberty to 
do some debugging.
This occurs when doing bulkloading from JMX. 
The problem is that the {code}SSTableLoader{code} has a static initializer 
setting 
{code}
static
{
Config.setClientMode(true);
}
{code} 
(I guess going through JMX shouldn't be considered client mode but only when 
running SSTableLoader standalone).
Every SSTableReader created after the {code}clientMode{code} flag is set will 
have the {code}readMeter{code} set to null according to the SSTableReader 
constructor. The SSTableReader for SSTables existing at startup will have the 
readMeter set to some value but when JMX bulkloading is used, there will be a 
mix of SSTableReader for the same CF both with readMeter with a value and 
readMeter with null. That in combination with hot and cold SSTables in 
{code}SizeTieredCompactionStrategy.filterColdSSTables(...){code} will trigger 
the {code}NullPointerException{code} when CompactionExecutor kicks in trying to 
compact the hot SSTables already existing from startup which have a readMeter 
set and the just streamed cold SSTables from JMX bulkloading which have 
readMeter set to null.

Hope my analyze is correct  and that the code formatting isn't too bad.

Regards
/Fredrik

 NPE in SizeTieredCompactionStrategy.filterColdSSTables
 --

 Key: CASSANDRA-8238
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8238
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Reporter: Tyler Hobbs
Assignee: Marcus Eriksson
 Fix For: 2.1.3

 Attachments: 0001-assert-that-readMeter-is-not-null.patch


 {noformat}
 ERROR [CompactionExecutor:15] 2014-10-31 15:28:32,318 
 CassandraDaemon.java:153 - Exception in thread 
 Thread[CompactionExecutor:15,1,main]
 java.lang.NullPointerException: null
 at 
 org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy.filterColdSSTables(SizeTieredCompactionStrategy.java:181)
  ~[apache-cassandra-2.1.1.jar:2.1.1]
 at 
 org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy.getNextBackgroundSSTables(SizeTieredCompactionStrategy.java:83)
  ~[apache-cassandra-2.1.1.jar:2.1.1]
 at 
 org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy.getNextBackgroundTask(SizeTieredCompactionStrategy.java:267)
  ~[apache-cassandra-2.1.1.jar:2.1.1]
 at 
 org.apache.cassandra.db.compaction.CompactionManager$BackgroundCompactionTask.run(CompactionManager.java:226)
  ~[apache-cassandra-2.1.1.jar:2.1.1]
 at 
 java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) 
 ~[na:1.7.0_72]
 at java.util.concurrent.FutureTask.run(FutureTask.java:262) ~[na:1.7.0_72]
 at 
 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
  ~[na:1.7.0_72]
 at 
 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
  [na:1.7.0_72]
 at java.lang.Thread.run(Thread.java:745) [na:1.7.0_72]
 {noformat}



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


[jira] [Commented] (CASSANDRA-8067) NullPointerException in KeyCacheSerializer

2015-03-06 Thread Fredrik LS (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8067?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14350095#comment-14350095
 ] 

Fredrik LS commented on CASSANDRA-8067:
---

Would it be safe to patch a 2.1.3 cluster with the attatched (8067.txt) patch?

 NullPointerException in KeyCacheSerializer
 --

 Key: CASSANDRA-8067
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8067
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Reporter: Eric Leleu
Assignee: Aleksey Yeschenko
 Fix For: 2.1.4

 Attachments: 8067.txt


 Hi,
 I have this stack trace in the logs of Cassandra server (v2.1)
 {code}
 ERROR [CompactionExecutor:14] 2014-10-06 23:32:02,098 
 CassandraDaemon.java:166 - Exception in thread 
 Thread[CompactionExecutor:14,1,main]
 java.lang.NullPointerException: null
 at 
 org.apache.cassandra.service.CacheService$KeyCacheSerializer.serialize(CacheService.java:475)
  ~[apache-cassandra-2.1.0.jar:2.1.0]
 at 
 org.apache.cassandra.service.CacheService$KeyCacheSerializer.serialize(CacheService.java:463)
  ~[apache-cassandra-2.1.0.jar:2.1.0]
 at 
 org.apache.cassandra.cache.AutoSavingCache$Writer.saveCache(AutoSavingCache.java:225)
  ~[apache-cassandra-2.1.0.jar:2.1.0]
 at 
 org.apache.cassandra.db.compaction.CompactionManager$11.run(CompactionManager.java:1061)
  ~[apache-cassandra-2.1.0.jar:2.1.0]
 at java.util.concurrent.Executors$RunnableAdapter.call(Unknown 
 Source) ~[na:1.7.0]
 at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source) 
 ~[na:1.7.0]
 at java.util.concurrent.FutureTask.run(Unknown Source) ~[na:1.7.0]
 at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) 
 [na:1.7.0]
 at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 
 [na:1.7.0]
 at java.lang.Thread.run(Unknown Source) [na:1.7.0]
 {code}
 It may not be critical because this error occured in the AutoSavingCache. 
 However the line 475 is about the CFMetaData so it may hide bigger issue...
 {code}
  474 CFMetaData cfm = 
 Schema.instance.getCFMetaData(key.desc.ksname, key.desc.cfname);
  475 cfm.comparator.rowIndexEntrySerializer().serialize(entry, 
 out);
 {code}
 Regards,
 Eric



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