[jira] [Created] (CASSANDRA-2848) Make the Client API support passing down timeouts

2011-07-02 Thread Chris Goffinet (JIRA)
Make the Client API support passing down timeouts
-

 Key: CASSANDRA-2848
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2848
 Project: Cassandra
  Issue Type: Improvement
Reporter: Chris Goffinet
Priority: Minor


Having a max server RPC timeout is good for worst case, but many applications 
that have middleware in front of Cassandra, might have higher timeout 
requirements. In a fail fast environment, if my application starting at say the 
front-end, only has 20ms to process a request, and it must connect to X 
services down the stack, by the time it hits Cassandra, we might only have 
10ms. I propose we provide the ability to specify the timeout on each call we 
do optionally.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Updated] (CASSANDRA-957) convenience workflow for replacing dead node

2011-06-27 Thread Chris Goffinet (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-957?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Chris Goffinet updated CASSANDRA-957:
-

Assignee: (was: Chris Goffinet)

 convenience workflow for replacing dead node
 

 Key: CASSANDRA-957
 URL: https://issues.apache.org/jira/browse/CASSANDRA-957
 Project: Cassandra
  Issue Type: Wish
  Components: Core, Tools
Reporter: Jonathan Ellis
 Fix For: 1.0

 Attachments: 
 0001-Support-bringing-back-a-node-to-the-cluster-that-exi.patch, 
 0002-Do-not-include-local-node-when-computing-workMap.patch

   Original Estimate: 24h
  Remaining Estimate: 24h

 Replacing a dead node with a new one is a common operation, but nodetool 
 removetoken followed by bootstrap is inefficient (re-replicating data first 
 to the remaining nodes, then to the new one) and manually bootstrapping to a 
 token just less than the old one's, followed by nodetool removetoken is 
 slightly painful and prone to manual errors.
 First question: how would you expose this in our tool ecosystem?  It needs to 
 be a startup-time option to the new node, so it can't be nodetool, and 
 messing with the config xml definitely takes the convenience out.  A 
 one-off -DreplaceToken=XXY argument?

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (CASSANDRA-957) convenience workflow for replacing dead node

2011-06-27 Thread Chris Goffinet (JIRA)

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

Chris Goffinet commented on CASSANDRA-957:
--

I am going to defer this to anyone else who would like to pick up this ticket. 
I just do not have the spare time to focus on this.

 convenience workflow for replacing dead node
 

 Key: CASSANDRA-957
 URL: https://issues.apache.org/jira/browse/CASSANDRA-957
 Project: Cassandra
  Issue Type: Wish
  Components: Core, Tools
Reporter: Jonathan Ellis
 Fix For: 1.0

 Attachments: 
 0001-Support-bringing-back-a-node-to-the-cluster-that-exi.patch, 
 0002-Do-not-include-local-node-when-computing-workMap.patch

   Original Estimate: 24h
  Remaining Estimate: 24h

 Replacing a dead node with a new one is a common operation, but nodetool 
 removetoken followed by bootstrap is inefficient (re-replicating data first 
 to the remaining nodes, then to the new one) and manually bootstrapping to a 
 token just less than the old one's, followed by nodetool removetoken is 
 slightly painful and prone to manual errors.
 First question: how would you expose this in our tool ecosystem?  It needs to 
 be a startup-time option to the new node, so it can't be nodetool, and 
 messing with the config xml definitely takes the convenience out.  A 
 one-off -DreplaceToken=XXY argument?

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (CASSANDRA-2778) Unable to set compaction strategy in cli using create column family command

2011-06-16 Thread Chris Goffinet (JIRA)

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

Chris Goffinet commented on CASSANDRA-2778:
---

+1

 Unable to set compaction strategy in cli using create column family command
 ---

 Key: CASSANDRA-2778
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2778
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Reporter: Alan Liang
Assignee: Alan Liang
 Attachments: 
 0001-2778-allow-for-dynamic-changes-to-compaction-strateg.patch


 The following command does not set compaction strategy and its options:
 {code}
 create column family Standard1
 with comparator = BytesType
 and compaction_strategy = 
 'org.apache.cassandra.db.compaction.TimestampBucketedCompactionStrategy'
 and compaction_strategy_options = [{max_sstable_size:504857600, 
 retention_in_seconds:60}];
 {code}

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (CASSANDRA-2752) repair fails with java.io.EOFException

2011-06-09 Thread Chris Goffinet (JIRA)

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

Chris Goffinet commented on CASSANDRA-2752:
---

I am trying to track down a similar issue. Instead was bootstrapping a new node 
in my case.

 repair fails with java.io.EOFException
 --

 Key: CASSANDRA-2752
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2752
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 0.8.0
Reporter: Terje Marthinussen

 Issuing repair on node 1  (1.10.42.81) in a cluster quickly fails with
 INFO [AntiEntropyStage:1] 2011-06-09 19:02:47,999 AntiEntropyService.java 
 (line 234) Queueing comparison #Differencer #TreeRequest 
 manual-repair-0c17c5f9-583f-4a31-a6d4-a9e7306fb46e, /1
 .10.42.82, (JP,XXX), (Token(bytes[6e]),Token(bytes[313039])]
  INFO [AntiEntropyStage:1] 2011-06-09 19:02:48,026 AntiEntropyService.java 
 (line 468) Endpoints somewhere/1.10.42.81 and /1.10.42.82 have 2 range(s) out 
 of sync for (JP,XXX) on (Token(bytes[6e]),Token(bytes[313039])]
  INFO [AntiEntropyStage:1] 2011-06-09 19:02:48,026 AntiEntropyService.java 
 (line 485) Performing streaming repair of 2 ranges for #TreeRequest 
 manual-repair-0c17c5f9-583f-4a31-a6d4-a9e7306
 fb46e, /1.10.42.82, (JP,XXX), (Token(bytes[6e]),Token(bytes[313039])]
  INFO [AntiEntropyStage:1] 2011-06-09 19:02:48,030 StreamOut.java (line 173) 
 Stream context metadata [/data/cassandra/node0/data/JP/XXX-g-3-Data.db 
 sections=1 progress=0/36592 - 0%], 1 sstables.
  INFO [AntiEntropyStage:1] 2011-06-09 19:02:48,031 StreamOutSession.java 
 (line 174) Streaming to /1.10.42.82
 ERROR [CompactionExecutor:9] 2011-06-09 19:02:48,970 
 AbstractCassandraDaemon.java (line 113) Fatal exception in thread 
 Thread[CompactionExecutor:9,1,main]
 java.io.EOFException
 at java.io.RandomAccessFile.readInt(RandomAccessFile.java:725)
 at 
 org.apache.cassandra.io.sstable.SSTableWriter$RowIndexer.doIndexing(SSTableWriter.java:457)
 at 
 org.apache.cassandra.io.sstable.SSTableWriter$RowIndexer.index(SSTableWriter.java:364)
 at 
 org.apache.cassandra.io.sstable.SSTableWriter$Builder.build(SSTableWriter.java:315)
 at 
 org.apache.cassandra.db.CompactionManager$9.call(CompactionManager.java:1099)
 at 
 org.apache.cassandra.db.CompactionManager$9.call(CompactionManager.java:1090)
 at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
 at java.util.concurrent.FutureTask.run(FutureTask.java:138)
 at 
 java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
 at 
 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
 at java.lang.Thread.run(Thread.java:662)
 On .82
 ERROR [CompactionExecutor:12] 2011-06-09 19:02:48,051 
 AbstractCassandraDaemon.java (line 113) Fatal exception in thread 
 Thread[CompactionExecutor:12,1,main]
 java.io.EOFException
 at java.io.RandomAccessFile.readInt(RandomAccessFile.java:725)
 at 
 org.apache.cassandra.io.sstable.SSTableWriter$RowIndexer.doIndexing(SSTableWriter.java:457)
 at 
 org.apache.cassandra.io.sstable.SSTableWriter$RowIndexer.index(SSTableWriter.java:364)
 at 
 org.apache.cassandra.io.sstable.SSTableWriter$Builder.build(SSTableWriter.java:315)
 at 
 org.apache.cassandra.db.CompactionManager$9.call(CompactionManager.java:1099)
 at 
 org.apache.cassandra.db.CompactionManager$9.call(CompactionManager.java:1090)
 at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
 at java.util.concurrent.FutureTask.run(FutureTask.java:138)
 at 
 java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
 at 
 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
 at java.lang.Thread.run(Thread.java:662)
 ERROR [Thread-132] 2011-06-09 19:02:48,051 AbstractCassandraDaemon.java (line 
 113) Fatal exception in thread Thread[Thread-132,5,main]
 java.lang.RuntimeException: java.util.concurrent.ExecutionException: 
 java.io.EOFException
 at 
 org.apache.cassandra.streaming.StreamInSession.closeIfFinished(StreamInSession.java:152)
 at 
 org.apache.cassandra.streaming.IncomingStreamReader.read(IncomingStreamReader.java:63)
 at 
 org.apache.cassandra.net.IncomingTcpConnection.stream(IncomingTcpConnection.java:155)
 at 
 org.apache.cassandra.net.IncomingTcpConnection.run(IncomingTcpConnection.java:93)
 Caused by: java.util.concurrent.ExecutionException: java.io.EOFException
 at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222)
 at java.util.concurrent.FutureTask.get(FutureTask.java:83)
 at 
 

[jira] [Commented] (CASSANDRA-957) convenience workflow for replacing dead node

2011-06-07 Thread Chris Goffinet (JIRA)

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

Chris Goffinet commented on CASSANDRA-957:
--

yes. ill post an update next week with an updated patchset.

 convenience workflow for replacing dead node
 

 Key: CASSANDRA-957
 URL: https://issues.apache.org/jira/browse/CASSANDRA-957
 Project: Cassandra
  Issue Type: Wish
  Components: Core, Tools
Reporter: Jonathan Ellis
Assignee: Chris Goffinet
 Fix For: 1.0

 Attachments: 
 0001-Support-bringing-back-a-node-to-the-cluster-that-exi.patch, 
 0002-Do-not-include-local-node-when-computing-workMap.patch

   Original Estimate: 24h
  Remaining Estimate: 24h

 Replacing a dead node with a new one is a common operation, but nodetool 
 removetoken followed by bootstrap is inefficient (re-replicating data first 
 to the remaining nodes, then to the new one) and manually bootstrapping to a 
 token just less than the old one's, followed by nodetool removetoken is 
 slightly painful and prone to manual errors.
 First question: how would you expose this in our tool ecosystem?  It needs to 
 be a startup-time option to the new node, so it can't be nodetool, and 
 messing with the config xml definitely takes the convenience out.  A 
 one-off -DreplaceToken=XXY argument?

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-2702) Extend Row Cache Provider support

2011-06-02 Thread Chris Goffinet (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-2702?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Chris Goffinet updated CASSANDRA-2702:
--

Attachment: 0001-Support-passing-tableName-and-cfName-to-RowCacheProv.patch

 Extend Row Cache Provider support
 -

 Key: CASSANDRA-2702
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2702
 Project: Cassandra
  Issue Type: Improvement
 Environment: Modify the row cache provider interface to pass in table 
 and cfName to each provider.
Reporter: Chris Goffinet
Assignee: Chris Goffinet
Priority: Minor
 Attachments: 
 0001-Support-passing-tableName-and-cfName-to-RowCacheProv.patch




--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-2702) Extend Row Cache Provider support

2011-06-02 Thread Chris Goffinet (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-2702?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Chris Goffinet updated CASSANDRA-2702:
--

Reviewer: stuhood

 Extend Row Cache Provider support
 -

 Key: CASSANDRA-2702
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2702
 Project: Cassandra
  Issue Type: Improvement
 Environment: Modify the row cache provider interface to pass in table 
 and cfName to each provider.
Reporter: Chris Goffinet
Assignee: Chris Goffinet
Priority: Minor
 Attachments: 
 0001-Support-passing-tableName-and-cfName-to-RowCacheProv.patch




--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-2702) Extend Row Cache Provider support

2011-06-02 Thread Chris Goffinet (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-2702?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Chris Goffinet updated CASSANDRA-2702:
--

Attachment: (was: 
0001-Support-passing-tableName-and-cfName-to-RowCacheProv.patch)

 Extend Row Cache Provider support
 -

 Key: CASSANDRA-2702
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2702
 Project: Cassandra
  Issue Type: Improvement
 Environment: Modify the row cache provider interface to pass in table 
 and cfName to each provider.
Reporter: Chris Goffinet
Assignee: Chris Goffinet
Priority: Minor
 Attachments: 
 0001-Support-passing-tableName-and-cfName-to-RowCacheProv.patch




--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-2702) Extend Row Cache Provider support

2011-06-02 Thread Chris Goffinet (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-2702?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Chris Goffinet updated CASSANDRA-2702:
--

Attachment: 0001-Support-passing-tableName-and-cfName-to-RowCacheProv.patch

 Extend Row Cache Provider support
 -

 Key: CASSANDRA-2702
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2702
 Project: Cassandra
  Issue Type: Improvement
 Environment: Modify the row cache provider interface to pass in table 
 and cfName to each provider.
Reporter: Chris Goffinet
Assignee: Chris Goffinet
Priority: Minor
 Attachments: 
 0001-Support-passing-tableName-and-cfName-to-RowCacheProv.patch




--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Resolved] (CASSANDRA-2702) Extend Row Cache Provider support

2011-06-02 Thread Chris Goffinet (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-2702?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Chris Goffinet resolved CASSANDRA-2702.
---

   Resolution: Fixed
Fix Version/s: 0.8.1

 Extend Row Cache Provider support
 -

 Key: CASSANDRA-2702
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2702
 Project: Cassandra
  Issue Type: Improvement
 Environment: Modify the row cache provider interface to pass in table 
 and cfName to each provider.
Reporter: Chris Goffinet
Assignee: Chris Goffinet
Priority: Minor
 Fix For: 0.8.1

 Attachments: 
 0001-Support-passing-tableName-and-cfName-to-RowCacheProv.patch




--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (CASSANDRA-2701) Memcache Row Cache Provider

2011-06-02 Thread Chris Goffinet (JIRA)

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

Chris Goffinet commented on CASSANDRA-2701:
---

Sorry, yes after talking to Stu, I found that out. Either way, it can go into 
contrib, we use it and find it better for our workloads since we have a custom 
version of memcached. The other nice aspect is, we can do rolling restarts 
without affecting cache since it's own process. 

 Memcache Row Cache Provider
 ---

 Key: CASSANDRA-2701
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2701
 Project: Cassandra
  Issue Type: Improvement
Reporter: Chris Goffinet
Assignee: Chris Goffinet
Priority: Trivial

 Create a row cache provider that uses memcached. We would like to contribute 
 our provider we wrote that we use in production. We co-locate memcached on 
 every node, and utilize Cassandra's ability to do replication + routing.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Created] (CASSANDRA-2721) nodetool statusthrift

2011-05-30 Thread Chris Goffinet (JIRA)
nodetool statusthrift
-

 Key: CASSANDRA-2721
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2721
 Project: Cassandra
  Issue Type: Bug
Reporter: Chris Goffinet
Assignee: Chris Goffinet
Priority: Trivial
 Fix For: 0.8.1


We noticed when calling nodetool statusthrift, while a node is starting up, it 
throws an exception. I think the proper behavior should be just return false, 
instead of throwing an exception if RPC server hasn't started yet. That way 
this stack trace won't have to be thrown in nodetool:

Exception in thread main 

java.lang.IllegalStateException: No configured RPC daemon


--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-2721) nodetool statusthrift

2011-05-30 Thread Chris Goffinet (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-2721?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Chris Goffinet updated CASSANDRA-2721:
--

Attachment: 0001-If-RPCServer-isn-t-started-just-return-false-instead.patch

 nodetool statusthrift
 -

 Key: CASSANDRA-2721
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2721
 Project: Cassandra
  Issue Type: Bug
Reporter: Chris Goffinet
Assignee: Chris Goffinet
Priority: Trivial
 Fix For: 0.8.0

 Attachments: 
 0001-If-RPCServer-isn-t-started-just-return-false-instead.patch


 We noticed when calling nodetool statusthrift, while a node is starting up, 
 it throws an exception. I think the proper behavior should be just return 
 false, instead of throwing an exception if RPC server hasn't started yet. 
 That way this stack trace won't have to be thrown in nodetool:
 Exception in thread main 
 java.lang.IllegalStateException: No configured RPC daemon

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-2721) nodetool statusthrift exception while node starts up

2011-05-30 Thread Chris Goffinet (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-2721?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Chris Goffinet updated CASSANDRA-2721:
--

Summary: nodetool statusthrift exception while node starts up  (was: 
nodetool statusthrift)

 nodetool statusthrift exception while node starts up
 

 Key: CASSANDRA-2721
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2721
 Project: Cassandra
  Issue Type: Bug
Reporter: Chris Goffinet
Assignee: Chris Goffinet
Priority: Trivial
 Fix For: 0.8.0

 Attachments: 
 0001-If-RPCServer-isn-t-started-just-return-false-instead.patch


 We noticed when calling nodetool statusthrift, while a node is starting up, 
 it throws an exception. I think the proper behavior should be just return 
 false, instead of throwing an exception if RPC server hasn't started yet. 
 That way this stack trace won't have to be thrown in nodetool:
 Exception in thread main 
 java.lang.IllegalStateException: No configured RPC daemon

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Created] (CASSANDRA-2722) nodetool statusthrift

2011-05-30 Thread Chris Goffinet (JIRA)
nodetool statusthrift
-

 Key: CASSANDRA-2722
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2722
 Project: Cassandra
  Issue Type: Improvement
Reporter: Chris Goffinet
Assignee: Chris Goffinet
Priority: Trivial
 Fix For: 0.8.1


Provide the status of thrift server, if it's running or not.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (CASSANDRA-2721) nodetool statusthrift exception while node starts up

2011-05-30 Thread Chris Goffinet (JIRA)

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

Chris Goffinet commented on CASSANDRA-2721:
---

Ah! I forgot to commit that patch. It was put in our build. CASSANDRA-2722

 nodetool statusthrift exception while node starts up
 

 Key: CASSANDRA-2721
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2721
 Project: Cassandra
  Issue Type: Bug
Reporter: Chris Goffinet
Assignee: Chris Goffinet
Priority: Trivial
 Fix For: 0.8.1

 Attachments: 
 0001-If-RPCServer-isn-t-started-just-return-false-instead.patch


 We noticed when calling nodetool statusthrift, while a node is starting up, 
 it throws an exception. I think the proper behavior should be just return 
 false, instead of throwing an exception if RPC server hasn't started yet. 
 That way this stack trace won't have to be thrown in nodetool:
 Exception in thread main 
 java.lang.IllegalStateException: No configured RPC daemon

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-2721) nodetool statusthrift exception while node starts up

2011-05-30 Thread Chris Goffinet (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-2721?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Chris Goffinet updated CASSANDRA-2721:
--

Fix Version/s: (was: 0.8.0)
   0.8.1

 nodetool statusthrift exception while node starts up
 

 Key: CASSANDRA-2721
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2721
 Project: Cassandra
  Issue Type: Bug
Reporter: Chris Goffinet
Assignee: Chris Goffinet
Priority: Trivial
 Fix For: 0.8.1

 Attachments: 
 0001-If-RPCServer-isn-t-started-just-return-false-instead.patch


 We noticed when calling nodetool statusthrift, while a node is starting up, 
 it throws an exception. I think the proper behavior should be just return 
 false, instead of throwing an exception if RPC server hasn't started yet. 
 That way this stack trace won't have to be thrown in nodetool:
 Exception in thread main 
 java.lang.IllegalStateException: No configured RPC daemon

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-2722) nodetool statusthrift

2011-05-30 Thread Chris Goffinet (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-2722?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Chris Goffinet updated CASSANDRA-2722:
--

Attachment: 0001-Added-the-ability-to-check-thrift-status-in-nodetool.patch

 nodetool statusthrift
 -

 Key: CASSANDRA-2722
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2722
 Project: Cassandra
  Issue Type: Improvement
Reporter: Chris Goffinet
Assignee: Chris Goffinet
Priority: Trivial
 Fix For: 0.8.1

 Attachments: 
 0001-Added-the-ability-to-check-thrift-status-in-nodetool.patch


 Provide the status of thrift server, if it's running or not.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-2721) nodetool statusthrift exception while node starts up

2011-05-30 Thread Chris Goffinet (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-2721?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Chris Goffinet updated CASSANDRA-2721:
--

Reviewer: slebresne

 nodetool statusthrift exception while node starts up
 

 Key: CASSANDRA-2721
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2721
 Project: Cassandra
  Issue Type: Bug
Reporter: Chris Goffinet
Assignee: Chris Goffinet
Priority: Trivial
 Fix For: 0.8.1

 Attachments: 
 0001-If-RPCServer-isn-t-started-just-return-false-instead.patch


 We noticed when calling nodetool statusthrift, while a node is starting up, 
 it throws an exception. I think the proper behavior should be just return 
 false, instead of throwing an exception if RPC server hasn't started yet. 
 That way this stack trace won't have to be thrown in nodetool:
 Exception in thread main 
 java.lang.IllegalStateException: No configured RPC daemon

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-2722) nodetool statusthrift

2011-05-30 Thread Chris Goffinet (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-2722?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Chris Goffinet updated CASSANDRA-2722:
--

Reviewer: slebresne

 nodetool statusthrift
 -

 Key: CASSANDRA-2722
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2722
 Project: Cassandra
  Issue Type: Improvement
Reporter: Chris Goffinet
Assignee: Chris Goffinet
Priority: Trivial
 Fix For: 0.8.1

 Attachments: 
 0001-Added-the-ability-to-check-thrift-status-in-nodetool.patch


 Provide the status of thrift server, if it's running or not.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-2644) Make bootstrap retry

2011-05-30 Thread Chris Goffinet (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-2644?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Chris Goffinet updated CASSANDRA-2644:
--

Reviewer: stuhood

 Make bootstrap retry
 

 Key: CASSANDRA-2644
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2644
 Project: Cassandra
  Issue Type: Bug
Affects Versions: 0.8.0 beta 2
Reporter: Chris Goffinet
Assignee: Chris Goffinet
 Fix For: 0.8.1

 Attachments: 
 0001-Make-ExpiringMap-have-objects-with-specific-timeouts.patch, 
 0002-Make-bootstrap-retry-and-increment-timeout-for-every.patch


 We ran into a situation where we had rpc_timeout set to 1 second, and the 
 node needing to compute the token took over a second (1.6 seconds). The 
 bootstrapping node hangs forever without getting a token because the expiring 
 map removes it before the reply comes back.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (CASSANDRA-2644) Make bootstrap retry

2011-05-30 Thread Chris Goffinet (JIRA)

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

Chris Goffinet commented on CASSANDRA-2644:
---

Made changes to 02 patch, and commited to 0.8.1. Thanks!

 Make bootstrap retry
 

 Key: CASSANDRA-2644
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2644
 Project: Cassandra
  Issue Type: Bug
Affects Versions: 0.8.0 beta 2
Reporter: Chris Goffinet
Assignee: Chris Goffinet
 Fix For: 0.8.1

 Attachments: 
 0001-Make-ExpiringMap-have-objects-with-specific-timeouts.patch, 
 0002-Make-bootstrap-retry-and-increment-timeout-for-every.patch


 We ran into a situation where we had rpc_timeout set to 1 second, and the 
 node needing to compute the token took over a second (1.6 seconds). The 
 bootstrapping node hangs forever without getting a token because the expiring 
 map removes it before the reply comes back.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Resolved] (CASSANDRA-2203) Class to measure real memory allocated for an object

2011-05-30 Thread Chris Goffinet (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-2203?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Chris Goffinet resolved CASSANDRA-2203.
---

Resolution: Fixed

We have jamm now but wanted to leave this here for anyone who finds it useful.

 Class to measure real memory allocated for an object
 

 Key: CASSANDRA-2203
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2203
 Project: Cassandra
  Issue Type: Improvement
Reporter: Chris Goffinet
Assignee: Chris Goffinet
Priority: Trivial
 Attachments: 
 0001-Class-to-measure-actual-object-size-for-Hotspot-JVM.patch


 We wanted to share a class we are using internally to measure actual object 
 sizes for Hotspot VM. We've been using this on RowCache and Memtables.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (CASSANDRA-2722) nodetool statusthrift

2011-05-30 Thread Chris Goffinet (JIRA)

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

Chris Goffinet commented on CASSANDRA-2722:
---

Commited and updated patch to reflect comments.

 nodetool statusthrift
 -

 Key: CASSANDRA-2722
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2722
 Project: Cassandra
  Issue Type: Improvement
Reporter: Chris Goffinet
Assignee: Chris Goffinet
Priority: Trivial
 Fix For: 0.8.1

 Attachments: 
 0001-Added-the-ability-to-check-thrift-status-in-nodetool.patch


 Provide the status of thrift server, if it's running or not.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Created] (CASSANDRA-2723) Rows that don't exist get cached

2011-05-30 Thread Chris Goffinet (JIRA)
Rows that don't exist get cached


 Key: CASSANDRA-2723
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2723
 Project: Cassandra
  Issue Type: Bug
Reporter: Chris Goffinet
Assignee: Chris Goffinet
Priority: Minor


We noticed that rows that don't exist were getting cached anyway. We end up 
storing an empty CF in cache.




--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-2723) Rows that don't exist get cached

2011-05-30 Thread Chris Goffinet (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-2723?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Chris Goffinet updated CASSANDRA-2723:
--

Attachment: 0001-Reset-SSTII-in-EchoedRow-iterator-see-CASSANDRA-2653.patch

 Rows that don't exist get cached
 

 Key: CASSANDRA-2723
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2723
 Project: Cassandra
  Issue Type: Bug
Reporter: Chris Goffinet
Assignee: Chris Goffinet
Priority: Minor
 Fix For: 0.8.1

 Attachments: 0001-Do-not-cache-rows-that-do-not-exist.patch


 We noticed that rows that don't exist were getting cached anyway. We end up 
 storing an empty CF in cache.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-2723) Rows that don't exist get cached

2011-05-30 Thread Chris Goffinet (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-2723?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Chris Goffinet updated CASSANDRA-2723:
--

Attachment: (was: 
0001-Reset-SSTII-in-EchoedRow-iterator-see-CASSANDRA-2653.patch)

 Rows that don't exist get cached
 

 Key: CASSANDRA-2723
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2723
 Project: Cassandra
  Issue Type: Bug
Reporter: Chris Goffinet
Assignee: Chris Goffinet
Priority: Minor
 Fix For: 0.8.1

 Attachments: 0001-Do-not-cache-rows-that-do-not-exist.patch


 We noticed that rows that don't exist were getting cached anyway. We end up 
 storing an empty CF in cache.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-2723) Rows that don't exist get cached

2011-05-30 Thread Chris Goffinet (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-2723?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Chris Goffinet updated CASSANDRA-2723:
--

Attachment: 0001-Do-not-cache-rows-that-do-not-exist.patch

 Rows that don't exist get cached
 

 Key: CASSANDRA-2723
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2723
 Project: Cassandra
  Issue Type: Bug
Reporter: Chris Goffinet
Assignee: Chris Goffinet
Priority: Minor
 Fix For: 0.8.1

 Attachments: 0001-Do-not-cache-rows-that-do-not-exist.patch


 We noticed that rows that don't exist were getting cached anyway. We end up 
 storing an empty CF in cache.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-2723) Rows that don't exist get cached

2011-05-30 Thread Chris Goffinet (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-2723?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Chris Goffinet updated CASSANDRA-2723:
--

Attachment: 0001-Do-not-cache-rows-that-do-not-exist-v2.patch

 Rows that don't exist get cached
 

 Key: CASSANDRA-2723
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2723
 Project: Cassandra
  Issue Type: Bug
Reporter: Chris Goffinet
Assignee: Chris Goffinet
Priority: Minor
 Fix For: 0.8.1

 Attachments: 0001-Do-not-cache-rows-that-do-not-exist-v2.patch, 
 0001-Do-not-cache-rows-that-do-not-exist.patch


 We noticed that rows that don't exist were getting cached anyway. We end up 
 storing an empty CF in cache.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Created] (CASSANDRA-2700) Row cache provider options

2011-05-24 Thread Chris Goffinet (JIRA)
Row cache provider options
--

 Key: CASSANDRA-2700
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2700
 Project: Cassandra
  Issue Type: Improvement
Reporter: Chris Goffinet
Assignee: Chris Goffinet
Priority: Minor




--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Created] (CASSANDRA-2701) Memcache Row Cache Provider

2011-05-24 Thread Chris Goffinet (JIRA)
Memcache Row Cache Provider
---

 Key: CASSANDRA-2701
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2701
 Project: Cassandra
  Issue Type: Improvement
Reporter: Chris Goffinet
Assignee: Chris Goffinet
Priority: Trivial


Create a row cache provider that uses memcached. We would like to contribute 
our provider we wrote that we use in production. We co-locate memcached on 
every node, and utilize Cassandra's ability to do replication + routing.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Created] (CASSANDRA-2702) Extend Row Cache Provider support

2011-05-24 Thread Chris Goffinet (JIRA)
Extend Row Cache Provider support
-

 Key: CASSANDRA-2702
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2702
 Project: Cassandra
  Issue Type: Improvement
 Environment: Modify the row cache provider interface to pass in table 
and cfName to each provider.
Reporter: Chris Goffinet
Assignee: Chris Goffinet




--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-2702) Extend Row Cache Provider support

2011-05-24 Thread Chris Goffinet (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-2702?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Chris Goffinet updated CASSANDRA-2702:
--

Priority: Minor  (was: Major)

 Extend Row Cache Provider support
 -

 Key: CASSANDRA-2702
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2702
 Project: Cassandra
  Issue Type: Improvement
 Environment: Modify the row cache provider interface to pass in table 
 and cfName to each provider.
Reporter: Chris Goffinet
Assignee: Chris Goffinet
Priority: Minor



--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (CASSANDRA-2701) Memcache Row Cache Provider

2011-05-24 Thread Chris Goffinet (JIRA)

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

Chris Goffinet commented on CASSANDRA-2701:
---

We don't use memcached then. For super wide rows, we are going to be working on 
the slice + filter patch, this is for time series data. We will use it for 
storing N number of columns.


 Memcache Row Cache Provider
 ---

 Key: CASSANDRA-2701
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2701
 Project: Cassandra
  Issue Type: Improvement
Reporter: Chris Goffinet
Assignee: Chris Goffinet
Priority: Trivial

 Create a row cache provider that uses memcached. We would like to contribute 
 our provider we wrote that we use in production. We co-locate memcached on 
 every node, and utilize Cassandra's ability to do replication + routing.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (CASSANDRA-2701) Memcache Row Cache Provider

2011-05-24 Thread Chris Goffinet (JIRA)

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

Chris Goffinet commented on CASSANDRA-2701:
---

You can also increase the size of how big you want objects in memcached to be 
(1MB)

 Memcache Row Cache Provider
 ---

 Key: CASSANDRA-2701
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2701
 Project: Cassandra
  Issue Type: Improvement
Reporter: Chris Goffinet
Assignee: Chris Goffinet
Priority: Trivial

 Create a row cache provider that uses memcached. We would like to contribute 
 our provider we wrote that we use in production. We co-locate memcached on 
 every node, and utilize Cassandra's ability to do replication + routing.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (CASSANDRA-2701) Memcache Row Cache Provider

2011-05-24 Thread Chris Goffinet (JIRA)

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

Chris Goffinet commented on CASSANDRA-2701:
---

At the moment, off-heap does not support LRU. We get that from memcached, we 
use it as write-through LRU cache. We also internally have special version of 
memcached that has better visibility statistics than current memcached does 
along with much better improvements that we plan to open source. We also like 
the fact we don't have to worry about specifying N of objects, and instead use 
MB. Right now, we see more overhead in Cassandra as a whole, before even 
worrying about the performance of connecting over localhost. We have some big 
room for improvement there before off-heap becomes attractive. We look at this 
as short-term solution, until off-heap supports LRU, and is much more than just 
malloc/free.



 Memcache Row Cache Provider
 ---

 Key: CASSANDRA-2701
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2701
 Project: Cassandra
  Issue Type: Improvement
Reporter: Chris Goffinet
Assignee: Chris Goffinet
Priority: Trivial

 Create a row cache provider that uses memcached. We would like to contribute 
 our provider we wrote that we use in production. We co-locate memcached on 
 every node, and utilize Cassandra's ability to do replication + routing.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Issue Comment Edited] (CASSANDRA-2701) Memcache Row Cache Provider

2011-05-24 Thread Chris Goffinet (JIRA)

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

Chris Goffinet edited comment on CASSANDRA-2701 at 5/25/11 2:56 AM:


At the moment, off-heap does not support LRU. We get that from memcached, we 
use it as write-through LRU cache. We also internally have special version of 
memcached that has better visibility statistics than current memcached does 
along with much better improvements that we plan to open source. We also like 
the fact we don't have to worry about specifying the max size # of objects, and 
instead use MB allocated. Right now, we see more overhead in Cassandra as a 
whole, before even worrying about the performance of connecting over localhost. 
We have room for improvement there before off-heap becomes attractive. We look 
at this as short-term solution, until off-heap supports LRU, provides better 
statistics, and is much more than just malloc/free.



  was (Author: lenn0x):
At the moment, off-heap does not support LRU. We get that from memcached, 
we use it as write-through LRU cache. We also internally have special version 
of memcached that has better visibility statistics than current memcached does 
along with much better improvements that we plan to open source. We also like 
the fact we don't have to worry about specifying N of objects, and instead use 
MB. Right now, we see more overhead in Cassandra as a whole, before even 
worrying about the performance of connecting over localhost. We have room for 
improvement there before off-heap becomes attractive. We look at this as 
short-term solution, until off-heap supports LRU, provides better statistics, 
and is much more than just malloc/free.


  
 Memcache Row Cache Provider
 ---

 Key: CASSANDRA-2701
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2701
 Project: Cassandra
  Issue Type: Improvement
Reporter: Chris Goffinet
Assignee: Chris Goffinet
Priority: Trivial

 Create a row cache provider that uses memcached. We would like to contribute 
 our provider we wrote that we use in production. We co-locate memcached on 
 every node, and utilize Cassandra's ability to do replication + routing.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (CASSANDRA-2116) Separate out filesystem errors from generic IOErrors

2011-05-17 Thread Chris Goffinet (JIRA)

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

Chris Goffinet commented on CASSANDRA-2116:
---

Unfortunately the best we can get is IOError from Java. For example we use this 
patch to actually detect when our raid array dies, the OS will tell java to 
throw IOError. I think we should error on the side of, if data is corrupt, we 
should let the operator decide what mode he wants. For us, any errors or any 
corruption of data, we want to take the node out right away.

We have been testing this in production for awhile and it works really well 
when disks die, and we also did tests involving removing drives from the system 
while it was serving traffic. 

The Read/Write classes was a similar idea of how the Hadoop code base handles 
this very issue.


 Separate out filesystem errors from generic IOErrors
 

 Key: CASSANDRA-2116
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2116
 Project: Cassandra
  Issue Type: Improvement
Reporter: Chris Goffinet
Priority: Minor
 Fix For: 1.0

 Attachments: 
 0001-Separate-out-filesystem-errors-from-generic-IOErrors.patch


 We throw IOErrors everywhere today in the codebase. We should separate out 
 specific errors such as (reading, writing) from filesystem into FSReadError 
 and FSWriteError. This makes it possible in the next ticket to allow certain 
 failure modes (kill the server if reads or writes fail to disk).

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Created] (CASSANDRA-2644) Make bootstrap retry

2011-05-12 Thread Chris Goffinet (JIRA)
Make bootstrap retry


 Key: CASSANDRA-2644
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2644
 Project: Cassandra
  Issue Type: Bug
Affects Versions: 0.8.0 beta 2
Reporter: Chris Goffinet
Assignee: Chris Goffinet


We ran into a situation where we had rpc_timeout set to 1 second, and the node 
needing to compute the token took over a second (1.6 seconds). The 
bootstrapping node hangs forever without getting a token.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (CASSANDRA-2644) Make bootstrap retry

2011-05-12 Thread Chris Goffinet (JIRA)

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

Chris Goffinet commented on CASSANDRA-2644:
---

I have a patch for this I'll be adding within the next day. I make ExpiringMap 
support custom timeouts per object, and make bootstrap getToken retry, while 
exponentially increasing the timeout until retries is met.

 Make bootstrap retry
 

 Key: CASSANDRA-2644
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2644
 Project: Cassandra
  Issue Type: Bug
Affects Versions: 0.8.0 beta 2
Reporter: Chris Goffinet
Assignee: Chris Goffinet

 We ran into a situation where we had rpc_timeout set to 1 second, and the 
 node needing to compute the token took over a second (1.6 seconds). The 
 bootstrapping node hangs forever without getting a token.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-2644) Make bootstrap retry

2011-05-12 Thread Chris Goffinet (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-2644?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Chris Goffinet updated CASSANDRA-2644:
--

Description: We ran into a situation where we had rpc_timeout set to 1 
second, and the node needing to compute the token took over a second (1.6 
seconds). The bootstrapping node hangs forever without getting a token because 
the expiring map removes it before the reply comes back.  (was: We ran into a 
situation where we had rpc_timeout set to 1 second, and the node needing to 
compute the token took over a second (1.6 seconds). The bootstrapping node 
hangs forever without getting a token.)

 Make bootstrap retry
 

 Key: CASSANDRA-2644
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2644
 Project: Cassandra
  Issue Type: Bug
Affects Versions: 0.8.0 beta 2
Reporter: Chris Goffinet
Assignee: Chris Goffinet

 We ran into a situation where we had rpc_timeout set to 1 second, and the 
 node needing to compute the token took over a second (1.6 seconds). The 
 bootstrapping node hangs forever without getting a token because the expiring 
 map removes it before the reply comes back.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-2644) Make bootstrap retry

2011-05-12 Thread Chris Goffinet (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-2644?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Chris Goffinet updated CASSANDRA-2644:
--

Attachment: 0002-Make-bootstrap-retry-and-increment-timeout-for-every.patch
0001-Make-ExpiringMap-have-objects-with-specific-timeouts.patch

 Make bootstrap retry
 

 Key: CASSANDRA-2644
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2644
 Project: Cassandra
  Issue Type: Bug
Affects Versions: 0.8.0 beta 2
Reporter: Chris Goffinet
Assignee: Chris Goffinet
 Fix For: 0.8.1

 Attachments: 
 0001-Make-ExpiringMap-have-objects-with-specific-timeouts.patch, 
 0002-Make-bootstrap-retry-and-increment-timeout-for-every.patch


 We ran into a situation where we had rpc_timeout set to 1 second, and the 
 node needing to compute the token took over a second (1.6 seconds). The 
 bootstrapping node hangs forever without getting a token because the expiring 
 map removes it before the reply comes back.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (CASSANDRA-1902) Migrate cached pages during compaction

2011-05-08 Thread Chris Goffinet (JIRA)

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

Chris Goffinet commented on CASSANDRA-1902:
---

Peter,

Just to be clear, I know about the fsync + dirty buffers issue. My patch made 
sure to fsync data as it flushes. And this isn't related to what I was seeing, 
because I was watching the pages of SSTables that were all cold, slowly become 
hot during compaction. 

 Migrate cached pages during compaction 
 ---

 Key: CASSANDRA-1902
 URL: https://issues.apache.org/jira/browse/CASSANDRA-1902
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Affects Versions: 0.7.1
Reporter: T Jake Luciani
Assignee: Pavel Yaskevich
 Fix For: 1.0

 Attachments: 
 0001-CASSANDRA-1902-cache-migration-impl-with-config-option.txt, 
 1902-BufferedSegmentedFile-logandsleep.txt, 1902-formatted.txt, 
 1902-per-column-migration-rebase2.txt, 1902-per-column-migration.txt, 
 CASSANDRA-1902-v10-trunk-rebased.patch, CASSANDRA-1902-v3.patch, 
 CASSANDRA-1902-v4.patch, CASSANDRA-1902-v5.patch, CASSANDRA-1902-v6.patch, 
 CASSANDRA-1902-v7.patch, CASSANDRA-1902-v8.patch, 
 CASSANDRA-1902-v9-trunk-rebased.patch, 
 CASSANDRA-1902-v9-trunk-with-jmx.patch, CASSANDRA-1902-v9-trunk.patch, 
 CASSANDRA-1902-v9.patch

   Original Estimate: 32h
  Time Spent: 56h
  Remaining Estimate: 0h

 Post CASSANDRA-1470 there is an opportunity to migrate cached pages from a 
 pre-compacted CF during the compaction process.  This is now important since 
 CASSANDRA-1470 caches effectively nothing.  
 For example an active CF being compacted hurts reads since nothing is cached 
 in the new SSTable. 
 The purpose of this ticket then is to make sure SOME data is cached from 
 active CFs. This can be done my monitoring which Old SSTables are in the page 
 cache and caching active rows in the New SStable.
 A simpler yet similar approach is described here: 
 http://insights.oetiker.ch/linux/fadvise/

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (CASSANDRA-1902) Migrate cached pages during compaction

2011-05-08 Thread Chris Goffinet (JIRA)

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

Chris Goffinet commented on CASSANDRA-1902:
---

Just to give an update, I did manage to get the hints to work, as long as I 
called posix_fadvise on the previous read pair. The next problem unfortunately 
is that the kernel is ignoring the FADV_RANDOM flag I call when the file is 
open. So read ahead still applies and has an effec This causes problems, 
because a) its going to be different on many kernels b) I need to see if its 
even possible to find this value without searching through /proc). I am still 
going to be -1 on this patch because it's becoming more and more complex to try 
to manage the state of the page cache. We have other areas in the code as well 
(streaming of files) that we would need to support as well, because of the fact 
we aren't checking pages/and making sure we aren't polluting the cache there. 
In our production environment, we already see the effects of this. 

 Migrate cached pages during compaction 
 ---

 Key: CASSANDRA-1902
 URL: https://issues.apache.org/jira/browse/CASSANDRA-1902
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Affects Versions: 0.7.1
Reporter: T Jake Luciani
Assignee: Pavel Yaskevich
 Fix For: 1.0

 Attachments: 
 0001-CASSANDRA-1902-cache-migration-impl-with-config-option.txt, 
 1902-BufferedSegmentedFile-logandsleep.txt, 1902-formatted.txt, 
 1902-per-column-migration-rebase2.txt, 1902-per-column-migration.txt, 
 CASSANDRA-1902-v10-trunk-rebased.patch, CASSANDRA-1902-v3.patch, 
 CASSANDRA-1902-v4.patch, CASSANDRA-1902-v5.patch, CASSANDRA-1902-v6.patch, 
 CASSANDRA-1902-v7.patch, CASSANDRA-1902-v8.patch, 
 CASSANDRA-1902-v9-trunk-rebased.patch, 
 CASSANDRA-1902-v9-trunk-with-jmx.patch, CASSANDRA-1902-v9-trunk.patch, 
 CASSANDRA-1902-v9.patch

   Original Estimate: 32h
  Time Spent: 56h
  Remaining Estimate: 0h

 Post CASSANDRA-1470 there is an opportunity to migrate cached pages from a 
 pre-compacted CF during the compaction process.  This is now important since 
 CASSANDRA-1470 caches effectively nothing.  
 For example an active CF being compacted hurts reads since nothing is cached 
 in the new SSTable. 
 The purpose of this ticket then is to make sure SOME data is cached from 
 active CFs. This can be done my monitoring which Old SSTables are in the page 
 cache and caching active rows in the New SStable.
 A simpler yet similar approach is described here: 
 http://insights.oetiker.ch/linux/fadvise/

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (CASSANDRA-1902) Migrate cached pages during compaction

2011-05-06 Thread Chris Goffinet (JIRA)

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

Chris Goffinet commented on CASSANDRA-1902:
---

We've been testing this patch out for awhile with some modifications. It 
actually makes things worse. First off, it does not check if a page is hot/cold 
before reading. In our tests we went ahead and added that support so we can 
make sure pages stay in a consistent state. What we are seeing though is that 
the kernel is ignoring a small percent of hints on a set of pages during the 
compaction process. Because of this, this patch ends up migrating pages that it 
thinks are hot into the new SSTables over time. You can start to really see the 
effects when you are running for days and weeks. Unfortunately since the kernel 
is ignoring hints on some of the pages and we can't really have full control I 
am -1 on this ticket all together after spending weeks on this. We found just 
letting the OS deal with page management to be better. We originally thought 
this was going to be better, and in many synthetic benchmarks it has promise. 
But after running it in a real production system, the latency is much higher.

 Migrate cached pages during compaction 
 ---

 Key: CASSANDRA-1902
 URL: https://issues.apache.org/jira/browse/CASSANDRA-1902
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Affects Versions: 0.7.1
Reporter: T Jake Luciani
Assignee: Pavel Yaskevich
 Fix For: 1.0

 Attachments: 
 0001-CASSANDRA-1902-cache-migration-impl-with-config-option.txt, 
 1902-BufferedSegmentedFile-logandsleep.txt, 1902-formatted.txt, 
 1902-per-column-migration-rebase2.txt, 1902-per-column-migration.txt, 
 CASSANDRA-1902-v3.patch, CASSANDRA-1902-v4.patch, CASSANDRA-1902-v5.patch, 
 CASSANDRA-1902-v6.patch, CASSANDRA-1902-v7.patch, CASSANDRA-1902-v8.patch, 
 CASSANDRA-1902-v9-trunk-rebased.patch, 
 CASSANDRA-1902-v9-trunk-with-jmx.patch, CASSANDRA-1902-v9-trunk.patch, 
 CASSANDRA-1902-v9.patch

   Original Estimate: 32h
  Time Spent: 56h
  Remaining Estimate: 0h

 Post CASSANDRA-1470 there is an opportunity to migrate cached pages from a 
 pre-compacted CF during the compaction process.  This is now important since 
 CASSANDRA-1470 caches effectively nothing.  
 For example an active CF being compacted hurts reads since nothing is cached 
 in the new SSTable. 
 The purpose of this ticket then is to make sure SOME data is cached from 
 active CFs. This can be done my monitoring which Old SSTables are in the page 
 cache and caching active rows in the New SStable.
 A simpler yet similar approach is described here: 
 http://insights.oetiker.ch/linux/fadvise/

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (CASSANDRA-1902) Migrate cached pages during compaction

2011-05-06 Thread Chris Goffinet (JIRA)

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

Chris Goffinet commented on CASSANDRA-1902:
---

Peter,

In the modifications I did for 1902, when we open up SSTable files for 
compaction, I run mincore across the file to determine which pages are hot 
already using the hooks in 1902. I use this information in rebuffer() to call 
DONTNEED on pages that were cold to begin with after a read() call. A 
percentage of hints given to pages is being ignored by the kernel. Since that 
page is now 'hot', when we need to mark the hot pages for the new SSTable, we 
migrate more than we need. For example, we did a test where we made sure that 
on memtable flushing, we called DONTNEED on entire file. We verified the 
flushed files were not in cache. Then when compaction kicked in, since all 
pages were cold, we should have new SSTables that are not in cache. What we 
observed was, the final file after a large series of flushes + compaction, 
ended up being 50% in page cache over a long period of time. Even we purposely 
told the OS we don't want the pages in cache (as we read them).

Jake:

So the problem with that approach is that we still need to make sure as we read 
data from disk, if the page is cold, it stays cold. Keeping statistics helps 
the approach of not migrating pages that were cold to hot, but since we still 
have to read the file during compaction we still need to call DONTNEED on pages 
that were cold to begin with. That is what is causing the issue, we know a page 
is cold up front, but the kernel is not respecting that DONTNEED. I thought it 
might be related to READ AHEAD, so I made sure to fadvise FADV_RANDOM, so that 
wasn't the issue either.

Jonathan:

Yeah we run with CASSANDRA-2156, that's helped us a lot for performance 
consistency. We have certain workloads that need to read data recently written, 
so we disabled calling posix_fadvise(fd, 0, 0) during memtable flushes. We 
actually found writing new data, and just letting the kernel manage the pages 
worked better than 1902 solution, because we were calling WILLNEED on pages 
that were never being read to begin with.

One last thing to try would be keeping track of the last (offset, length) so 
after read() call fadvise on the previous pair instead of what I just read. The 
ignoring of hints might be related to the current refcount. I will try this out 
tonight and update the ticket.

 Migrate cached pages during compaction 
 ---

 Key: CASSANDRA-1902
 URL: https://issues.apache.org/jira/browse/CASSANDRA-1902
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Affects Versions: 0.7.1
Reporter: T Jake Luciani
Assignee: Pavel Yaskevich
 Fix For: 1.0

 Attachments: 
 0001-CASSANDRA-1902-cache-migration-impl-with-config-option.txt, 
 1902-BufferedSegmentedFile-logandsleep.txt, 1902-formatted.txt, 
 1902-per-column-migration-rebase2.txt, 1902-per-column-migration.txt, 
 CASSANDRA-1902-v10-trunk-rebased.patch, CASSANDRA-1902-v3.patch, 
 CASSANDRA-1902-v4.patch, CASSANDRA-1902-v5.patch, CASSANDRA-1902-v6.patch, 
 CASSANDRA-1902-v7.patch, CASSANDRA-1902-v8.patch, 
 CASSANDRA-1902-v9-trunk-rebased.patch, 
 CASSANDRA-1902-v9-trunk-with-jmx.patch, CASSANDRA-1902-v9-trunk.patch, 
 CASSANDRA-1902-v9.patch

   Original Estimate: 32h
  Time Spent: 56h
  Remaining Estimate: 0h

 Post CASSANDRA-1470 there is an opportunity to migrate cached pages from a 
 pre-compacted CF during the compaction process.  This is now important since 
 CASSANDRA-1470 caches effectively nothing.  
 For example an active CF being compacted hurts reads since nothing is cached 
 in the new SSTable. 
 The purpose of this ticket then is to make sure SOME data is cached from 
 active CFs. This can be done my monitoring which Old SSTables are in the page 
 cache and caching active rows in the New SStable.
 A simpler yet similar approach is described here: 
 http://insights.oetiker.ch/linux/fadvise/

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Created] (CASSANDRA-2612) Disable compaction throttling during bootstrap

2011-05-05 Thread Chris Goffinet (JIRA)
Disable compaction throttling during bootstrap
--

 Key: CASSANDRA-2612
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2612
 Project: Cassandra
  Issue Type: Improvement
Reporter: Chris Goffinet
Assignee: Chris Goffinet
Priority: Minor


Disable compaction throttling during bootstrap, doesn't make sense since the 
node is not getting traffic. Plus it makes it faster to bootstrap a node into 
ring.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-2612) Disable compaction throttling during bootstrap

2011-05-05 Thread Chris Goffinet (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-2612?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Chris Goffinet updated CASSANDRA-2612:
--

Affects Version/s: 0.8.0 beta 2
Fix Version/s: 0.8.0 beta 2

 Disable compaction throttling during bootstrap
 --

 Key: CASSANDRA-2612
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2612
 Project: Cassandra
  Issue Type: Improvement
Affects Versions: 0.8.0 beta 2
Reporter: Chris Goffinet
Assignee: Chris Goffinet
Priority: Minor
 Fix For: 0.8.0 beta 2


 Disable compaction throttling during bootstrap, doesn't make sense since the 
 node is not getting traffic. Plus it makes it faster to bootstrap a node into 
 ring.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-2612) Disable compaction throttling during bootstrap

2011-05-05 Thread Chris Goffinet (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-2612?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Chris Goffinet updated CASSANDRA-2612:
--

Attachment: 0001-CASSANDRA-2612-Disable-compaction-throttling-during-.patch

 Disable compaction throttling during bootstrap
 --

 Key: CASSANDRA-2612
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2612
 Project: Cassandra
  Issue Type: Improvement
Affects Versions: 0.8.0 beta 2
Reporter: Chris Goffinet
Assignee: Chris Goffinet
Priority: Minor
 Fix For: 0.8.0 beta 2

 Attachments: 
 0001-CASSANDRA-2612-Disable-compaction-throttling-during-.patch


 Disable compaction throttling during bootstrap, doesn't make sense since the 
 node is not getting traffic. Plus it makes it faster to bootstrap a node into 
 ring.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-2581) Rebuffer called excessively during seeks

2011-04-28 Thread Chris Goffinet (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-2581?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Chris Goffinet updated CASSANDRA-2581:
--

Affects Version/s: 0.8.1

 Rebuffer called excessively during seeks
 

 Key: CASSANDRA-2581
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2581
 Project: Cassandra
  Issue Type: Bug
Affects Versions: 0.8.1
Reporter: Chris Goffinet
Assignee: Chris Goffinet
Priority: Minor

 When doing an strace tonight, I noticed during memtable flushes that we were 
 only writing 1KB per every write() system call...After diving more into it, 
 it's because of a bug in the seek() code. 
 if (newPosition = bufferOffset + validBufferBytes || newPosition  
 bufferOffset)
 vs.
 if (newPosition  (bufferOffset + validBufferBytes) || newPosition  
 bufferOffset)
 Two things I noticed, we shouldn't need to rebuffer if newPosition is equal 
 to bufferOffset + validBufferBytes, second the evaluation was doing 
 (newPosition = bufferOffset) + validBufferBytes which always seemed to be 
 true.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Created] (CASSANDRA-2581) Rebuffer called excessively during seeks

2011-04-28 Thread Chris Goffinet (JIRA)
Rebuffer called excessively during seeks


 Key: CASSANDRA-2581
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2581
 Project: Cassandra
  Issue Type: Bug
Reporter: Chris Goffinet
Assignee: Chris Goffinet
Priority: Minor


When doing an strace tonight, I noticed during memtable flushes that we were 
only writing 1KB per every write() system call...After diving more into it, 
it's because of a bug in the seek() code. 

if (newPosition = bufferOffset + validBufferBytes || newPosition  
bufferOffset)

vs.

if (newPosition  (bufferOffset + validBufferBytes) || newPosition  
bufferOffset)

Two things I noticed, we shouldn't need to rebuffer if newPosition is equal to 
bufferOffset + validBufferBytes, second the evaluation was doing (newPosition 
= bufferOffset) + validBufferBytes which always seemed to be true.


--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-2581) Rebuffer called excessively during seeks

2011-04-28 Thread Chris Goffinet (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-2581?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Chris Goffinet updated CASSANDRA-2581:
--

Attachment: 0001-Rebuffer-called-excessively-during-seeks.patch

 Rebuffer called excessively during seeks
 

 Key: CASSANDRA-2581
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2581
 Project: Cassandra
  Issue Type: Bug
Affects Versions: 0.8.1
Reporter: Chris Goffinet
Assignee: Chris Goffinet
Priority: Minor
 Attachments: 0001-Rebuffer-called-excessively-during-seeks.patch


 When doing an strace tonight, I noticed during memtable flushes that we were 
 only writing 1KB per every write() system call...After diving more into it, 
 it's because of a bug in the seek() code. 
 if (newPosition = bufferOffset + validBufferBytes || newPosition  
 bufferOffset)
 vs.
 if (newPosition  (bufferOffset + validBufferBytes) || newPosition  
 bufferOffset)
 Two things I noticed, we shouldn't need to rebuffer if newPosition is equal 
 to bufferOffset + validBufferBytes, second the evaluation was doing 
 (newPosition = bufferOffset) + validBufferBytes which always seemed to be 
 true.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-2444) Remove checkAllColumnFamilies on startup

2011-04-22 Thread Chris Goffinet (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-2444?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Chris Goffinet updated CASSANDRA-2444:
--

Attachment: 0001-CASSANDRA-2444-Remove-checking-all-column-families-o.patch

 Remove checkAllColumnFamilies on startup
 

 Key: CASSANDRA-2444
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2444
 Project: Cassandra
  Issue Type: Bug
Reporter: Chris Goffinet
Assignee: Chris Goffinet
Priority: Minor
  Labels: compaction
 Fix For: 0.8.1

 Attachments: 
 0001-CASSANDRA-2444-Remove-checking-all-column-families-o.patch


 We've ran into many times where we do not want compaction to run right away 
 against CFs when booting up a node. If the node needs to compact, it will do 
 so at the first flush

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-2444) Remove checkAllColumnFamilies on startup

2011-04-22 Thread Chris Goffinet (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-2444?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Chris Goffinet updated CASSANDRA-2444:
--

Attachment: (was: 
0001-CASSANDRA-2444-Provide-an-option-to-enable-disable-c.patch)

 Remove checkAllColumnFamilies on startup
 

 Key: CASSANDRA-2444
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2444
 Project: Cassandra
  Issue Type: Bug
Reporter: Chris Goffinet
Assignee: Chris Goffinet
Priority: Minor
  Labels: compaction
 Fix For: 0.8.1

 Attachments: 
 0001-CASSANDRA-2444-Remove-checking-all-column-families-o.patch


 We've ran into many times where we do not want compaction to run right away 
 against CFs when booting up a node. If the node needs to compact, it will do 
 so at the first flush

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Created] (CASSANDRA-2535) CQL create keyspace throws exceptions

2011-04-21 Thread Chris Goffinet (JIRA)
CQL create keyspace throws exceptions
-

 Key: CASSANDRA-2535
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2535
 Project: Cassandra
  Issue Type: Bug
Reporter: Chris Goffinet


Was trying out CQL:

cqlsh create keyspace foo with replication_factor=1 and 
strategy_class='org.apache.cassandra.locator.SimpleStrategy';
Bad Request: org.apache.cassandra.config.ConfigurationException: SimpleStrategy 
requires a replication_factor strategy option.

On Cassandra side:

 INFO 15:41:14,423 Applying migration 768b63c0-6c68-11e0--242d50cf1fbf Add 
keyspace: foorep strategy:SimpleStrategy{}
 INFO 15:41:14,424 Enqueuing flush of Memtable-Migrations@17649447(6489/8111 
serialized/live bytes, 1 ops)
 INFO 15:41:14,425 Enqueuing flush of Memtable-Schema@186829279(2599/3248 
serialized/live bytes, 3 ops)
 INFO 15:41:14,425 Writing Memtable-Migrations@17649447(6489/8111 
serialized/live bytes, 1 ops)
 INFO 15:41:14,435 Completed flushing 
/var/lib/cassandra/data/system/Migrations-f-1-Data.db (6553 bytes)
 INFO 15:41:14,436 Writing Memtable-Schema@186829279(2599/3248 serialized/live 
bytes, 3 ops)
 INFO 15:41:14,449 Completed flushing 
/var/lib/cassandra/data/system/Schema-f-1-Data.db (2749 bytes)
ERROR 15:41:14,452 Fatal exception in thread Thread[MigrationStage:1,5,main]
java.lang.RuntimeException: org.apache.cassandra.config.ConfigurationException: 
SimpleStrategy requires a replication_factor strategy option.
at org.apache.cassandra.db.Table.init(Table.java:278)
at org.apache.cassandra.db.Table.open(Table.java:110)
at 
org.apache.cassandra.db.migration.AddKeyspace.applyModels(AddKeyspace.java:74)
at org.apache.cassandra.db.migration.Migration.apply(Migration.java:154)
at 
org.apache.cassandra.cql.QueryProcessor$1.call(QueryProcessor.java:339)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at 
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:680)
Caused by: org.apache.cassandra.config.ConfigurationException: SimpleStrategy 
requires a replication_factor strategy option.
at 
org.apache.cassandra.locator.SimpleStrategy.validateOptions(SimpleStrategy.java:79)
at 
org.apache.cassandra.locator.AbstractReplicationStrategy.createReplicationStrategy(AbstractReplicationStrategy.java:262)
at 
org.apache.cassandra.db.Table.createReplicationStrategy(Table.java:328)
at org.apache.cassandra.db.Table.init(Table.java:274)
... 9 more
 INFO 15:41:37,210 Applying migration 843c7c70-6c68-11e0--242d50cf1fbf Drop 
keyspace: foo
 INFO 15:41:37,211 Enqueuing flush of Memtable-Migrations@1289702396(6372/7965 
serialized/live bytes, 1 ops)
 INFO 15:41:37,211 Writing Memtable-Migrations@1289702396(6372/7965 
serialized/live bytes, 1 ops)
 INFO 15:41:37,212 Enqueuing flush of Memtable-Schema@1475720401(2529/3161 
serialized/live bytes, 2 ops)
 INFO 15:41:37,222 Completed flushing 
/var/lib/cassandra/data/system/Migrations-f-2-Data.db (6436 bytes)
 INFO 15:41:37,223 Writing Memtable-Schema@1475720401(2529/3161 serialized/live 
bytes, 2 ops)
 INFO 15:41:37,244 Completed flushing 
/var/lib/cassandra/data/system/Schema-f-2-Data.db (2679 bytes)

The keyspace gets created anyway and I can no longer drop it, I get this 
message:

cqlsh drop keyspace foo;
Exception: TSocket read 0 bytes


ERROR 15:41:37,246 Fatal exception in thread Thread[MigrationStage:1,5,main]
java.lang.AssertionError
at 
org.apache.cassandra.db.migration.DropKeyspace.applyModels(DropKeyspace.java:81)
at org.apache.cassandra.db.migration.Migration.apply(Migration.java:154)
at 
org.apache.cassandra.cql.QueryProcessor$1.call(QueryProcessor.java:339)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at 
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:680)
ERROR 15:41:37,246 Thrift error occurred during processing of message.
org.apache.thrift.protocol.TProtocolException: Required field 'why' was not 
present! Struct: InvalidRequestException(why:null)
at 
org.apache.cassandra.thrift.InvalidRequestException.validate(InvalidRequestException.java:334)
at 
org.apache.cassandra.thrift.InvalidRequestException.write(InvalidRequestException.java:303)
at 
org.apache.cassandra.thrift.Cassandra$execute_cql_query_result.write(Cassandra.java:32011)
at 

[jira] [Updated] (CASSANDRA-2535) CQL create keyspace throws exceptions

2011-04-21 Thread Chris Goffinet (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-2535?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Chris Goffinet updated CASSANDRA-2535:
--

Affects Version/s: 0.8 beta 1

 CQL create keyspace throws exceptions
 -

 Key: CASSANDRA-2535
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2535
 Project: Cassandra
  Issue Type: Bug
Affects Versions: 0.8 beta 1
Reporter: Chris Goffinet
  Labels: CQL

 Was trying out CQL:
 cqlsh create keyspace foo with replication_factor=1 and 
 strategy_class='org.apache.cassandra.locator.SimpleStrategy';
 Bad Request: org.apache.cassandra.config.ConfigurationException: 
 SimpleStrategy requires a replication_factor strategy option.
 On Cassandra side:
  INFO 15:41:14,423 Applying migration 768b63c0-6c68-11e0--242d50cf1fbf 
 Add keyspace: foorep strategy:SimpleStrategy{}
  INFO 15:41:14,424 Enqueuing flush of Memtable-Migrations@17649447(6489/8111 
 serialized/live bytes, 1 ops)
  INFO 15:41:14,425 Enqueuing flush of Memtable-Schema@186829279(2599/3248 
 serialized/live bytes, 3 ops)
  INFO 15:41:14,425 Writing Memtable-Migrations@17649447(6489/8111 
 serialized/live bytes, 1 ops)
  INFO 15:41:14,435 Completed flushing 
 /var/lib/cassandra/data/system/Migrations-f-1-Data.db (6553 bytes)
  INFO 15:41:14,436 Writing Memtable-Schema@186829279(2599/3248 
 serialized/live bytes, 3 ops)
  INFO 15:41:14,449 Completed flushing 
 /var/lib/cassandra/data/system/Schema-f-1-Data.db (2749 bytes)
 ERROR 15:41:14,452 Fatal exception in thread Thread[MigrationStage:1,5,main]
 java.lang.RuntimeException: 
 org.apache.cassandra.config.ConfigurationException: SimpleStrategy requires a 
 replication_factor strategy option.
   at org.apache.cassandra.db.Table.init(Table.java:278)
   at org.apache.cassandra.db.Table.open(Table.java:110)
   at 
 org.apache.cassandra.db.migration.AddKeyspace.applyModels(AddKeyspace.java:74)
   at org.apache.cassandra.db.migration.Migration.apply(Migration.java:154)
   at 
 org.apache.cassandra.cql.QueryProcessor$1.call(QueryProcessor.java:339)
   at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
   at java.util.concurrent.FutureTask.run(FutureTask.java:138)
   at 
 java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
   at 
 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
   at java.lang.Thread.run(Thread.java:680)
 Caused by: org.apache.cassandra.config.ConfigurationException: SimpleStrategy 
 requires a replication_factor strategy option.
   at 
 org.apache.cassandra.locator.SimpleStrategy.validateOptions(SimpleStrategy.java:79)
   at 
 org.apache.cassandra.locator.AbstractReplicationStrategy.createReplicationStrategy(AbstractReplicationStrategy.java:262)
   at 
 org.apache.cassandra.db.Table.createReplicationStrategy(Table.java:328)
   at org.apache.cassandra.db.Table.init(Table.java:274)
   ... 9 more
  INFO 15:41:37,210 Applying migration 843c7c70-6c68-11e0--242d50cf1fbf 
 Drop keyspace: foo
  INFO 15:41:37,211 Enqueuing flush of 
 Memtable-Migrations@1289702396(6372/7965 serialized/live bytes, 1 ops)
  INFO 15:41:37,211 Writing Memtable-Migrations@1289702396(6372/7965 
 serialized/live bytes, 1 ops)
  INFO 15:41:37,212 Enqueuing flush of Memtable-Schema@1475720401(2529/3161 
 serialized/live bytes, 2 ops)
  INFO 15:41:37,222 Completed flushing 
 /var/lib/cassandra/data/system/Migrations-f-2-Data.db (6436 bytes)
  INFO 15:41:37,223 Writing Memtable-Schema@1475720401(2529/3161 
 serialized/live bytes, 2 ops)
  INFO 15:41:37,244 Completed flushing 
 /var/lib/cassandra/data/system/Schema-f-2-Data.db (2679 bytes)
 The keyspace gets created anyway and I can no longer drop it, I get this 
 message:
 cqlsh drop keyspace foo;
 Exception: TSocket read 0 bytes
 ERROR 15:41:37,246 Fatal exception in thread Thread[MigrationStage:1,5,main]
 java.lang.AssertionError
   at 
 org.apache.cassandra.db.migration.DropKeyspace.applyModels(DropKeyspace.java:81)
   at org.apache.cassandra.db.migration.Migration.apply(Migration.java:154)
   at 
 org.apache.cassandra.cql.QueryProcessor$1.call(QueryProcessor.java:339)
   at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
   at java.util.concurrent.FutureTask.run(FutureTask.java:138)
   at 
 java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
   at 
 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
   at java.lang.Thread.run(Thread.java:680)
 ERROR 15:41:37,246 Thrift error occurred during processing of message.
 org.apache.thrift.protocol.TProtocolException: Required field 'why' was not 
 present! Struct: InvalidRequestException(why:null)
   at 
 

[jira] [Updated] (CASSANDRA-2444) An option to disable compaction on startup

2011-04-21 Thread Chris Goffinet (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-2444?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Chris Goffinet updated CASSANDRA-2444:
--

Fix Version/s: 0.8.1

 An option to disable compaction on startup
 --

 Key: CASSANDRA-2444
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2444
 Project: Cassandra
  Issue Type: Bug
Reporter: Chris Goffinet
Assignee: Chris Goffinet
Priority: Minor
  Labels: compaction
 Fix For: 0.8.1


 We've ran into many times where we do not want compaction to run right away 
 against CFs when booting up a node. I propose we make that an option in the 
 config, so operators do not have to take the penalty of compacting right 
 away, and can return the node as close to working state as possible.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Assigned] (CASSANDRA-2444) An option to disable compaction on startup

2011-04-21 Thread Chris Goffinet (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-2444?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Chris Goffinet reassigned CASSANDRA-2444:
-

Assignee: Chris Goffinet

 An option to disable compaction on startup
 --

 Key: CASSANDRA-2444
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2444
 Project: Cassandra
  Issue Type: Bug
Reporter: Chris Goffinet
Assignee: Chris Goffinet
Priority: Minor
  Labels: compaction
 Fix For: 0.8.1


 We've ran into many times where we do not want compaction to run right away 
 against CFs when booting up a node. I propose we make that an option in the 
 config, so operators do not have to take the penalty of compacting right 
 away, and can return the node as close to working state as possible.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-2444) An option to disable compaction on startup

2011-04-21 Thread Chris Goffinet (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-2444?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Chris Goffinet updated CASSANDRA-2444:
--

Attachment: 0001-CASSANDRA-2444-Provide-an-option-to-enable-disable-c.patch

 An option to disable compaction on startup
 --

 Key: CASSANDRA-2444
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2444
 Project: Cassandra
  Issue Type: Bug
Reporter: Chris Goffinet
Assignee: Chris Goffinet
Priority: Minor
  Labels: compaction
 Fix For: 0.8.1

 Attachments: 
 0001-CASSANDRA-2444-Provide-an-option-to-enable-disable-c.patch


 We've ran into many times where we do not want compaction to run right away 
 against CFs when booting up a node. I propose we make that an option in the 
 config, so operators do not have to take the penalty of compacting right 
 away, and can return the node as close to working state as possible.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Created] (CASSANDRA-2521) Move away from Phantom References for Compaction/Memtable

2011-04-20 Thread Chris Goffinet (JIRA)
Move away from Phantom References for Compaction/Memtable
-

 Key: CASSANDRA-2521
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2521
 Project: Cassandra
  Issue Type: Improvement
Reporter: Chris Goffinet
Priority: Minor


http://wiki.apache.org/cassandra/MemtableSSTable

Let's move to using reference counting instead of relying on GC to be called in 
StorageService.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (CASSANDRA-1902) Migrate cached pages during compaction

2011-04-14 Thread Chris Goffinet (JIRA)

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

Chris Goffinet commented on CASSANDRA-1902:
---

CASSANDRA-1470 introduced a way to help not pollute page cache. It also didn't 
solve it 100% We realized that during compaction, DONTNEED is used when reading 
pages from existing SSTables. While compaction runs this will effectively make 
all hot pages in those files, which are still being served be marked to be 
removed from cache. So we certainly helped not pollute cache, we also 
effectively removed hot data as well while compaction runs. We need to modify 
this patch so that while reading pages on existing SSTables we be sure to not 
remove those hot pages during compaction. I am happy to open another ticket if 
that makes more sense. But I figured we could just go ahead and make this 
ticket support that functionality too.

 Migrate cached pages during compaction 
 ---

 Key: CASSANDRA-1902
 URL: https://issues.apache.org/jira/browse/CASSANDRA-1902
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Affects Versions: 0.7.1
Reporter: T Jake Luciani
Assignee: Pavel Yaskevich
 Fix For: 1.0

 Attachments: 
 0001-CASSANDRA-1902-cache-migration-impl-with-config-option.txt, 
 1902-BufferedSegmentedFile-logandsleep.txt, 1902-formatted.txt, 
 1902-per-column-migration-rebase2.txt, 1902-per-column-migration.txt, 
 CASSANDRA-1902-v3.patch, CASSANDRA-1902-v4.patch, CASSANDRA-1902-v5.patch, 
 CASSANDRA-1902-v6.patch, CASSANDRA-1902-v7.patch, CASSANDRA-1902-v8.patch, 
 CASSANDRA-1902-v9-trunk-rebased.patch, 
 CASSANDRA-1902-v9-trunk-with-jmx.patch, CASSANDRA-1902-v9-trunk.patch, 
 CASSANDRA-1902-v9.patch

   Original Estimate: 32h
  Time Spent: 56h
  Remaining Estimate: 0h

 Post CASSANDRA-1470 there is an opportunity to migrate cached pages from a 
 pre-compacted CF during the compaction process.  This is now important since 
 CASSANDRA-1470 caches effectively nothing.  
 For example an active CF being compacted hurts reads since nothing is cached 
 in the new SSTable. 
 The purpose of this ticket then is to make sure SOME data is cached from 
 active CFs. This can be done my monitoring which Old SSTables are in the page 
 cache and caching active rows in the New SStable.
 A simpler yet similar approach is described here: 
 http://insights.oetiker.ch/linux/fadvise/

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Issue Comment Edited] (CASSANDRA-1902) Migrate cached pages during compaction

2011-04-14 Thread Chris Goffinet (JIRA)

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

Chris Goffinet edited comment on CASSANDRA-1902 at 4/15/11 3:19 AM:


CASSANDRA-1470 introduced a way to help not pollute page cache. It also didn't 
solve it 100% We realized that during compaction, DONTNEED is used when reading 
pages from existing SSTables. While compaction runs this will effectively make 
all hot pages in those files, which are still being served be marked to be 
removed from cache. So we certainly helped not pollute cache by taking in cold 
data, we also effectively removed hot data as well while compaction runs. We 
need to modify this patch so that while reading pages on existing SSTables we 
be sure to not remove those hot pages during compaction. I am happy to open 
another ticket if that makes more sense. But I figured we could just go ahead 
and make this ticket support that functionality too.

  was (Author: lenn0x):
CASSANDRA-1470 introduced a way to help not pollute page cache. It also 
didn't solve it 100% We realized that during compaction, DONTNEED is used when 
reading pages from existing SSTables. While compaction runs this will 
effectively make all hot pages in those files, which are still being served be 
marked to be removed from cache. So we certainly helped not pollute cache, we 
also effectively removed hot data as well while compaction runs. We need to 
modify this patch so that while reading pages on existing SSTables we be sure 
to not remove those hot pages during compaction. I am happy to open another 
ticket if that makes more sense. But I figured we could just go ahead and make 
this ticket support that functionality too.
  
 Migrate cached pages during compaction 
 ---

 Key: CASSANDRA-1902
 URL: https://issues.apache.org/jira/browse/CASSANDRA-1902
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Affects Versions: 0.7.1
Reporter: T Jake Luciani
Assignee: Pavel Yaskevich
 Fix For: 1.0

 Attachments: 
 0001-CASSANDRA-1902-cache-migration-impl-with-config-option.txt, 
 1902-BufferedSegmentedFile-logandsleep.txt, 1902-formatted.txt, 
 1902-per-column-migration-rebase2.txt, 1902-per-column-migration.txt, 
 CASSANDRA-1902-v3.patch, CASSANDRA-1902-v4.patch, CASSANDRA-1902-v5.patch, 
 CASSANDRA-1902-v6.patch, CASSANDRA-1902-v7.patch, CASSANDRA-1902-v8.patch, 
 CASSANDRA-1902-v9-trunk-rebased.patch, 
 CASSANDRA-1902-v9-trunk-with-jmx.patch, CASSANDRA-1902-v9-trunk.patch, 
 CASSANDRA-1902-v9.patch

   Original Estimate: 32h
  Time Spent: 56h
  Remaining Estimate: 0h

 Post CASSANDRA-1470 there is an opportunity to migrate cached pages from a 
 pre-compacted CF during the compaction process.  This is now important since 
 CASSANDRA-1470 caches effectively nothing.  
 For example an active CF being compacted hurts reads since nothing is cached 
 in the new SSTable. 
 The purpose of this ticket then is to make sure SOME data is cached from 
 active CFs. This can be done my monitoring which Old SSTables are in the page 
 cache and caching active rows in the New SStable.
 A simpler yet similar approach is described here: 
 http://insights.oetiker.ch/linux/fadvise/

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Created] (CASSANDRA-2443) Stream key/row caches during bootstrap

2011-04-08 Thread Chris Goffinet (JIRA)
Stream key/row caches during bootstrap
--

 Key: CASSANDRA-2443
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2443
 Project: Cassandra
  Issue Type: Improvement
Reporter: Chris Goffinet
Priority: Minor


When adding new nodes to an existing cluster, if we streamed key and row caches 
over right before node came into cluster, we could minimize the impact of a 
cold node, and reduce the time for the node to get 'warmed' up.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Created] (CASSANDRA-2444) An option to disable compaction on startup

2011-04-08 Thread Chris Goffinet (JIRA)
An option to disable compaction on startup
--

 Key: CASSANDRA-2444
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2444
 Project: Cassandra
  Issue Type: Bug
Reporter: Chris Goffinet
Priority: Minor


We've ran into many times where we do not want compaction to run right away 
against CFs when booting up a node. I propose we make that an option in the 
config, so operators do not have to take the penalty of compacting right away, 
and can return the node as close to working state as possible.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Created] (CASSANDRA-2437) ClusterTool throws exception for get_endpoints

2011-04-07 Thread Chris Goffinet (JIRA)
ClusterTool throws exception for get_endpoints
--

 Key: CASSANDRA-2437
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2437
 Project: Cassandra
  Issue Type: Bug
Affects Versions: 0.8
Reporter: Chris Goffinet
Assignee: Chris Goffinet
 Fix For: 0.8


ByteBuffer is not serializable over JMX.

Exception in thread main java.lang.reflect.UndeclaredThrowableException
at $Proxy0.getNaturalEndpoints(Unknown Source)
at org.apache.cassandra.tools.NodeProbe.getEndpoints(NodeProbe.java:446)
at 
org.apache.cassandra.tools.ClusterCmd.printEndpoints(ClusterCmd.java:146)
at org.apache.cassandra.tools.ClusterCmd.main(ClusterCmd.java:240)
Caused by: java.io.NotSerializableException: java.nio.HeapByteBuffer
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1156)
at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1338)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1146)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
at java.rmi.MarshalledObject.init(MarshalledObject.java:101)
at 
javax.management.remote.rmi.RMIConnector$RemoteMBeanServerConnection.invoke(RMIConnector.java:990)
at 
javax.management.MBeanServerInvocationHandler.invoke(MBeanServerInvocationHandler.java:288)
... 4 more

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-2437) ClusterTool throws exception for get_endpoints

2011-04-07 Thread Chris Goffinet (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-2437?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Chris Goffinet updated CASSANDRA-2437:
--

Attachment: 0001-CASSANDRA-2437-Support-a-byte-key-for-getNaturalEndp.patch

 ClusterTool throws exception for get_endpoints
 --

 Key: CASSANDRA-2437
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2437
 Project: Cassandra
  Issue Type: Bug
Affects Versions: 0.8
Reporter: Chris Goffinet
Assignee: Chris Goffinet
 Fix For: 0.8

 Attachments: 
 0001-CASSANDRA-2437-Support-a-byte-key-for-getNaturalEndp.patch


 ByteBuffer is not serializable over JMX.
 Exception in thread main java.lang.reflect.UndeclaredThrowableException
   at $Proxy0.getNaturalEndpoints(Unknown Source)
   at org.apache.cassandra.tools.NodeProbe.getEndpoints(NodeProbe.java:446)
   at 
 org.apache.cassandra.tools.ClusterCmd.printEndpoints(ClusterCmd.java:146)
   at org.apache.cassandra.tools.ClusterCmd.main(ClusterCmd.java:240)
 Caused by: java.io.NotSerializableException: java.nio.HeapByteBuffer
   at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1156)
   at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1338)
   at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1146)
   at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
   at java.rmi.MarshalledObject.init(MarshalledObject.java:101)
   at 
 javax.management.remote.rmi.RMIConnector$RemoteMBeanServerConnection.invoke(RMIConnector.java:990)
   at 
 javax.management.MBeanServerInvocationHandler.invoke(MBeanServerInvocationHandler.java:288)
   ... 4 more

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-2324) Repair transfers more data than necessary

2011-04-01 Thread Chris Goffinet (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-2324?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Chris Goffinet updated CASSANDRA-2324:
--

Reviewer: lenn0x

 Repair transfers more data than necessary
 -

 Key: CASSANDRA-2324
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2324
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 0.6
Reporter: Brandon Williams
Assignee: Sylvain Lebresne
 Fix For: 0.8

 Attachments: 0001-Make-repair-operate-over-a-node-token-range.patch


 To repro: 3 node cluster, stress.java 1M rows with -x KEYS and -l 2.  The 
 index is enough to make some mutations drop (about 20-30k total in my tests). 
  Repair afterwards will repair a large amount of ranges the first time.  
 However, each subsequent run will repair the same set of small ranges every 
 time.  INDEXED_RANGE_SLICE in stress never fully works.  Counting rows with 
 sstablekeys shows there are 2M rows total as expected, however when trying to 
 count the indexed keys, I get exceptions like:
 {noformat}
 Exception in thread main java.io.IOException: Key out of order! 
 DecoratedKey(101571366040797913119296586470838356016, 
 0707ab782c5b5029d28a5e6d508ef72f0222528b5e28da3b7787492679dc51b96f868e0746073e54bc173be927049d0f51e25a6a95b3268213b8969abf40cea7d7)
   DecoratedKey(12639574763031545147067490818595764132, 
 0bc414be3093348a2ad389ed28f18f0cc9a044b2e98587848a0d289dae13ed0ad479c74654900eeffc6236)
 at 
 org.apache.cassandra.tools.SSTableExport.enumeratekeys(SSTableExport.java:206)
 at 
 org.apache.cassandra.tools.SSTableExport.main(SSTableExport.java:388)
 {noformat}

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (CASSANDRA-1969) Use BB for row cache - To Improve GC performance.

2011-03-30 Thread Chris Goffinet (JIRA)

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

Chris Goffinet commented on CASSANDRA-1969:
---

Could we get a rebase on 1969-rollup-and-config on trunk?

 Use BB for row cache - To Improve GC performance.
 -

 Key: CASSANDRA-1969
 URL: https://issues.apache.org/jira/browse/CASSANDRA-1969
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
 Environment: Linux and Mac
Reporter: Vijay
Assignee: Vijay
Priority: Minor
 Attachments: 0001-Config-1969.txt, 
 0001-introduce-ICache-InstrumentingCache-IRowCacheProvider.txt, 
 0002-Update_existing-1965.txt, 0002-implement-SerializingCache.txt, 
 0002-implement-SerializingCacheV2.txt, 0003-New_Cache_Providers-1969.txt, 
 0003-add-ICache.isCopying-method.txt, 0004-Null-Check-and-duplicate-bb.txt, 
 0004-TestCase-1969.txt, 1969-rollup-and-config.txt, BB_Cache-1945.png, 
 JMX-Cache-1945.png, Old_Cahce-1945.png, POC-0001-Config-1945.txt, 
 POC-0002-Update_existing-1945.txt, POC-0003-New_Cache_Providers-1945.txt


 Java BB.allocateDirect() will allocate native memory out of the JVM and will 
 help reducing the GC pressure in the JVM with a large Cache.
 From some of the basic tests it shows around 50% improvement than doing a 
 normal Object cache.
 In addition this patch provide the users an option to choose 
 BB.allocateDirect or store everything in the heap.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Created] (CASSANDRA-2399) Do not impact page cache during streaming

2011-03-28 Thread Chris Goffinet (JIRA)
Do not impact page cache during streaming
-

 Key: CASSANDRA-2399
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2399
 Project: Cassandra
  Issue Type: Improvement
Reporter: Chris Goffinet
Priority: Minor


If we could do similar work we have done for compaction on streaming for new 
nodes, it would help to not blow out page cache. This might not be possible 
since we are using transferTo() but we should at least investigate.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (CASSANDRA-2393) Ring changes should stream from the replicas that are losing responsibility

2011-03-27 Thread Chris Goffinet (JIRA)

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

Chris Goffinet commented on CASSANDRA-2393:
---

From what I can tell, this should only effect counters w/ Repair on Write 
turned off. We should really stream from all replicas if you have ROW turned 
off..

 Ring changes should stream from the replicas that are losing responsibility
 ---

 Key: CASSANDRA-2393
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2393
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Reporter: Stu Hood
Priority: Minor

 During a bootstrap or move operation, the replica that is leaving the replica 
 set should be the preferred node to stream data to the node that is joining 
 the replica set. Currently, an effectively random node will be chosen.
 Since the data held by the leaving node may not agree with the other 
 replicas, it is important for consistency that it be the one that streams.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Issue Comment Edited] (CASSANDRA-2393) Ring changes should stream from the replicas that are losing responsibility

2011-03-27 Thread Chris Goffinet (JIRA)

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

Chris Goffinet edited comment on CASSANDRA-2393 at 3/28/11 4:29 AM:


From what I can tell, this should only effect counters w/ Repair on Write 
turned off. We just need to stream from the replica that is leaving.

  was (Author: lenn0x):
From what I can tell, this should only effect counters w/ Repair on Write 
turned off. We should really stream from all replicas if you have ROW turned 
off..
  
 Ring changes should stream from the replicas that are losing responsibility
 ---

 Key: CASSANDRA-2393
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2393
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Reporter: Stu Hood
Priority: Minor

 During a bootstrap or move operation, the replica that is leaving the replica 
 set should be the preferred node to stream data to the node that is joining 
 the replica set. Currently, an effectively random node will be chosen.
 Since the data held by the leaving node may not agree with the other 
 replicas, it is important for consistency that it be the one that streams.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Created] (CASSANDRA-2392) Saving IndexSummaries to disk

2011-03-26 Thread Chris Goffinet (JIRA)
Saving IndexSummaries to disk
-

 Key: CASSANDRA-2392
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2392
 Project: Cassandra
  Issue Type: Improvement
Affects Versions: 0.8
Reporter: Chris Goffinet
Priority: Minor


For nodes with millions of keys, doing rolling restarts that take over 10 
minutes per node can be painful if you have 100 node cluster. All of our time 
is spent on doing index summary computations on startup. It would be great if 
we could save those to disk as well. Our indexes are quite large.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] Commented: (CASSANDRA-1969) Use BB for row cache - To Improve GC performance.

2011-03-02 Thread Chris Goffinet (JIRA)

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

Chris Goffinet commented on CASSANDRA-1969:
---

Are you MaxDirectMemorySize by default is unlimited? I remember seeing the 
default was 64MB..

 Use BB for row cache - To Improve GC performance.
 -

 Key: CASSANDRA-1969
 URL: https://issues.apache.org/jira/browse/CASSANDRA-1969
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
 Environment: Linux and Mac
Reporter: Vijay
Assignee: Vijay
Priority: Minor
 Attachments: 0001-Config-1969.txt, 
 0001-introduce-ICache-InstrumentingCache-IRowCacheProvider.txt, 
 0002-Update_existing-1965.txt, 0002-implement-SerializingCache.txt, 
 0002-implement-SerializingCacheV2.txt, 0003-New_Cache_Providers-1969.txt, 
 0003-add-ICache.isCopying-method.txt, 0004-Null-Check-and-duplicate-bb.txt, 
 0004-TestCase-1969.txt, 1969-rollup-and-config.txt, BB_Cache-1945.png, 
 JMX-Cache-1945.png, Old_Cahce-1945.png, POC-0001-Config-1945.txt, 
 POC-0002-Update_existing-1945.txt, POC-0003-New_Cache_Providers-1945.txt


 Java BB.allocateDirect() will allocate native memory out of the JVM and will 
 help reducing the GC pressure in the JVM with a large Cache.
 From some of the basic tests it shows around 50% improvement than doing a 
 normal Object cache.
 In addition this patch provide the users an option to choose 
 BB.allocateDirect or store everything in the heap.

-- 
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] Issue Comment Edited: (CASSANDRA-1969) Use BB for row cache - To Improve GC performance.

2011-03-02 Thread Chris Goffinet (JIRA)

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

Chris Goffinet edited comment on CASSANDRA-1969 at 3/3/11 5:02 AM:
---

Are you sure MaxDirectMemorySize by default is unlimited? I remember seeing the 
default was 64MB..

  was (Author: lenn0x):
Are you MaxDirectMemorySize by default is unlimited? I remember seeing the 
default was 64MB..
  
 Use BB for row cache - To Improve GC performance.
 -

 Key: CASSANDRA-1969
 URL: https://issues.apache.org/jira/browse/CASSANDRA-1969
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
 Environment: Linux and Mac
Reporter: Vijay
Assignee: Vijay
Priority: Minor
 Attachments: 0001-Config-1969.txt, 
 0001-introduce-ICache-InstrumentingCache-IRowCacheProvider.txt, 
 0002-Update_existing-1965.txt, 0002-implement-SerializingCache.txt, 
 0002-implement-SerializingCacheV2.txt, 0003-New_Cache_Providers-1969.txt, 
 0003-add-ICache.isCopying-method.txt, 0004-Null-Check-and-duplicate-bb.txt, 
 0004-TestCase-1969.txt, 1969-rollup-and-config.txt, BB_Cache-1945.png, 
 JMX-Cache-1945.png, Old_Cahce-1945.png, POC-0001-Config-1945.txt, 
 POC-0002-Update_existing-1945.txt, POC-0003-New_Cache_Providers-1945.txt


 Java BB.allocateDirect() will allocate native memory out of the JVM and will 
 help reducing the GC pressure in the JVM with a large Cache.
 From some of the basic tests it shows around 50% improvement than doing a 
 normal Object cache.
 In addition this patch provide the users an option to choose 
 BB.allocateDirect or store everything in the heap.

-- 
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] Commented: (CASSANDRA-1969) Use BB for row cache - To Improve GC performance.

2011-03-02 Thread Chris Goffinet (JIRA)

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

Chris Goffinet commented on CASSANDRA-1969:
---

Maybe I am missing something...

// A user-settable upper limit on the maximum amount of allocatable direct
// buffer memory.  This value may be changed during VM initialization if
// java is launched with -XX:MaxDirectMemorySize=size.
//
// The initial value of this field is arbitrary; during JRE initialization
// it will be reset to the value specified on the command line, if any,
// otherwise to Runtime.getRuntime.maxDirectMemory().
//
private static long directMemory = 64 * 1024 * 1024;

// If this method is invoked during VM initialization, it initializes the
// maximum amount of allocatable direct buffer memory (in bytes) from the
// system property sun.nio.MaxDirectMemorySize.  The system property will
// be removed when it is accessed.
//
// If this method is invoked after the VM is booted, it returns the
// maximum amount of allocatable direct buffer memory.

 public static long maxDirectMemory() {
   if (booted)
   return directMemory;

   Properties p = System.getProperties();
   String s = (String)p.remove(sun.nio.MaxDirectMemorySize);
   System.setProperties(p);

   if (s != null) {
   if (s.equals(-1)) {
   // -XX:MaxDirectMemorySize not given, take default
   directMemory = Runtime.getRuntime().maxMemory();
   } else {
   long l = Long.parseLong(s);
   if (l  -1)
   directMemory = l;
   }
   }

   return directMemory;
   }

 Use BB for row cache - To Improve GC performance.
 -

 Key: CASSANDRA-1969
 URL: https://issues.apache.org/jira/browse/CASSANDRA-1969
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
 Environment: Linux and Mac
Reporter: Vijay
Assignee: Vijay
Priority: Minor
 Attachments: 0001-Config-1969.txt, 
 0001-introduce-ICache-InstrumentingCache-IRowCacheProvider.txt, 
 0002-Update_existing-1965.txt, 0002-implement-SerializingCache.txt, 
 0002-implement-SerializingCacheV2.txt, 0003-New_Cache_Providers-1969.txt, 
 0003-add-ICache.isCopying-method.txt, 0004-Null-Check-and-duplicate-bb.txt, 
 0004-TestCase-1969.txt, 1969-rollup-and-config.txt, BB_Cache-1945.png, 
 JMX-Cache-1945.png, Old_Cahce-1945.png, POC-0001-Config-1945.txt, 
 POC-0002-Update_existing-1945.txt, POC-0003-New_Cache_Providers-1945.txt


 Java BB.allocateDirect() will allocate native memory out of the JVM and will 
 help reducing the GC pressure in the JVM with a large Cache.
 From some of the basic tests it shows around 50% improvement than doing a 
 normal Object cache.
 In addition this patch provide the users an option to choose 
 BB.allocateDirect or store everything in the heap.

-- 
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] Created: (CASSANDRA-2235) Counter AES performance issue

2011-02-24 Thread Chris Goffinet (JIRA)
Counter AES performance issue
-

 Key: CASSANDRA-2235
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2235
 Project: Cassandra
  Issue Type: Bug
Reporter: Chris Goffinet
Assignee: Chris Goffinet
 Fix For: 0.8


We noticed tonight when trying out AES for Counters in trunk, there is a 
serious performance issue when inlining the SSTables. We found that the way we 
are seeking in the file, BRAF keeps flushing out its buffer of 8MB, and we call 
dfile.sync() on every row. We are finalizing a patch to write a new SSTable on 
rebuild, instead of inlining. 

-- 
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] Created: (CASSANDRA-2236) Cli does not support updating replicate_on_write

2011-02-24 Thread Chris Goffinet (JIRA)
Cli does not support updating replicate_on_write


 Key: CASSANDRA-2236
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2236
 Project: Cassandra
  Issue Type: Bug
Reporter: Chris Goffinet
Assignee: Chris Goffinet
Priority: Trivial
 Fix For: 0.8


Add support for updating a column families replicate on write setting.

-- 
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] Updated: (CASSANDRA-2236) Cli does not support updating replicate_on_write

2011-02-24 Thread Chris Goffinet (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-2236?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Chris Goffinet updated CASSANDRA-2236:
--

Attachment: 0001-cli-support-replicate_on_write-via-update-CF.patch

Patch by Kelvin Kakugawa.

 Cli does not support updating replicate_on_write
 

 Key: CASSANDRA-2236
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2236
 Project: Cassandra
  Issue Type: Bug
Reporter: Chris Goffinet
Assignee: Chris Goffinet
Priority: Trivial
 Fix For: 0.8

 Attachments: 0001-cli-support-replicate_on_write-via-update-CF.patch


 Add support for updating a column families replicate on write setting.

-- 
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] Created: (CASSANDRA-2203) Class to measure real memory allocated for an object

2011-02-20 Thread Chris Goffinet (JIRA)
Class to measure real memory allocated for an object


 Key: CASSANDRA-2203
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2203
 Project: Cassandra
  Issue Type: Improvement
Reporter: Chris Goffinet
Assignee: Chris Goffinet
Priority: Trivial


We wanted to share a class we are using internally to measure actual object 
sizes for Hotspot VM. We've been using this on RowCache and Memtables.

-- 
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] Updated: (CASSANDRA-2203) Class to measure real memory allocated for an object

2011-02-20 Thread Chris Goffinet (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-2203?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Chris Goffinet updated CASSANDRA-2203:
--

Attachment: 0001-Class-to-measure-actual-object-size-for-Hotspot-JVM.patch

This requires JSR305 and Guava. Contribution is from Attila Szegedi.

 Class to measure real memory allocated for an object
 

 Key: CASSANDRA-2203
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2203
 Project: Cassandra
  Issue Type: Improvement
Reporter: Chris Goffinet
Assignee: Chris Goffinet
Priority: Trivial
 Attachments: 
 0001-Class-to-measure-actual-object-size-for-Hotspot-JVM.patch


 We wanted to share a class we are using internally to measure actual object 
 sizes for Hotspot VM. We've been using this on RowCache and Memtables.

-- 
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] Commented: (CASSANDRA-1902) Migrate cached pages during compaction

2011-02-17 Thread Chris Goffinet (JIRA)

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

Chris Goffinet commented on CASSANDRA-1902:
---

I'd like to propose a change that might work much better for longer 
compactions: We write out a new SSTable and using posix_fadvice (like we do 
today), and make sure nothing is in cache. After the file is done being 
written, we call getCachedPages() across all sstables used in compaction and 
compute which pages are hot AFTER compaction is complete. This would allow us 
to to then sweep through the new SSTable written and mark pages that were hot. 
If we do the process while file is being written and we have a compaction that 
might take an hour, by the time it's done, the cache could churn.

 Migrate cached pages during compaction 
 ---

 Key: CASSANDRA-1902
 URL: https://issues.apache.org/jira/browse/CASSANDRA-1902
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Affects Versions: 0.7.1
Reporter: T Jake Luciani
Assignee: T Jake Luciani
 Fix For: 0.7.3

 Attachments: 
 0001-CASSANDRA-1902-cache-migration-impl-with-config-option.txt

   Original Estimate: 32h
  Time Spent: 24h
  Remaining Estimate: 8h

 Post CASSANDRA-1470 there is an opportunity to migrate cached pages from a 
 pre-compacted CF during the compaction process.  
 First, add a method to MmappedSegmentFile: long[] pagesInPageCache() that 
 uses the posix mincore() function to detect the offsets of pages for this 
 file currently in page cache.
 Then add getActiveKeys() which uses underlying pagesInPageCache() to get the 
 keys actually in the page cache.
 use getActiveKeys() to detect which SSTables being compacted are in the os 
 cache and make sure the subsequent pages in the new compacted SSTable are 
 kept in the page cache for these keys. This will minimize the impact of 
 compacting a hot SSTable.
 A simpler yet similar approach is described here: 
 http://insights.oetiker.ch/linux/fadvise/

-- 
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] Commented: (CASSANDRA-1902) Migrate cached pages during compaction

2011-02-17 Thread Chris Goffinet (JIRA)

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

Chris Goffinet commented on CASSANDRA-1902:
---

If we have 1TB of data, with 4KB pages, we computed storing those as integers 
to about 500MB.

 Migrate cached pages during compaction 
 ---

 Key: CASSANDRA-1902
 URL: https://issues.apache.org/jira/browse/CASSANDRA-1902
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Affects Versions: 0.7.1
Reporter: T Jake Luciani
Assignee: T Jake Luciani
 Fix For: 0.7.3

 Attachments: 
 0001-CASSANDRA-1902-cache-migration-impl-with-config-option.txt

   Original Estimate: 32h
  Time Spent: 24h
  Remaining Estimate: 8h

 Post CASSANDRA-1470 there is an opportunity to migrate cached pages from a 
 pre-compacted CF during the compaction process.  
 First, add a method to MmappedSegmentFile: long[] pagesInPageCache() that 
 uses the posix mincore() function to detect the offsets of pages for this 
 file currently in page cache.
 Then add getActiveKeys() which uses underlying pagesInPageCache() to get the 
 keys actually in the page cache.
 use getActiveKeys() to detect which SSTables being compacted are in the os 
 cache and make sure the subsequent pages in the new compacted SSTable are 
 kept in the page cache for these keys. This will minimize the impact of 
 compacting a hot SSTable.
 A simpler yet similar approach is described here: 
 http://insights.oetiker.ch/linux/fadvise/

-- 
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] Commented: (CASSANDRA-1902) Migrate cached pages during compaction

2011-02-17 Thread Chris Goffinet (JIRA)

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

Chris Goffinet commented on CASSANDRA-1902:
---

That's worst case too. I don't know of anyone running a node with 1TB+ of 
memory. Since they would just be hot pages.

 Migrate cached pages during compaction 
 ---

 Key: CASSANDRA-1902
 URL: https://issues.apache.org/jira/browse/CASSANDRA-1902
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Affects Versions: 0.7.1
Reporter: T Jake Luciani
Assignee: T Jake Luciani
 Fix For: 0.7.3

 Attachments: 
 0001-CASSANDRA-1902-cache-migration-impl-with-config-option.txt

   Original Estimate: 32h
  Time Spent: 24h
  Remaining Estimate: 8h

 Post CASSANDRA-1470 there is an opportunity to migrate cached pages from a 
 pre-compacted CF during the compaction process.  
 First, add a method to MmappedSegmentFile: long[] pagesInPageCache() that 
 uses the posix mincore() function to detect the offsets of pages for this 
 file currently in page cache.
 Then add getActiveKeys() which uses underlying pagesInPageCache() to get the 
 keys actually in the page cache.
 use getActiveKeys() to detect which SSTables being compacted are in the os 
 cache and make sure the subsequent pages in the new compacted SSTable are 
 kept in the page cache for these keys. This will minimize the impact of 
 compacting a hot SSTable.
 A simpler yet similar approach is described here: 
 http://insights.oetiker.ch/linux/fadvise/

-- 
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] Issue Comment Edited: (CASSANDRA-1902) Migrate cached pages during compaction

2011-02-17 Thread Chris Goffinet (JIRA)

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

Chris Goffinet edited comment on CASSANDRA-1902 at 2/18/11 1:52 AM:


Couldn't we build a list when reading/writing of the SSTables the first time, 
so that after new SSTable write is finished, we just mmap through the page 
cache, and we already know the new locations on the first pass?

  was (Author: lenn0x):
Couldn't we build a list when reading/writing of the mappings, so that 
after write is finished, we just mmap through the page cache, and we already 
know the new locations on the first pass?
  
 Migrate cached pages during compaction 
 ---

 Key: CASSANDRA-1902
 URL: https://issues.apache.org/jira/browse/CASSANDRA-1902
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Affects Versions: 0.7.1
Reporter: T Jake Luciani
Assignee: T Jake Luciani
 Fix For: 0.7.3

 Attachments: 
 0001-CASSANDRA-1902-cache-migration-impl-with-config-option.txt

   Original Estimate: 32h
  Time Spent: 24h
  Remaining Estimate: 8h

 Post CASSANDRA-1470 there is an opportunity to migrate cached pages from a 
 pre-compacted CF during the compaction process.  
 First, add a method to MmappedSegmentFile: long[] pagesInPageCache() that 
 uses the posix mincore() function to detect the offsets of pages for this 
 file currently in page cache.
 Then add getActiveKeys() which uses underlying pagesInPageCache() to get the 
 keys actually in the page cache.
 use getActiveKeys() to detect which SSTables being compacted are in the os 
 cache and make sure the subsequent pages in the new compacted SSTable are 
 kept in the page cache for these keys. This will minimize the impact of 
 compacting a hot SSTable.
 A simpler yet similar approach is described here: 
 http://insights.oetiker.ch/linux/fadvise/

-- 
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] Commented: (CASSANDRA-1902) Migrate cached pages during compaction

2011-02-17 Thread Chris Goffinet (JIRA)

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

Chris Goffinet commented on CASSANDRA-1902:
---

Couldn't we build a list when reading/writing of the mappings, so that after 
write is finished, we just mmap through the page cache, and we already know the 
new locations on the first pass?

 Migrate cached pages during compaction 
 ---

 Key: CASSANDRA-1902
 URL: https://issues.apache.org/jira/browse/CASSANDRA-1902
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Affects Versions: 0.7.1
Reporter: T Jake Luciani
Assignee: T Jake Luciani
 Fix For: 0.7.3

 Attachments: 
 0001-CASSANDRA-1902-cache-migration-impl-with-config-option.txt

   Original Estimate: 32h
  Time Spent: 24h
  Remaining Estimate: 8h

 Post CASSANDRA-1470 there is an opportunity to migrate cached pages from a 
 pre-compacted CF during the compaction process.  
 First, add a method to MmappedSegmentFile: long[] pagesInPageCache() that 
 uses the posix mincore() function to detect the offsets of pages for this 
 file currently in page cache.
 Then add getActiveKeys() which uses underlying pagesInPageCache() to get the 
 keys actually in the page cache.
 use getActiveKeys() to detect which SSTables being compacted are in the os 
 cache and make sure the subsequent pages in the new compacted SSTable are 
 kept in the page cache for these keys. This will minimize the impact of 
 compacting a hot SSTable.
 A simpler yet similar approach is described here: 
 http://insights.oetiker.ch/linux/fadvise/

-- 
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] Created: (CASSANDRA-2187) Cassandra Cli hangs forever if schema does not settle within timeout window

2011-02-17 Thread Chris Goffinet (JIRA)
Cassandra Cli hangs forever if schema does not settle within timeout window
---

 Key: CASSANDRA-2187
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2187
 Project: Cassandra
  Issue Type: Bug
Reporter: Chris Goffinet
Assignee: Chris Goffinet
Priority: Minor


validateSchemaIsSettled will hang in the while loop since we never update start 
if migrations never settle.


-- 
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] Updated: (CASSANDRA-2187) Cassandra Cli hangs forever if schema does not settle within timeout window

2011-02-17 Thread Chris Goffinet (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-2187?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Chris Goffinet updated CASSANDRA-2187:
--

Attachment: 0001-Fix-Cassandra-cli-to-respect-timeout-if-schema-does-.patch

 Cassandra Cli hangs forever if schema does not settle within timeout window
 ---

 Key: CASSANDRA-2187
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2187
 Project: Cassandra
  Issue Type: Bug
Reporter: Chris Goffinet
Assignee: Chris Goffinet
Priority: Minor
 Attachments: 
 0001-Fix-Cassandra-cli-to-respect-timeout-if-schema-does-.patch


 validateSchemaIsSettled will hang in the while loop since we never update 
 start if migrations never settle.

-- 
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] Created: (CASSANDRA-2178) Memtable Flush writers doesn't actually flush in parallel

2011-02-16 Thread Chris Goffinet (JIRA)
Memtable Flush writers doesn't actually flush in parallel
-

 Key: CASSANDRA-2178
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2178
 Project: Cassandra
  Issue Type: Bug
Reporter: Chris Goffinet
Assignee: Chris Goffinet
Priority: Minor


The flushWriter JMXEnabledThreadPoolExecutor sets the core pool min to 1, and 
sets the LBQ to DatabaseDescriptor.getFlushWriters(). Increasing 
memtable_flush_writers should allow us to flush more in parallel. The pool will 
not grow until LBQ fills up to DatabaseDescriptor.getFlushWriters(). 

-- 
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] Updated: (CASSANDRA-2178) Memtable Flush writers doesn't actually flush in parallel

2011-02-16 Thread Chris Goffinet (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-2178?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Chris Goffinet updated CASSANDRA-2178:
--

Affects Version/s: 0.8
   0.7.2
Fix Version/s: 0.8

 Memtable Flush writers doesn't actually flush in parallel
 -

 Key: CASSANDRA-2178
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2178
 Project: Cassandra
  Issue Type: Bug
Affects Versions: 0.7.2, 0.8
Reporter: Chris Goffinet
Assignee: Chris Goffinet
Priority: Minor
 Fix For: 0.8

 Attachments: 
 0001-Set-the-core-min-pool-size-to-memtable_flush_writers.patch


 The flushWriter JMXEnabledThreadPoolExecutor sets the core pool min to 1, and 
 sets the LBQ to DatabaseDescriptor.getFlushWriters(). Increasing 
 memtable_flush_writers should allow us to flush more in parallel. The pool 
 will not grow until LBQ fills up to DatabaseDescriptor.getFlushWriters(). 

-- 
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] Updated: (CASSANDRA-2178) Memtable Flush writers doesn't actually flush in parallel

2011-02-16 Thread Chris Goffinet (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-2178?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Chris Goffinet updated CASSANDRA-2178:
--

Attachment: 0001-Set-the-core-min-pool-size-to-memtable_flush_writers.patch

 Memtable Flush writers doesn't actually flush in parallel
 -

 Key: CASSANDRA-2178
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2178
 Project: Cassandra
  Issue Type: Bug
Affects Versions: 0.7.2, 0.8
Reporter: Chris Goffinet
Assignee: Chris Goffinet
Priority: Minor
 Fix For: 0.8

 Attachments: 
 0001-Set-the-core-min-pool-size-to-memtable_flush_writers.patch


 The flushWriter JMXEnabledThreadPoolExecutor sets the core pool min to 1, and 
 sets the LBQ to DatabaseDescriptor.getFlushWriters(). Increasing 
 memtable_flush_writers should allow us to flush more in parallel. The pool 
 will not grow until LBQ fills up to DatabaseDescriptor.getFlushWriters(). 

-- 
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] Updated: (CASSANDRA-2178) Memtable Flush writers doesn't actually flush in parallel

2011-02-16 Thread Chris Goffinet (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-2178?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Chris Goffinet updated CASSANDRA-2178:
--

Attachment: 
0001-Set-the-core-min-pool-size-to-memtable_flush_writers-v2.patch

Use a SynchronousQueue instead

 Memtable Flush writers doesn't actually flush in parallel
 -

 Key: CASSANDRA-2178
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2178
 Project: Cassandra
  Issue Type: Bug
Affects Versions: 0.7.2, 0.8
Reporter: Chris Goffinet
Assignee: Chris Goffinet
Priority: Minor
 Fix For: 0.8

 Attachments: 
 0001-Set-the-core-min-pool-size-to-memtable_flush_writers-v2.patch, 
 0001-Set-the-core-min-pool-size-to-memtable_flush_writers.patch


 The flushWriter JMXEnabledThreadPoolExecutor sets the core pool min to 1, and 
 sets the LBQ to DatabaseDescriptor.getFlushWriters(). Increasing 
 memtable_flush_writers should allow us to flush more in parallel. The pool 
 will not grow until LBQ fills up to DatabaseDescriptor.getFlushWriters(). 

-- 
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] Commented: (CASSANDRA-2178) Memtable Flush writers doesn't actually flush in parallel

2011-02-16 Thread Chris Goffinet (JIRA)

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

Chris Goffinet commented on CASSANDRA-2178:
---

commited to 0.7 and merged into trunk

 Memtable Flush writers doesn't actually flush in parallel
 -

 Key: CASSANDRA-2178
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2178
 Project: Cassandra
  Issue Type: Bug
Affects Versions: 0.7.2, 0.8
Reporter: Chris Goffinet
Assignee: Chris Goffinet
Priority: Minor
 Fix For: 0.8

 Attachments: 
 0001-Set-the-core-min-pool-size-to-memtable_flush_writers-v2.patch, 
 0001-Set-the-core-min-pool-size-to-memtable_flush_writers.patch


 The flushWriter JMXEnabledThreadPoolExecutor sets the core pool min to 1, and 
 sets the LBQ to DatabaseDescriptor.getFlushWriters(). Increasing 
 memtable_flush_writers should allow us to flush more in parallel. The pool 
 will not grow until LBQ fills up to DatabaseDescriptor.getFlushWriters(). 

-- 
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] Resolved: (CASSANDRA-2178) Memtable Flush writers doesn't actually flush in parallel

2011-02-16 Thread Chris Goffinet (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-2178?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Chris Goffinet resolved CASSANDRA-2178.
---

   Resolution: Fixed
Fix Version/s: 0.7.3

 Memtable Flush writers doesn't actually flush in parallel
 -

 Key: CASSANDRA-2178
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2178
 Project: Cassandra
  Issue Type: Bug
Affects Versions: 0.7.2, 0.8
Reporter: Chris Goffinet
Assignee: Chris Goffinet
Priority: Minor
 Fix For: 0.7.3, 0.8

 Attachments: 
 0001-Set-the-core-min-pool-size-to-memtable_flush_writers-v2.patch, 
 0001-Set-the-core-min-pool-size-to-memtable_flush_writers.patch


 The flushWriter JMXEnabledThreadPoolExecutor sets the core pool min to 1, and 
 sets the LBQ to DatabaseDescriptor.getFlushWriters(). Increasing 
 memtable_flush_writers should allow us to flush more in parallel. The pool 
 will not grow until LBQ fills up to DatabaseDescriptor.getFlushWriters(). 

-- 
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] Created: (CASSANDRA-2135) Add the ability to enable/disable Thrift through nodetool

2011-02-08 Thread Chris Goffinet (JIRA)
Add the ability to enable/disable Thrift through nodetool
-

 Key: CASSANDRA-2135
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2135
 Project: Cassandra
  Issue Type: Improvement
Reporter: Chris Goffinet
Assignee: Chris Goffinet
Priority: Trivial




-- 
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] Updated: (CASSANDRA-2135) Add the ability to enable/disable Thrift through nodetool

2011-02-08 Thread Chris Goffinet (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-2135?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Chris Goffinet updated CASSANDRA-2135:
--

Attachment: 0001-Support-enable-disable-of-Thrift-server-from-nodetoo.patch

 Add the ability to enable/disable Thrift through nodetool
 -

 Key: CASSANDRA-2135
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2135
 Project: Cassandra
  Issue Type: Improvement
Reporter: Chris Goffinet
Assignee: Chris Goffinet
Priority: Trivial
 Fix For: 0.7.1

 Attachments: 
 0001-Support-enable-disable-of-Thrift-server-from-nodetoo.patch




-- 
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] Created: (CASSANDRA-2141) Expose cassandra version in nodetool info

2011-02-08 Thread Chris Goffinet (JIRA)
Expose cassandra version in nodetool info
-

 Key: CASSANDRA-2141
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2141
 Project: Cassandra
  Issue Type: Improvement
Reporter: Chris Goffinet
Assignee: Chris Goffinet
Priority: Trivial
 Fix For: 0.7.1




-- 
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] Created: (CASSANDRA-2143) Uncaught exceptions counter

2011-02-08 Thread Chris Goffinet (JIRA)
Uncaught exceptions counter
---

 Key: CASSANDRA-2143
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2143
 Project: Cassandra
  Issue Type: Improvement
Reporter: Chris Goffinet
Assignee: Chris Goffinet
Priority: Trivial


We should keep a counter that is exposed through JMX of how many errors 
occurred that were thrown in the uncaught exception handler. This allows us to 
do better alerting if an error occurred instead of grepping logs.

-- 
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] Created: (CASSANDRA-2130) Allow operator to pause/resume compaction through JMX/nodetool

2011-02-07 Thread Chris Goffinet (JIRA)
Allow operator to pause/resume compaction through JMX/nodetool
--

 Key: CASSANDRA-2130
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2130
 Project: Cassandra
  Issue Type: Improvement
Reporter: Chris Goffinet
Priority: Trivial


There are cases where it would be helpful to pause/resume a compaction in 
process over JMX/nodetool.

-- 
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] Commented: (CASSANDRA-2096) InternalException on system_update_column_family if column_metadata is not assigned

2011-02-07 Thread Chris Goffinet (JIRA)

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

Chris Goffinet commented on CASSANDRA-2096:
---

Merged from 0.7

 InternalException on system_update_column_family if column_metadata is not 
 assigned
 ---

 Key: CASSANDRA-2096
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2096
 Project: Cassandra
  Issue Type: Bug
Affects Versions: 0.7.1, 0.8
Reporter: Chris Goffinet
Assignee: Chris Goffinet
Priority: Minor
 Fix For: 0.7.1, 0.8

 Attachments: 
 0001-Fix-internal-exception-when-not-passing-in-column_me.patch


 Steps to reproduce:
 Execute system_update_column_family without passing in column_metadata in 
 CfDef object.
 Error:
 java.lang.NullPointerException
   at 
 org.apache.cassandra.config.CFMetaData.convertToAvro(CFMetaData.java:827)
   at 
 org.apache.cassandra.thrift.CassandraServer.system_update_column_family(CassandraServer.java:882)
   at 
 org.apache.cassandra.thrift.Cassandra$Processor$system_update_column_family.process(Cassandra.java:4518)
   at 
 org.apache.cassandra.thrift.Cassandra$Processor.process(Cassandra.java:3227)
   at 
 org.apache.cassandra.thrift.CustomTThreadPoolServer$WorkerProcess.run(CustomTThreadPoolServer.java:167)
   at 
 java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
   at 
 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
   at java.lang.Thread.run(Thread.java:619)

-- 
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira




  1   2   >