[Cassandra Wiki] Update of Roger Mbiama by Roger Mbiama

2011-08-15 Thread Apache Wiki
Dear Wiki user,

You have subscribed to a wiki page or wiki category on Cassandra Wiki for 
change notification.

The Roger Mbiama page has been changed by Roger Mbiama:
http://wiki.apache.org/cassandra/Roger%20Mbiama

Comment:
Angosso

New page:
Describe Roger Mbiama here.

conf/README.txt
Required configuration files


cassandra.yaml: main Cassandra configuration file
log4j-server.proprties: log4j configuration file for Cassandra server


Optional configuration files


access.properties: used for authorization
passwd.properties: used for authentication
cassandra-rack.properties: used by PropertyFileSnitch

# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# License); you may not use this file except in compliance
# with the License.  You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an AS IS BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

calculate_heap_sizes()
{
case `uname` in
Linux)
system_memory_in_mb=`free -m | awk '/Mem:/ {print $2}'`
system_cpu_cores=`egrep -c 'processor([[:space:]]+):.*' 
/proc/cpuinfo`
break
;;
FreeBSD)
system_memory_in_bytes=`sysctl hw.physmem | awk '{print $2}'`
system_memory_in_mb=`expr $system_memory_in_bytes / 1024 / 1024`
system_cpu_cores=`sysctl hw.ncpu | awk '{print $2}'`
break
;;
SunOS)
system_memory_in_mb=`prtconf | awk '/Memory size:/ {print $3}'`
system_cpu_cores=`psrinfo | wc -l`
break
;;
*)
# assume reasonable defaults for e.g. a modern desktop or
# cheap server
system_memory_in_mb=2048
system_cpu_cores=2
;;
esac
max_heap_size_in_mb=`expr $system_memory_in_mb / 2`
MAX_HEAP_SIZE=${max_heap_size_in_mb}M

# Young gen: min(max_sensible_per_modern_cpu_core * num_cores, 1/4 * heap 
size)
max_sensible_yg_per_core_in_mb=100
max_sensible_yg_in_mb=`expr $max_sensible_yg_per_core_in_mb * 
$system_cpu_cores`

desired_yg_in_mb=`expr $max_heap_size_in_mb / 4`

if [ $desired_yg_in_mb -gt $max_sensible_yg_in_mb ]
then
HEAP_NEWSIZE=${max_sensible_yg_in_mb}M
else
HEAP_NEWSIZE=${desired_yg_in_mb}M
fi
}

# Override these to set the amount of memory to allocate to the JVM at
# start-up. For production use you almost certainly want to adjust
# this for your environment. MAX_HEAP_SIZE is the total amount of
# memory dedicated to the Java heap; HEAP_NEWSIZE refers to the size
# of the young generation. Both MAX_HEAP_SIZE and HEAP_NEWSIZE should
# be either set or not (if you set one, set the other).
#
# The main trade-off for the young generation is that the larger it
# is, the longer GC pause times will be. The shorter it is, the more
# expensive GC will be (usually).
#
# The example HEAP_NEWSIZE assumes a modern 8-core+ machine for decent pause
# times. If in doubt, and if you do not particularly want to tweak, go with
# 100 MB per physical CPU core.

#MAX_HEAP_SIZE=4G
#HEAP_NEWSIZE=800M

if [ x$MAX_HEAP_SIZE = x ]  [ x$HEAP_NEWSIZE = x ]; then
calculate_heap_sizes
else
if [ x$MAX_HEAP_SIZE = x ] ||  [ x$HEAP_NEWSIZE = x ]; then
echo please set or unset MAX_HEAP_SIZE and HEAP_NEWSIZE in pairs (see 
cassandra-env.sh)
exit 1
fi
fi

# Specifies the default port over which Cassandra will be available for
# JMX connections.
JMX_PORT=7199


# Here we create the arguments that will get passed to the jvm when
# starting cassandra.

# enable assertions.  disabling this in production will give a modest
# performance benefit (around 5%).
JVM_OPTS=$JVM_OPTS -ea

# add the jamm javaagent
check_openjdk=`${JAVA:-java} -version 21 | awk '{if (NR == 2) {print $1}}'`
if [ $check_openjdk != OpenJDK ]
then
JVM_OPTS=$JVM_OPTS -javaagent:$CASSANDRA_HOME/lib/jamm-0.2.2.jar
fi

# enable thread priorities, primarily so we can give periodic tasks
# a lower priority to avoid interfering with client workload
JVM_OPTS=$JVM_OPTS -XX:+UseThreadPriorities
# allows lowering thread priority without being root.  see
# http://tech.stolsvik.com/2010/01/linux-java-thread-priorities-workaround.html
JVM_OPTS=$JVM_OPTS -XX:ThreadPriorityPolicy=42

# min and max heap sizes should be set to the same value to avoid
# stop-the-world GC pauses during resize, and so that we can lock the
# heap in memory on startup to 

[jira] [Created] (CASSANDRA-3037) Could not get input splits Caused by: java.io.IOException: failed connecting to all endpoints slave1/123.198.69.242

2011-08-15 Thread Anton Vedeshin (JIRA)
Could not get input splits Caused by: java.io.IOException: failed connecting to 
all endpoints slave1/123.198.69.242
---

 Key: CASSANDRA-3037
 URL: https://issues.apache.org/jira/browse/CASSANDRA-3037
 Project: Cassandra
  Issue Type: Bug
  Components: Hadoop
Affects Versions: 0.8.4
 Environment: Ubuntu 10.04 LTS
Hadoop from Cloudera 0.20.203
Latest java
Reporter: Anton Vedeshin
Priority: Blocker


After upgrade of cassandra from 0.8.2 to 0.8.4, got this error, before upgrade 
everything was working fine
I have restarted cassandra, removed data, etc. nothing helps 
I have 6 identical machines in the cloud, before it was working fine. If I make 
netstat then it shows port 9160 listening nodetool ... ring - responces with 6 
machines UP.

Finally I have truncated all 6 servers and reinstalled hadoop + cassandra 0.8.4 
from scratch.
compiled and tried to execute word_cound
receive the same error as after upgrade

Error:

11/08/15 15:23:54 INFO WordCount: output reducer type: cassandra
11/08/15 15:23:54 INFO jvm.JvmMetrics: Initializing JVM Metrics with 
processName=JobTracker, sessionId=
Exception in thread main java.io.IOException: Could not get input splits
at 
org.apache.cassandra.hadoop.ColumnFamilyInputFormat.getSplits(ColumnFamilyInputFormat.java:157)
at org.apache.hadoop.mapred.JobClient.writeNewSplits(JobClient.java:885)
at 
org.apache.hadoop.mapred.JobClient.submitJobInternal(JobClient.java:779)
at org.apache.hadoop.mapreduce.Job.submit(Job.java:432)
at org.apache.hadoop.mapreduce.Job.waitForCompletion(Job.java:447)
at WordCount.run(Unknown Source)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65)
at WordCount.main(Unknown Source)
Caused by: java.util.concurrent.ExecutionException: java.io.IOException: failed 
connecting to all endpoints slave1/154.198.69.242
at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222)
at java.util.concurrent.FutureTask.get(FutureTask.java:83)
at 
org.apache.cassandra.hadoop.ColumnFamilyInputFormat.getSplits(ColumnFamilyInputFormat.java:153)
... 7 more
Caused by: java.io.IOException: failed connecting to all endpoints 
slave1/154.198.69.242
at 
org.apache.cassandra.hadoop.ColumnFamilyInputFormat.getSubSplits(ColumnFamilyInputFormat.java:234)
at 
org.apache.cassandra.hadoop.ColumnFamilyInputFormat.access$200(ColumnFamilyInputFormat.java:70)
at 
org.apache.cassandra.hadoop.ColumnFamilyInputFormat$SplitCallable.call(ColumnFamilyInputFormat.java:190)
at 
org.apache.cassandra.hadoop.ColumnFamilyInputFormat$SplitCallable.call(ColumnFamilyInputFormat.java:175)
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)

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




[jira] [Commented] (CASSANDRA-2500) Ruby dbi client (for CQL) that conforms to AR:ConnectionAdapter

2011-08-15 Thread Kelley Reynolds (JIRA)

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

Kelley Reynolds commented on CASSANDRA-2500:


DBI-like driver is located at https://github.com/kreynolds/cassandra-cql.

One thing to note is that using this driver is incompatible (mostly) with using 
fauna/cassandra because the thrift bindings use the same namespace and will 
redeclare constants. This should be solved with a dedicated gem such as located 
at https://github.com/kreynolds/cassandra-thrift. Would it be possible to 
automate generation and deployment of the shared gem with the cassandra release 
process or is that to be left as an exercise for the client developers?

 Ruby dbi client (for CQL) that conforms to AR:ConnectionAdapter
 ---

 Key: CASSANDRA-2500
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2500
 Project: Cassandra
  Issue Type: Task
  Components: API
Reporter: Jon Hermes
Assignee: Kelley Reynolds
  Labels: cql
 Fix For: 0.8.5

 Attachments: 2500.txt, genthriftrb.txt, rbcql-0.0.0.tgz


 Create a ruby driver for CQL.
 Lacking something standard (such as py-dbapi), going with something common 
 instead -- RoR ActiveRecord Connection Adapter 
 (http://api.rubyonrails.org/classes/ActiveRecord/ConnectionAdapters/AbstractAdapter.html).

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




[jira] [Commented] (CASSANDRA-2034) Make Read Repair unnecessary when Hinted Handoff is enabled

2011-08-15 Thread Patricio Echague (JIRA)

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

Patricio Echague commented on CASSANDRA-2034:
-

I can do that.

Also, I'm not quite happy with waiting for local hints to complete per 
mutation. I'm thinking of adding them to the handler so that we can wait for 
the hints after scheduling all the mutations.

It has pros and cons:

Pros: If the coordinator node is overwhelmed, we can tell the client right away.
Cons: Por large mutations, we are actually blocking for local hints (if any) 
per mutation which is not ideal.

 Make Read Repair unnecessary when Hinted Handoff is enabled
 ---

 Key: CASSANDRA-2034
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2034
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Reporter: Jonathan Ellis
Assignee: Patricio Echague
 Fix For: 1.0

 Attachments: 2034-formatting.txt, CASSANDRA-2034-trunk-v10.patch, 
 CASSANDRA-2034-trunk-v11.patch, CASSANDRA-2034-trunk-v11.patch, 
 CASSANDRA-2034-trunk-v12.patch, CASSANDRA-2034-trunk-v13.patch, 
 CASSANDRA-2034-trunk-v2.patch, CASSANDRA-2034-trunk-v3.patch, 
 CASSANDRA-2034-trunk-v4.patch, CASSANDRA-2034-trunk-v5.patch, 
 CASSANDRA-2034-trunk-v6.patch, CASSANDRA-2034-trunk-v7.patch, 
 CASSANDRA-2034-trunk-v8.patch, CASSANDRA-2034-trunk-v9.patch, 
 CASSANDRA-2034-trunk.patch

   Original Estimate: 8h
  Remaining Estimate: 8h

 Currently, HH is purely an optimization -- if a machine goes down, enabling 
 HH means RR/AES will have less work to do, but you can't disable RR entirely 
 in most situations since HH doesn't kick in until the FailureDetector does.
 Let's add a scheduled task to the mutate path, such that we return to the 
 client normally after ConsistencyLevel is achieved, but after RpcTimeout we 
 check the responseHandler write acks and write local hints for any missing 
 targets.
 This would making disabling RR when HH is enabled a much more reasonable 
 option, which has a huge impact on read throughput.

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




[jira] [Commented] (CASSANDRA-2034) Make Read Repair unnecessary when Hinted Handoff is enabled

2011-08-15 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis commented on CASSANDRA-2034:
---

Yes, that should be in mutate() or the handler so the waiting is parallelized.

 Make Read Repair unnecessary when Hinted Handoff is enabled
 ---

 Key: CASSANDRA-2034
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2034
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Reporter: Jonathan Ellis
Assignee: Patricio Echague
 Fix For: 1.0

 Attachments: 2034-formatting.txt, CASSANDRA-2034-trunk-v10.patch, 
 CASSANDRA-2034-trunk-v11.patch, CASSANDRA-2034-trunk-v11.patch, 
 CASSANDRA-2034-trunk-v12.patch, CASSANDRA-2034-trunk-v13.patch, 
 CASSANDRA-2034-trunk-v2.patch, CASSANDRA-2034-trunk-v3.patch, 
 CASSANDRA-2034-trunk-v4.patch, CASSANDRA-2034-trunk-v5.patch, 
 CASSANDRA-2034-trunk-v6.patch, CASSANDRA-2034-trunk-v7.patch, 
 CASSANDRA-2034-trunk-v8.patch, CASSANDRA-2034-trunk-v9.patch, 
 CASSANDRA-2034-trunk.patch

   Original Estimate: 8h
  Remaining Estimate: 8h

 Currently, HH is purely an optimization -- if a machine goes down, enabling 
 HH means RR/AES will have less work to do, but you can't disable RR entirely 
 in most situations since HH doesn't kick in until the FailureDetector does.
 Let's add a scheduled task to the mutate path, such that we return to the 
 client normally after ConsistencyLevel is achieved, but after RpcTimeout we 
 check the responseHandler write acks and write local hints for any missing 
 targets.
 This would making disabling RR when HH is enabled a much more reasonable 
 option, which has a huge impact on read throughput.

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




[jira] [Updated] (CASSANDRA-2820) Re-introduce FastByteArrayInputStream (and Output equivalent)

2011-08-15 Thread Paul Loy (JIRA)

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

Paul Loy updated CASSANDRA-2820:


Attachment: fast_bytearray_iostreams_harmony-patch-5.txt

 Re-introduce FastByteArrayInputStream (and Output equivalent)
 -

 Key: CASSANDRA-2820
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2820
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Affects Versions: 0.8.0
 Environment: n/a
Reporter: Paul Loy
Priority: Minor
  Labels: bytearrayinputstream, bytearrayoutputstream, license, 
 synchronized
 Fix For: 1.0

 Attachments: fast_bytearray_iostreams_harmony-patch-2.txt, 
 fast_bytearray_iostreams_harmony-patch-3.txt, 
 fast_bytearray_iostreams_harmony-patch-4.txt, 
 fast_bytearray_iostreams_harmony-patch-5.txt


 In https://issues.apache.org/jira/browse/CASSANDRA-37 
 FastByteArrayInputStream and FastByteArrayOutputStream were removed due to 
 being code copied from the JDK and then subsequently modified. The JDK 
 license is incompatible with Apache 2 license so the code had to go.
 I have since had a look at the performance of the JDK ByteArrayInputStream 
 and a FastByteArrayInputStream (i.e. one with synchronized methods made 
 un-synchronized) and seen the difference is significant.
 After a warmup-period of 1 loops I get the following for 1 loops 
 through a 128000 byte array:
 bais : 3513ms
 fbais: 72ms
 This varies depending on the OS, machine and Java version, but it's always in 
 favour of the FastByteArrayInputStream as you might expect.
 Then, at Jonathan Ellis' suggestion, I tried this using a modified Apache 
 Harmony ByteArrayInputStream - i.e. one whose license is compatible - and the 
 results were the same. A significant boost.
 I will attach a patch with changes for the 0.8.0 tag.

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




[jira] [Commented] (CASSANDRA-2500) Ruby dbi client (for CQL) that conforms to AR:ConnectionAdapter

2011-08-15 Thread Ryan King (JIRA)

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

Ryan King commented on CASSANDRA-2500:
--

What would we need to change in fauna/cassandra?

 Ruby dbi client (for CQL) that conforms to AR:ConnectionAdapter
 ---

 Key: CASSANDRA-2500
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2500
 Project: Cassandra
  Issue Type: Task
  Components: API
Reporter: Jon Hermes
Assignee: Kelley Reynolds
  Labels: cql
 Fix For: 0.8.5

 Attachments: 2500.txt, genthriftrb.txt, rbcql-0.0.0.tgz


 Create a ruby driver for CQL.
 Lacking something standard (such as py-dbapi), going with something common 
 instead -- RoR ActiveRecord Connection Adapter 
 (http://api.rubyonrails.org/classes/ActiveRecord/ConnectionAdapters/AbstractAdapter.html).

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




[jira] [Commented] (CASSANDRA-2500) Ruby dbi client (for CQL) that conforms to AR:ConnectionAdapter

2011-08-15 Thread Kelley Reynolds (JIRA)

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

Kelley Reynolds commented on CASSANDRA-2500:


As you know there are several ways to solve that but a common cassandra-thrift 
gem (maintained by .. somebody) is one way. Fauna has the marketshare so I'm 
open to suggestions :)

 Ruby dbi client (for CQL) that conforms to AR:ConnectionAdapter
 ---

 Key: CASSANDRA-2500
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2500
 Project: Cassandra
  Issue Type: Task
  Components: API
Reporter: Jon Hermes
Assignee: Kelley Reynolds
  Labels: cql
 Fix For: 0.8.5

 Attachments: 2500.txt, genthriftrb.txt, rbcql-0.0.0.tgz


 Create a ruby driver for CQL.
 Lacking something standard (such as py-dbapi), going with something common 
 instead -- RoR ActiveRecord Connection Adapter 
 (http://api.rubyonrails.org/classes/ActiveRecord/ConnectionAdapters/AbstractAdapter.html).

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




[jira] [Created] (CASSANDRA-3038) nodetool snapshot does not handle keyspace arguments correctly

2011-08-15 Thread Nate McCall (JIRA)
nodetool snapshot does not handle keyspace arguments correctly
--

 Key: CASSANDRA-3038
 URL: https://issues.apache.org/jira/browse/CASSANDRA-3038
 Project: Cassandra
  Issue Type: Bug
  Components: Tools
Affects Versions: 0.8.4
Reporter: Nate McCall
Assignee: Nate McCall
Priority: Minor


Given the following invocation:
./bin/nodetool snapshot Keyspace1 -t keyspace1_snapshot -h localhost

Snapshots are made for all keyspaces

Given a multi-keyspace invocation:
./bin/nodetool snapshot Keyspace1 Keyspace2 Keyspac3 -t keyspace1_snapshot -h 
localhost

Snapshots will be made for Keyspace2 and Keyspace3 but not Keyspace1. 

It appears there is just some antiquated command argument noodling in 
NodeCmd#handleSnapshots

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




[jira] [Updated] (CASSANDRA-3038) nodetool snapshot does not handle keyspace arguments correctly

2011-08-15 Thread Nate McCall (JIRA)

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

Nate McCall updated CASSANDRA-3038:
---

Attachment: 3038.txt

Change to just make a copy of the cmdArgs array without modifying position. 

 nodetool snapshot does not handle keyspace arguments correctly
 --

 Key: CASSANDRA-3038
 URL: https://issues.apache.org/jira/browse/CASSANDRA-3038
 Project: Cassandra
  Issue Type: Bug
  Components: Tools
Affects Versions: 0.8.4
Reporter: Nate McCall
Assignee: Nate McCall
Priority: Minor
 Attachments: 3038.txt


 Given the following invocation:
 ./bin/nodetool snapshot Keyspace1 -t keyspace1_snapshot -h localhost
 Snapshots are made for all keyspaces
 Given a multi-keyspace invocation:
 ./bin/nodetool snapshot Keyspace1 Keyspace2 Keyspac3 -t keyspace1_snapshot -h 
 localhost
 Snapshots will be made for Keyspace2 and Keyspace3 but not Keyspace1. 
 It appears there is just some antiquated command argument noodling in 
 NodeCmd#handleSnapshots

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




[jira] [Commented] (CASSANDRA-2388) ColumnFamilyRecordReader fails for a given split because a host is down, even if records could reasonably be read from other replica.

2011-08-15 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis commented on CASSANDRA-2388:
---

Does that really fix things though?  Because you could have a data node be 
reachable from the coordinator answering describe_alive_nodes, but unreachable 
from the client.  So the client still needs to be able to skip unreachable 
endpoints itself, so describe_alive seems like gratuitous complexity.

 ColumnFamilyRecordReader fails for a given split because a host is down, even 
 if records could reasonably be read from other replica.
 -

 Key: CASSANDRA-2388
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2388
 Project: Cassandra
  Issue Type: Bug
  Components: Hadoop
Affects Versions: 0.7.6, 0.8.0
Reporter: Eldon Stegall
Assignee: Jeremy Hanna
  Labels: hadoop, inputformat
 Fix For: 0.7.9

 Attachments: 0002_On_TException_try_next_split.patch, 
 CASSANDRA-2388-addition1.patch, CASSANDRA-2388-extended.patch, 
 CASSANDRA-2388.patch, CASSANDRA-2388.patch, CASSANDRA-2388.patch, 
 CASSANDRA-2388.patch


 ColumnFamilyRecordReader only tries the first location for a given split. We 
 should try multiple locations for a given split.

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




[jira] [Created] (CASSANDRA-3039) AssertionError on nodetool cleanup

2011-08-15 Thread Ray Slakinski (JIRA)
AssertionError on nodetool cleanup
--

 Key: CASSANDRA-3039
 URL: https://issues.apache.org/jira/browse/CASSANDRA-3039
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 0.8.4
 Environment: Distributor ID:   Ubuntu
Description:Ubuntu 10.10
Release:10.10
Codename:   maverick

AWS: m2.xlarge instance

6 Node Cluster
Reporter: Ray Slakinski


While doing a cleanup I got the following AssertionError, I have tried a scrub 
and a major compaction before the cleanup which has not helped.

ST:

 INFO 18:49:58,540 Scrubbing 
SSTableReader(path='/vol/cassandra/data/system/LocationInfo-g-93-Data.db')
 INFO 18:49:58,834 Scrub of 
SSTableReader(path='/vol/cassandra/data/system/LocationInfo-g-93-Data.db') 
complete: 4 rows in new sstable and 0 empty (tombstoned) rows dropped
 INFO 18:49:58,913 Scrubbing 
SSTableReader(path='/vol/cassandra/data/system/Migrations-g-56-Data.db')
 INFO 18:49:59,218 Scrub of 
SSTableReader(path='/vol/cassandra/data/system/Migrations-g-56-Data.db') 
complete: 1 rows in new sstable and 0 empty (tombstoned) rows dropped
 INFO 18:49:59,256 Scrubbing 
SSTableReader(path='/vol/cassandra/data/system/Schema-g-58-Data.db')
 INFO 18:49:59,323 Scrub of 
SSTableReader(path='/vol/cassandra/data/system/Schema-g-58-Data.db') complete: 
34 rows in new sstable and 0 empty (tombstoned) rows dropped
 INFO 18:49:59,416 Scrubbing 
SSTableReader(path='/vol/cassandra/data/SpiderServices/Content2-g-5074-Data.db')
 INFO 18:50:50,137 Scrub of 
SSTableReader(path='/vol/cassandra/data/SpiderServices/Content2-g-5074-Data.db')
 complete: 91735 rows in new sstable and 32 empty (tombstoned) rows dropped
 INFO 18:50:50,137 Scrubbing 
SSTableReader(path='/vol/cassandra/data/SpiderServices/Content2-g-5075-Data.db')
 INFO 18:50:53,075 Scrub of 
SSTableReader(path='/vol/cassandra/data/SpiderServices/Content2-g-5075-Data.db')
 complete: 27940 rows in new sstable and 0 empty (tombstoned) rows dropped
 INFO 18:50:53,089 Scrubbing 
SSTableReader(path='/vol/cassandra/data/SpiderServices/Content-g-238-Data.db')

 INFO 18:51:10,302 Scrub of 
SSTableReader(path='/vol/cassandra/data/SpiderServices/Content-g-238-Data.db') 
complete: 70815 rows in new sstable and 0 empty (tombstoned) rows dropped
 INFO 18:53:05,420 Cleaning up 
SSTableReader(path='/vol/cassandra/data/SpiderServices/Content2-g-5078-Data.db')
 INFO 18:53:13,266 Cleaned up to 
/vol/cassandra/data/SpiderServices/Content2-tmp-g-5079-Data.db.  198,705,176 to 
198,705,176 (~100% of original) bytes for 27,940 keys.  Time: 7,846ms.
 INFO 18:53:13,267 Cleaning up 
SSTableReader(path='/vol/cassandra/data/SpiderServices/Content2-g-5077-Data.db')
ERROR 18:53:33,913 Fatal exception in thread Thread[CompactionExecutor:21,1,RMI 
Runtime]
java.lang.AssertionError
at 
org.apache.cassandra.db.compaction.PrecompactedRow.write(PrecompactedRow.java:107)
at 
org.apache.cassandra.io.sstable.SSTableWriter.append(SSTableWriter.java:132)
at 
org.apache.cassandra.db.compaction.CompactionManager.doCleanupCompaction(CompactionManager.java:866)
at 
org.apache.cassandra.db.compaction.CompactionManager.access$500(CompactionManager.java:65)
at 
org.apache.cassandra.db.compaction.CompactionManager$2.call(CompactionManager.java:204)
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)

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




[jira] [Updated] (CASSANDRA-3039) AssertionError on nodetool cleanup

2011-08-15 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis updated CASSANDRA-3039:
--

Attachment: 3039.txt

Patch to make cleanup and normal compaction able to skip empty rows (rows 
containing nothing but expired tombstones).

Scrub can already handle these, so you can workaround by scrubbing frequently, 
but if your workload results in a lot of these rows you probably want to apply 
this patch sooner than later.

 AssertionError on nodetool cleanup
 --

 Key: CASSANDRA-3039
 URL: https://issues.apache.org/jira/browse/CASSANDRA-3039
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 0.8.4
 Environment: Distributor ID:  Ubuntu
 Description:  Ubuntu 10.10
 Release:  10.10
 Codename: maverick
 AWS: m2.xlarge instance
 6 Node Cluster
Reporter: Ray Slakinski
  Labels: exception, nodetool
 Fix For: 0.8.5

 Attachments: 3039.txt


 While doing a cleanup I got the following AssertionError, I have tried a 
 scrub and a major compaction before the cleanup which has not helped.
 ST:
  INFO 18:49:58,540 Scrubbing 
 SSTableReader(path='/vol/cassandra/data/system/LocationInfo-g-93-Data.db')
  INFO 18:49:58,834 Scrub of 
 SSTableReader(path='/vol/cassandra/data/system/LocationInfo-g-93-Data.db') 
 complete: 4 rows in new sstable and 0 empty (tombstoned) rows dropped
  INFO 18:49:58,913 Scrubbing 
 SSTableReader(path='/vol/cassandra/data/system/Migrations-g-56-Data.db')
  INFO 18:49:59,218 Scrub of 
 SSTableReader(path='/vol/cassandra/data/system/Migrations-g-56-Data.db') 
 complete: 1 rows in new sstable and 0 empty (tombstoned) rows dropped
  INFO 18:49:59,256 Scrubbing 
 SSTableReader(path='/vol/cassandra/data/system/Schema-g-58-Data.db')
  INFO 18:49:59,323 Scrub of 
 SSTableReader(path='/vol/cassandra/data/system/Schema-g-58-Data.db') 
 complete: 34 rows in new sstable and 0 empty (tombstoned) rows dropped
  INFO 18:49:59,416 Scrubbing 
 SSTableReader(path='/vol/cassandra/data/SpiderServices/Content2-g-5074-Data.db')
  INFO 18:50:50,137 Scrub of 
 SSTableReader(path='/vol/cassandra/data/SpiderServices/Content2-g-5074-Data.db')
  complete: 91735 rows in new sstable and 32 empty (tombstoned) rows dropped
  INFO 18:50:50,137 Scrubbing 
 SSTableReader(path='/vol/cassandra/data/SpiderServices/Content2-g-5075-Data.db')
  INFO 18:50:53,075 Scrub of 
 SSTableReader(path='/vol/cassandra/data/SpiderServices/Content2-g-5075-Data.db')
  complete: 27940 rows in new sstable and 0 empty (tombstoned) rows dropped
  INFO 18:50:53,089 Scrubbing 
 SSTableReader(path='/vol/cassandra/data/SpiderServices/Content-g-238-Data.db')
  INFO 18:51:10,302 Scrub of 
 SSTableReader(path='/vol/cassandra/data/SpiderServices/Content-g-238-Data.db')
  complete: 70815 rows in new sstable and 0 empty (tombstoned) rows dropped
  INFO 18:53:05,420 Cleaning up 
 SSTableReader(path='/vol/cassandra/data/SpiderServices/Content2-g-5078-Data.db')
  INFO 18:53:13,266 Cleaned up to 
 /vol/cassandra/data/SpiderServices/Content2-tmp-g-5079-Data.db.  198,705,176 
 to 198,705,176 (~100% of original) bytes for 27,940 keys.  Time: 7,846ms.
  INFO 18:53:13,267 Cleaning up 
 SSTableReader(path='/vol/cassandra/data/SpiderServices/Content2-g-5077-Data.db')
 ERROR 18:53:33,913 Fatal exception in thread 
 Thread[CompactionExecutor:21,1,RMI Runtime]
 java.lang.AssertionError
   at 
 org.apache.cassandra.db.compaction.PrecompactedRow.write(PrecompactedRow.java:107)
   at 
 org.apache.cassandra.io.sstable.SSTableWriter.append(SSTableWriter.java:132)
   at 
 org.apache.cassandra.db.compaction.CompactionManager.doCleanupCompaction(CompactionManager.java:866)
   at 
 org.apache.cassandra.db.compaction.CompactionManager.access$500(CompactionManager.java:65)
   at 
 org.apache.cassandra.db.compaction.CompactionManager$2.call(CompactionManager.java:204)
   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)

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




[jira] [Commented] (CASSANDRA-2991) Add a 'load new sstables' JMX/nodetool command

2011-08-15 Thread Brandon Williams (JIRA)

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

Brandon Williams commented on CASSANDRA-2991:
-

I too would prefer a simpler name for the nodetool command, perhaps just 
'refresh' or 'scanfiles'?  I don't want to bikeshed too much here, but I think 
the command should be something more concise.  +1 otherwise, however.

 Add a 'load new sstables' JMX/nodetool command
 --

 Key: CASSANDRA-2991
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2991
 Project: Cassandra
  Issue Type: New Feature
  Components: Tools
Reporter: Brandon Williams
Assignee: Pavel Yaskevich
 Fix For: 0.8.5

 Attachments: CASSANDRA-2991.patch


 Sometimes people have to create a new cluster to get around a problem and 
 need to copy sstables around.  It would be convenient to be able to trigger 
 this from nodetool or JMX instead of doing a restart of the node.

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




[jira] [Commented] (CASSANDRA-2991) Add a 'load new sstables' JMX/nodetool command

2011-08-15 Thread Pavel Yaskevich (JIRA)

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

Pavel Yaskevich commented on CASSANDRA-2991:


refresh if fine by me, will change before commit.

 Add a 'load new sstables' JMX/nodetool command
 --

 Key: CASSANDRA-2991
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2991
 Project: Cassandra
  Issue Type: New Feature
  Components: Tools
Reporter: Brandon Williams
Assignee: Pavel Yaskevich
 Fix For: 0.8.5

 Attachments: CASSANDRA-2991.patch


 Sometimes people have to create a new cluster to get around a problem and 
 need to copy sstables around.  It would be convenient to be able to trigger 
 this from nodetool or JMX instead of doing a restart of the node.

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




[jira] [Assigned] (CASSANDRA-3023) NPE in describe_ring

2011-08-15 Thread Brandon Williams (JIRA)

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

Brandon Williams reassigned CASSANDRA-3023:
---

Assignee: Brandon Williams

 NPE in describe_ring
 

 Key: CASSANDRA-3023
 URL: https://issues.apache.org/jira/browse/CASSANDRA-3023
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 0.8.4
Reporter: Eric Falcao
Assignee: Brandon Williams

 Not sure how much of the following is relevant besides the stack trace, but 
 here I go:
 I have a 2 DC, 2 node per DC cluster. DC1 had it's seed replaced but I hadn't 
 restarted. I upgraded to 0.8.4 in the following fashion:
 -edited seeds
 -stopped both DC1 nodes
 -upgraded jars
 -started both nodes at the same time
 The non-seed node came up first and showed the following error. Then when the 
 seed node came up, the error went away on the non-seed node but started 
 occurring on the seed node:
 ERROR [pool-2-thread-15] 2011-08-12 22:32:27,438 Cassandra.java (line 3668) 
 Internal error processing describe_ring
 java.lang.NullPointerException
   at 
 org.apache.cassandra.service.StorageService.getRangeToRpcaddressMap(StorageService.java:623)
   at 
 org.apache.cassandra.thrift.CassandraServer.describe_ring(CassandraServer.java:731)
   at 
 org.apache.cassandra.thrift.Cassandra$Processor$describe_ring.process(Cassandra.java:3664)
   at org.apache.cassandra.thrift.Brisk$Processor.process(Brisk.java:464)
   at 
 org.apache.cassandra.thrift.CustomTThreadPoolServer$WorkerProcess.run(CustomTThreadPoolServer.java:187)
   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




[jira] [Commented] (CASSANDRA-3023) NPE in describe_ring

2011-08-15 Thread Brandon Williams (JIRA)

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

Brandon Williams commented on CASSANDRA-3023:
-

This is going to happen anytime a) the tokens are known from being persisted in 
the system table and (so the coordinator knows about the nodes) but b) it has 
not actually talked to them, so it has no state information yet.  There's no 
good way to fix this, because either we leave out tokens that we know about but 
do not have any other information for, or we just leave the NPE.  On the bright 
side, the window to trigger this should be very short, probably just a handful 
of seconds at most.

 NPE in describe_ring
 

 Key: CASSANDRA-3023
 URL: https://issues.apache.org/jira/browse/CASSANDRA-3023
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 0.8.4
Reporter: Eric Falcao

 Not sure how much of the following is relevant besides the stack trace, but 
 here I go:
 I have a 2 DC, 2 node per DC cluster. DC1 had it's seed replaced but I hadn't 
 restarted. I upgraded to 0.8.4 in the following fashion:
 -edited seeds
 -stopped both DC1 nodes
 -upgraded jars
 -started both nodes at the same time
 The non-seed node came up first and showed the following error. Then when the 
 seed node came up, the error went away on the non-seed node but started 
 occurring on the seed node:
 ERROR [pool-2-thread-15] 2011-08-12 22:32:27,438 Cassandra.java (line 3668) 
 Internal error processing describe_ring
 java.lang.NullPointerException
   at 
 org.apache.cassandra.service.StorageService.getRangeToRpcaddressMap(StorageService.java:623)
   at 
 org.apache.cassandra.thrift.CassandraServer.describe_ring(CassandraServer.java:731)
   at 
 org.apache.cassandra.thrift.Cassandra$Processor$describe_ring.process(Cassandra.java:3664)
   at org.apache.cassandra.thrift.Brisk$Processor.process(Brisk.java:464)
   at 
 org.apache.cassandra.thrift.CustomTThreadPoolServer$WorkerProcess.run(CustomTThreadPoolServer.java:187)
   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




[jira] [Commented] (CASSANDRA-2447) Remove auto-bootstrap option

2011-08-15 Thread Brandon Williams (JIRA)

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

Brandon Williams commented on CASSANDRA-2447:
-

+1

 Remove auto-bootstrap option
 

 Key: CASSANDRA-2447
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2447
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Reporter: Jonathan Ellis
Assignee: Jonathan Ellis
Priority: Minor
 Fix For: 1.0

 Attachments: 2447-v2.txt


 We already optimize auto-bootstrap to be no-op if there are no non-system 
 tables.
 Given that, the only penalty imposed by autobootstrap is a 30s sleep waiting 
 for gossip.  Feels worth it to avoid the confusion this option causes, and 
 the problems if you don't turn it on when it should be.

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




[jira] [Commented] (CASSANDRA-2712) Old node that is no longer part of ring still appears via gossip in logs

2011-08-15 Thread Brandon Williams (JIRA)

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

Brandon Williams commented on CASSANDRA-2712:
-

Actually, no, this is CASSANDRA-1730.  Fixed in 0.6.9.


 Old node that is no longer part of ring still appears via gossip in logs
 

 Key: CASSANDRA-2712
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2712
 Project: Cassandra
  Issue Type: Bug
Affects Versions: 0.6.7
Reporter: Erik Bartels
Priority: Minor

 A node that no longer shows up in nodetool -h localhost ring and is no longer 
 accessible on the network still appears via gossip in the logs.
 2011-05-26_06:03:59.95168 '' INFO [Timer-0] 06:04:47,230 Gossiper.java:406 
 FatClient /10.12.22.112 has been silent for 360ms, removing from gossip
 2011-05-26_06:04:57.58040 '' INFO [GMFD:1] 06:05:17,692 Gossiper.java:591 
 Node /10.12.22.112 is now part of the cluster
 2011-05-26_07:04:59.88488 '' INFO [Timer-0] 07:05:18,187 Gossiper.java:406 
 FatClient /10.12.22.112 has been silent for 360ms, removing from gossip
 2011-05-26_07:05:18.18762 '' INFO [GMFD:1] 07:05:49,431 Gossiper.java:591 
 Node /10.12.22.112 is now part of the cluster
 2011-05-26_08:05:27.91892 '' INFO [Timer-0] 08:05:50,010 Gossiper.java:406 
 FatClient /10.12.22.112 has been silent for 360ms, removing from gossip
 2011-05-26_08:05:59.99158 '' INFO [GMFD:1] 08:06:20,161 Gossiper.java:591 
 Node /10.12.22.112 is now part of the cluster
 2011-05-26_09:06:02.76256 '' INFO [Timer-0] 09:06:20,863 Gossiper.java:406 
 FatClient /10.12.22.112 has been silent for 360ms, removing from gossip
 2011-05-26_09:06:20.86600 '' INFO [GMFD:1] 09:06:52,784 Gossiper.java:591 
 Node /10.12.22.112 is now part of the cluster
 2011-05-26_10:05:19.26673 '' INFO [Timer-0] 10:06:52,972 Gossiper.java:406 
 FatClient /10.12.22.112 has been silent for 360ms, removing from gossip
 2011-05-26_10:07:02.86638 '' INFO [GMFD:1] 10:07:23,108 Gossiper.java:591 
 Node /10.12.22.112 is now part of the cluster
 2011-05-26_11:06:32.15460 '' INFO [Timer-0] 11:07:23,188 Gossiper.java:406 
 FatClient /10.12.22.112 has been silent for 360ms, removing from gossip
 2011-05-26_11:07:23.18851 '' INFO [GMFD:1] 11:07:54,283 Gossiper.java:591 
 Node /10.12.22.112 is now part of the cluster
 2011-05-26_12:07:30.27539 '' INFO [Timer-0] 12:07:54,946 Gossiper.java:406 
 FatClient /10.12.22.112 has been silent for 360ms, removing from gossip
 2011-05-26_12:07:54.94630 '' INFO [GMFD:1] 12:08:25,108 Gossiper.java:591 
 Node /10.12.22.112 is now part of the cluster
 2011-05-26_13:08:05.38616 '' INFO [Timer-0] 13:08:25,861 Gossiper.java:406 
 FatClient /10.12.22.112 has been silent for 360ms, removing from gossip
 2011-05-26_13:08:25.86333 '' INFO [GMFD:1] 13:08:59,097 Gossiper.java:591 
 Node /10.12.22.112 is now part of the cluster
 2011-05-26_14:08:42.40855 '' INFO [Timer-0] 14:08:59,779 Gossiper.java:406 
 FatClient /10.12.22.112 has been silent for 360ms, removing from gossip
 2011-05-26_14:08:59.77963 '' INFO [GMFD:1] 14:09:30,266 Gossiper.java:591 
 Node /10.12.22.112 is now part of the cluster

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




svn commit: r1158005 - in /cassandra/trunk: src/java/org/apache/cassandra/service/ test/unit/org/apache/cassandra/db/ test/unit/org/apache/cassandra/dht/ test/unit/org/apache/cassandra/service/

2011-08-15 Thread jbellis
Author: jbellis
Date: Mon Aug 15 20:45:38 2011
New Revision: 1158005

URL: http://svn.apache.org/viewvc?rev=1158005view=rev
Log:
default auto_bootstrap to true and remove from example configuration
patch by jbellis; reviewed by brandonwilliams for CASSANDRA-2477

Modified:
cassandra/trunk/src/java/org/apache/cassandra/service/LoadBroadcaster.java
cassandra/trunk/src/java/org/apache/cassandra/service/StorageService.java
cassandra/trunk/test/unit/org/apache/cassandra/db/CleanupTest.java
cassandra/trunk/test/unit/org/apache/cassandra/dht/BootStrapperTest.java

cassandra/trunk/test/unit/org/apache/cassandra/service/AntiEntropyServiceTestAbstract.java

cassandra/trunk/test/unit/org/apache/cassandra/service/StorageServiceServerTest.java

Modified: 
cassandra/trunk/src/java/org/apache/cassandra/service/LoadBroadcaster.java
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/service/LoadBroadcaster.java?rev=1158005r1=1158004r2=1158005view=diff
==
--- cassandra/trunk/src/java/org/apache/cassandra/service/LoadBroadcaster.java 
(original)
+++ cassandra/trunk/src/java/org/apache/cassandra/service/LoadBroadcaster.java 
Mon Aug 15 20:45:38 2011
@@ -85,23 +85,5 @@ public class LoadBroadcaster implements 
 };
 StorageService.scheduledTasks.scheduleWithFixedDelay(runnable, 2 * 
Gossiper.intervalInMillis, BROADCAST_INTERVAL, TimeUnit.MILLISECONDS);
 }
-
-/**
- * Wait for at least BROADCAST_INTERVAL ms, to give all nodes enough time 
to
- * report in.
- */
-public void waitForLoadInfo()
-{
-int duration = BROADCAST_INTERVAL + StorageService.RING_DELAY;
-try
-{
-logger_.info(Sleeping {} ms to wait for load information..., 
duration);
-Thread.sleep(duration);
-}
-catch (InterruptedException e)
-{
-throw new AssertionError(e);
-}
-}
 }
 

Modified: 
cassandra/trunk/src/java/org/apache/cassandra/service/StorageService.java
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/service/StorageService.java?rev=1158005r1=1158004r2=1158005view=diff
==
--- cassandra/trunk/src/java/org/apache/cassandra/service/StorageService.java 
(original)
+++ cassandra/trunk/src/java/org/apache/cassandra/service/StorageService.java 
Mon Aug 15 20:45:38 2011
@@ -367,7 +367,12 @@ public class StorageService implements I
 MigrationManager.passiveAnnounce(DatabaseDescriptor.getDefsVersion());
 }
 
-public synchronized void initServer() throws IOException, 
org.apache.cassandra.config.ConfigurationException
+public synchronized void initServer() throws IOException, 
ConfigurationException
+{
+initServer(RING_DELAY);
+}
+
+public synchronized void initServer(int delay) throws IOException, 
ConfigurationException
 {
 logger_.info(Cassandra version:  + 
FBUtilities.getReleaseVersionString());
 logger_.info(Thrift API version:  + Constants.VERSION);
@@ -431,7 +436,7 @@ public class StorageService implements I
 
 if (Boolean.parseBoolean(System.getProperty(cassandra.join_ring, 
true)))
 {
-joinTokenRing();
+joinTokenRing(delay);
 }
 else
 {
@@ -439,7 +444,7 @@ public class StorageService implements I
 }
 }
 
-private void joinTokenRing() throws IOException, 
org.apache.cassandra.config.ConfigurationException
+private void joinTokenRing(int delay) throws IOException, 
org.apache.cassandra.config.ConfigurationException
 {
 logger_.info(Starting up server gossip);
 joined = true;
@@ -469,10 +474,17 @@ public class StorageService implements I
 if (DatabaseDescriptor.isAutoBootstrap()
  
!(DatabaseDescriptor.getSeeds().contains(FBUtilities.getBroadcastAddress()) || 
SystemTable.isBootstrapped()))
 {
-setMode(Joining: getting load and schema information, true);
-LoadBroadcaster.instance.waitForLoadInfo();
+setMode(Joining: waiting for ring and schema information, true);
+try
+{
+Thread.sleep(delay);
+}
+catch (InterruptedException e)
+{
+throw new AssertionError(e);
+}
 if (logger_.isDebugEnabled())
-logger_.debug(... got load + schema info);
+logger_.debug(... got ring + schema info);
 if (tokenMetadata_.isMember(FBUtilities.getBroadcastAddress()))
 {
 String s = This node is already a member of the token ring; 
bootstrap aborted. (If replacing a dead node, remove the old one from the ring 
first.);
@@ -526,7 +538,7 @@ public class StorageService implements I
 if (!joined)
 

svn commit: r1158006 - /cassandra/trunk/src/java/org/apache/cassandra/cli/CliClient.java

2011-08-15 Thread jbellis
Author: jbellis
Date: Mon Aug 15 20:50:47 2011
New Revision: 1158006

URL: http://svn.apache.org/viewvc?rev=1158006view=rev
Log:
fix loading cli help outside command execution loop
patch by jbellis

Modified:
cassandra/trunk/src/java/org/apache/cassandra/cli/CliClient.java

Modified: cassandra/trunk/src/java/org/apache/cassandra/cli/CliClient.java
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/cli/CliClient.java?rev=1158006r1=1158005r2=1158006view=diff
==
--- cassandra/trunk/src/java/org/apache/cassandra/cli/CliClient.java (original)
+++ cassandra/trunk/src/java/org/apache/cassandra/cli/CliClient.java Mon Aug 15 
20:50:47 2011
@@ -17,7 +17,6 @@
  */
 package org.apache.cassandra.cli;
 
-import java.io.IOError;
 import java.io.IOException;
 import java.io.InputStream;
 import java.net.InetAddress;
@@ -58,7 +57,6 @@ import org.yaml.snakeyaml.Yaml;
 // Cli Client Side Library
 public class CliClient
 {
-
 /**
  * Available value conversion functions
  * Used by convertValueByFunction(Tree functionCall) method
@@ -163,6 +161,13 @@ public class CliClient
 
 private CliUserHelp getHelp()
 {
+if (help == null)
+help = loadHelp();
+return help;
+}
+
+private CliUserHelp loadHelp()
+{
 final InputStream is = 
CliClient.class.getClassLoader().getResourceAsStream(org/apache/cassandra/cli/CliHelp.yaml);
 assert is != null;
 
@@ -182,7 +187,7 @@ public class CliClient
 
 public void printBanner()
 {
-sessionState.out.println(help.banner);
+sessionState.out.println(getHelp().banner);
 }
 
 // Execute a CLI Statement 
@@ -315,13 +320,10 @@ public class CliClient
 
 private void executeHelp(Tree tree)
 {
-if (help == null)
-help = getHelp();
-
 if (tree.getChildCount()  0)
 {
 String token = tree.getChild(0).getText();
-for (CliCommandHelp ch : help.commands)
+for (CliCommandHelp ch : getHelp().commands)
 {
 if (token.equals(ch.name))
 {
@@ -332,7 +334,7 @@ public class CliClient
 }
 else
 {
-sessionState.out.println(help.help);
+sessionState.out.println(getHelp().help);
 }
 }
 




[jira] [Commented] (CASSANDRA-2252) off-heap memtables

2011-08-15 Thread Brandon Williams (JIRA)

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

Brandon Williams commented on CASSANDRA-2252:
-

bq. Also, I would like to know who the clown is that estimated this as 0.4 
hours. :)

Probably some suit. ;)

 off-heap memtables
 --

 Key: CASSANDRA-2252
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2252
 Project: Cassandra
  Issue Type: Improvement
Reporter: Jonathan Ellis
Assignee: Jonathan Ellis
 Fix For: 1.0

 Attachments: 0001-add-MemtableAllocator.txt, 
 0002-add-off-heap-MemtableAllocator-support.txt, 2252-v3.txt, 2252-v4.txt, 
 merged-2252.tgz

   Original Estimate: 0.4h
  Remaining Estimate: 0.4h

 The memtable design practically actively fights Java's GC design.  Todd 
 Lipcon gave a good explanation over on HBASE-3455.

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




[jira] [Commented] (CASSANDRA-3023) NPE in describe_ring

2011-08-15 Thread Eric Falcao (JIRA)

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

Eric Falcao commented on CASSANDRA-3023:


FWIW, and I should have mentioned originally, the exception is thrown 
repeatedly every few seconds and doesn't seem to stop on the seed node

 NPE in describe_ring
 

 Key: CASSANDRA-3023
 URL: https://issues.apache.org/jira/browse/CASSANDRA-3023
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 0.8.4
Reporter: Eric Falcao
Assignee: Brandon Williams

 Not sure how much of the following is relevant besides the stack trace, but 
 here I go:
 I have a 2 DC, 2 node per DC cluster. DC1 had it's seed replaced but I hadn't 
 restarted. I upgraded to 0.8.4 in the following fashion:
 -edited seeds
 -stopped both DC1 nodes
 -upgraded jars
 -started both nodes at the same time
 The non-seed node came up first and showed the following error. Then when the 
 seed node came up, the error went away on the non-seed node but started 
 occurring on the seed node:
 ERROR [pool-2-thread-15] 2011-08-12 22:32:27,438 Cassandra.java (line 3668) 
 Internal error processing describe_ring
 java.lang.NullPointerException
   at 
 org.apache.cassandra.service.StorageService.getRangeToRpcaddressMap(StorageService.java:623)
   at 
 org.apache.cassandra.thrift.CassandraServer.describe_ring(CassandraServer.java:731)
   at 
 org.apache.cassandra.thrift.Cassandra$Processor$describe_ring.process(Cassandra.java:3664)
   at org.apache.cassandra.thrift.Brisk$Processor.process(Brisk.java:464)
   at 
 org.apache.cassandra.thrift.CustomTThreadPoolServer$WorkerProcess.run(CustomTThreadPoolServer.java:187)
   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




[jira] [Commented] (CASSANDRA-2806) Expose gossip/FD info to JMX

2011-08-15 Thread Brandon Williams (JIRA)

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

Brandon Williams commented on CASSANDRA-2806:
-

In the gossiper, we also need to expose the following op:

* Forced quarantine/eviction of an IP address, possibly taking a parameter to 
define how long to quarantine it for.

This way in the rare event that someone does break CASSANDRA-1730, they can fix 
it without full ring restarts, avoid other full ring restart situations.  This 
shouldn't be exposed in nodetool though because it can easily be dangerous.



 Expose gossip/FD info to JMX
 

 Key: CASSANDRA-2806
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2806
 Project: Cassandra
  Issue Type: Improvement
Reporter: Brandon Williams
Assignee: Patricio Echague
Priority: Minor
 Fix For: 0.8.5

 Attachments: CASSANDRA-2806-0.8-v1.patch, screenshot-1.jpg




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




[jira] [Commented] (CASSANDRA-3023) NPE in describe_ring

2011-08-15 Thread Brandon Williams (JIRA)

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

Brandon Williams commented on CASSANDRA-3023:
-

Was the cluster still mixed between 0.8.3 and 0.8.4 at that point?  That would 
do it.  The easiest thing to do is not describe the ring until all machines are 
on the same version.

 NPE in describe_ring
 

 Key: CASSANDRA-3023
 URL: https://issues.apache.org/jira/browse/CASSANDRA-3023
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 0.8.4
Reporter: Eric Falcao
Assignee: Brandon Williams

 Not sure how much of the following is relevant besides the stack trace, but 
 here I go:
 I have a 2 DC, 2 node per DC cluster. DC1 had it's seed replaced but I hadn't 
 restarted. I upgraded to 0.8.4 in the following fashion:
 -edited seeds
 -stopped both DC1 nodes
 -upgraded jars
 -started both nodes at the same time
 The non-seed node came up first and showed the following error. Then when the 
 seed node came up, the error went away on the non-seed node but started 
 occurring on the seed node:
 ERROR [pool-2-thread-15] 2011-08-12 22:32:27,438 Cassandra.java (line 3668) 
 Internal error processing describe_ring
 java.lang.NullPointerException
   at 
 org.apache.cassandra.service.StorageService.getRangeToRpcaddressMap(StorageService.java:623)
   at 
 org.apache.cassandra.thrift.CassandraServer.describe_ring(CassandraServer.java:731)
   at 
 org.apache.cassandra.thrift.Cassandra$Processor$describe_ring.process(Cassandra.java:3664)
   at org.apache.cassandra.thrift.Brisk$Processor.process(Brisk.java:464)
   at 
 org.apache.cassandra.thrift.CustomTThreadPoolServer$WorkerProcess.run(CustomTThreadPoolServer.java:187)
   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




[jira] [Updated] (CASSANDRA-3038) nodetool snapshot does not handle keyspace arguments correctly

2011-08-15 Thread Brandon Williams (JIRA)

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

Brandon Williams updated CASSANDRA-3038:


Reviewer: brandon.williams

 nodetool snapshot does not handle keyspace arguments correctly
 --

 Key: CASSANDRA-3038
 URL: https://issues.apache.org/jira/browse/CASSANDRA-3038
 Project: Cassandra
  Issue Type: Bug
  Components: Tools
Affects Versions: 0.8.4
Reporter: Nate McCall
Assignee: Nate McCall
Priority: Minor
 Fix For: 0.8.5

 Attachments: 3038.txt


 Given the following invocation:
 ./bin/nodetool snapshot Keyspace1 -t keyspace1_snapshot -h localhost
 Snapshots are made for all keyspaces
 Given a multi-keyspace invocation:
 ./bin/nodetool snapshot Keyspace1 Keyspace2 Keyspac3 -t keyspace1_snapshot -h 
 localhost
 Snapshots will be made for Keyspace2 and Keyspace3 but not Keyspace1. 
 It appears there is just some antiquated command argument noodling in 
 NodeCmd#handleSnapshots

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




[jira] [Updated] (CASSANDRA-2806) Expose gossip/FD info to JMX

2011-08-15 Thread Brandon Williams (JIRA)

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

Brandon Williams updated CASSANDRA-2806:


Reviewer: brandon.williams

 Expose gossip/FD info to JMX
 

 Key: CASSANDRA-2806
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2806
 Project: Cassandra
  Issue Type: Improvement
Reporter: Brandon Williams
Assignee: Patricio Echague
Priority: Minor
 Fix For: 0.8.5

 Attachments: CASSANDRA-2806-0.8-v1.patch, screenshot-1.jpg




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




[jira] [Updated] (CASSANDRA-2961) Expire dead gossip states based on time

2011-08-15 Thread Brandon Williams (JIRA)

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

Brandon Williams updated CASSANDRA-2961:


Reviewer: brandon.williams

 Expire dead gossip states based on time
 ---

 Key: CASSANDRA-2961
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2961
 Project: Cassandra
  Issue Type: Improvement
Reporter: Brandon Williams
Assignee: Patricio Echague

 Currently dead states are held until aVeryLongTime, 3 days.  The problem is 
 that if a node reboots within this period, it begins a new 3 days and will 
 repopulate the ring with the dead state.  While mostly harmless, perpetuating 
 the state forever is at least wasting a small amount of bandwidth.  Instead, 
 we can expire states based on a ttl, which will require that the cluster be 
 loosely time synced; within the quarantine period of 60s.

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




[jira] [Commented] (CASSANDRA-3023) NPE in describe_ring

2011-08-15 Thread Eric Falcao (JIRA)

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

Eric Falcao commented on CASSANDRA-3023:


i was upgrading one DC first and that's when i noticed it (and never upgraded 
the 2nd DC). Not sure if that matters. If so, I'll try upgrading both DC's and 
see if the error persists after fully upgraded.

 NPE in describe_ring
 

 Key: CASSANDRA-3023
 URL: https://issues.apache.org/jira/browse/CASSANDRA-3023
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 0.8.4
Reporter: Eric Falcao
Assignee: Brandon Williams

 Not sure how much of the following is relevant besides the stack trace, but 
 here I go:
 I have a 2 DC, 2 node per DC cluster. DC1 had it's seed replaced but I hadn't 
 restarted. I upgraded to 0.8.4 in the following fashion:
 -edited seeds
 -stopped both DC1 nodes
 -upgraded jars
 -started both nodes at the same time
 The non-seed node came up first and showed the following error. Then when the 
 seed node came up, the error went away on the non-seed node but started 
 occurring on the seed node:
 ERROR [pool-2-thread-15] 2011-08-12 22:32:27,438 Cassandra.java (line 3668) 
 Internal error processing describe_ring
 java.lang.NullPointerException
   at 
 org.apache.cassandra.service.StorageService.getRangeToRpcaddressMap(StorageService.java:623)
   at 
 org.apache.cassandra.thrift.CassandraServer.describe_ring(CassandraServer.java:731)
   at 
 org.apache.cassandra.thrift.Cassandra$Processor$describe_ring.process(Cassandra.java:3664)
   at org.apache.cassandra.thrift.Brisk$Processor.process(Brisk.java:464)
   at 
 org.apache.cassandra.thrift.CustomTThreadPoolServer$WorkerProcess.run(CustomTThreadPoolServer.java:187)
   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




[jira] [Commented] (CASSANDRA-3023) NPE in describe_ring

2011-08-15 Thread Brandon Williams (JIRA)

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

Brandon Williams commented on CASSANDRA-3023:
-

This will happen in a mixed cluster because nodes prior to CASSANDRA-1777 will 
not have advertised the information that describe_ring now relies on, causing 
the NPE when the nodes that do have 1777 try to access it.

There's not a lot we can do here.  We can basically return half-broken data for 
nodes that haven't advertised this info yet, but that puts us back to before 
CASSANDRA-1777, so it's not much of a win.  I can't think of a reason why 
clients would need to call describe_ring while there's an upgrade in process; 
topology isn't changing.

 NPE in describe_ring
 

 Key: CASSANDRA-3023
 URL: https://issues.apache.org/jira/browse/CASSANDRA-3023
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 0.8.4
Reporter: Eric Falcao
Assignee: Brandon Williams

 Not sure how much of the following is relevant besides the stack trace, but 
 here I go:
 I have a 2 DC, 2 node per DC cluster. DC1 had it's seed replaced but I hadn't 
 restarted. I upgraded to 0.8.4 in the following fashion:
 -edited seeds
 -stopped both DC1 nodes
 -upgraded jars
 -started both nodes at the same time
 The non-seed node came up first and showed the following error. Then when the 
 seed node came up, the error went away on the non-seed node but started 
 occurring on the seed node:
 ERROR [pool-2-thread-15] 2011-08-12 22:32:27,438 Cassandra.java (line 3668) 
 Internal error processing describe_ring
 java.lang.NullPointerException
   at 
 org.apache.cassandra.service.StorageService.getRangeToRpcaddressMap(StorageService.java:623)
   at 
 org.apache.cassandra.thrift.CassandraServer.describe_ring(CassandraServer.java:731)
   at 
 org.apache.cassandra.thrift.Cassandra$Processor$describe_ring.process(Cassandra.java:3664)
   at org.apache.cassandra.thrift.Brisk$Processor.process(Brisk.java:464)
   at 
 org.apache.cassandra.thrift.CustomTThreadPoolServer$WorkerProcess.run(CustomTThreadPoolServer.java:187)
   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




[jira] [Commented] (CASSANDRA-2991) Add a 'load new sstables' JMX/nodetool command

2011-08-15 Thread Hudson (JIRA)

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

Hudson commented on CASSANDRA-2991:
---

Integrated in Cassandra-0.8 #280 (See 
[https://builds.apache.org/job/Cassandra-0.8/280/])
Add 'load new SSTables' functionality to JMX and corresponding refresh 
command to the nodetool
patch by Pavel Yaskevich; reviewed by Brandon Williams for CASSANDRA-2991

xedin : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVNview=revrev=1158008
Files : 
* /cassandra/branches/cassandra-0.8/CHANGES.txt
* 
/cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/tools/NodeProbe.java
* 
/cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/service/StorageServiceMBean.java
* 
/cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/db/ColumnFamilyStoreMBean.java
* 
/cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/tools/NodeCmd.java
* 
/cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
* 
/cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/service/StorageService.java


 Add a 'load new sstables' JMX/nodetool command
 --

 Key: CASSANDRA-2991
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2991
 Project: Cassandra
  Issue Type: New Feature
  Components: Tools
Reporter: Brandon Williams
Assignee: Pavel Yaskevich
 Fix For: 0.8.5

 Attachments: CASSANDRA-2991.patch


 Sometimes people have to create a new cluster to get around a problem and 
 need to copy sstables around.  It would be convenient to be able to trigger 
 this from nodetool or JMX instead of doing a restart of the node.

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




[jira] [Issue Comment Edited] (CASSANDRA-2820) Re-introduce FastByteArrayInputStream (and Output equivalent)

2011-08-15 Thread Paul Loy (JIRA)

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

Paul Loy edited comment on CASSANDRA-2820 at 8/15/11 10:22 PM:
---

Hey Sylvian,

likewise sorry for my delay. Have been job hunting, and will now be relocating 
to LA from London.

I've just rebased, will attach a patch.

Paul

  was (Author: keteracel):
Hey Silvian,

likewise sorry for my delay. Have been job hunting, and will now be relocating 
to LA from London.

I've just rebased, will attach a patch.

Paul
  
 Re-introduce FastByteArrayInputStream (and Output equivalent)
 -

 Key: CASSANDRA-2820
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2820
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Affects Versions: 0.8.0
 Environment: n/a
Reporter: Paul Loy
Priority: Minor
  Labels: bytearrayinputstream, bytearrayoutputstream, license, 
 synchronized
 Fix For: 1.0

 Attachments: fast_bytearray_iostreams_harmony-patch-2.txt, 
 fast_bytearray_iostreams_harmony-patch-3.txt, 
 fast_bytearray_iostreams_harmony-patch-4.txt, 
 fast_bytearray_iostreams_harmony-patch-5.txt


 In https://issues.apache.org/jira/browse/CASSANDRA-37 
 FastByteArrayInputStream and FastByteArrayOutputStream were removed due to 
 being code copied from the JDK and then subsequently modified. The JDK 
 license is incompatible with Apache 2 license so the code had to go.
 I have since had a look at the performance of the JDK ByteArrayInputStream 
 and a FastByteArrayInputStream (i.e. one with synchronized methods made 
 un-synchronized) and seen the difference is significant.
 After a warmup-period of 1 loops I get the following for 1 loops 
 through a 128000 byte array:
 bais : 3513ms
 fbais: 72ms
 This varies depending on the OS, machine and Java version, but it's always in 
 favour of the FastByteArrayInputStream as you might expect.
 Then, at Jonathan Ellis' suggestion, I tried this using a modified Apache 
 Harmony ByteArrayInputStream - i.e. one whose license is compatible - and the 
 results were the same. A significant boost.
 I will attach a patch with changes for the 0.8.0 tag.

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




[jira] [Updated] (CASSANDRA-2034) Make Read Repair unnecessary when Hinted Handoff is enabled

2011-08-15 Thread Patricio Echague (JIRA)

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

Patricio Echague updated CASSANDRA-2034:


Attachment: CASSANDRA-2034-trunk-v14.patch

v14 replaces v13.

- Wait for the hint at SP.mutate()
- Avoid passing a list of down host and handle them with FD.
- Simplifies even more the logic in SP.sendToHintedEndpoints

 Make Read Repair unnecessary when Hinted Handoff is enabled
 ---

 Key: CASSANDRA-2034
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2034
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Reporter: Jonathan Ellis
Assignee: Patricio Echague
 Fix For: 1.0

 Attachments: 2034-formatting.txt, CASSANDRA-2034-trunk-v10.patch, 
 CASSANDRA-2034-trunk-v11.patch, CASSANDRA-2034-trunk-v11.patch, 
 CASSANDRA-2034-trunk-v12.patch, CASSANDRA-2034-trunk-v13.patch, 
 CASSANDRA-2034-trunk-v14.patch, CASSANDRA-2034-trunk-v2.patch, 
 CASSANDRA-2034-trunk-v3.patch, CASSANDRA-2034-trunk-v4.patch, 
 CASSANDRA-2034-trunk-v5.patch, CASSANDRA-2034-trunk-v6.patch, 
 CASSANDRA-2034-trunk-v7.patch, CASSANDRA-2034-trunk-v8.patch, 
 CASSANDRA-2034-trunk-v9.patch, CASSANDRA-2034-trunk.patch

   Original Estimate: 8h
  Remaining Estimate: 8h

 Currently, HH is purely an optimization -- if a machine goes down, enabling 
 HH means RR/AES will have less work to do, but you can't disable RR entirely 
 in most situations since HH doesn't kick in until the FailureDetector does.
 Let's add a scheduled task to the mutate path, such that we return to the 
 client normally after ConsistencyLevel is achieved, but after RpcTimeout we 
 check the responseHandler write acks and write local hints for any missing 
 targets.
 This would making disabling RR when HH is enabled a much more reasonable 
 option, which has a huge impact on read throughput.

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




[jira] [Updated] (CASSANDRA-2806) Expose gossip/FD info to JMX

2011-08-15 Thread Patricio Echague (JIRA)

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

Patricio Echague updated CASSANDRA-2806:


Attachment: CASSANDRA-2806-0.8-v2.patch

v2 replaces v1

- Add GossiperMBean with its implementation.

 Expose gossip/FD info to JMX
 

 Key: CASSANDRA-2806
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2806
 Project: Cassandra
  Issue Type: Improvement
Reporter: Brandon Williams
Assignee: Patricio Echague
Priority: Minor
 Fix For: 0.8.5

 Attachments: CASSANDRA-2806-0.8-v1.patch, 
 CASSANDRA-2806-0.8-v2.patch, screenshot-1.jpg




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




[jira] [Commented] (CASSANDRA-2034) Make Read Repair unnecessary when Hinted Handoff is enabled

2011-08-15 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis commented on CASSANDRA-2034:
---

Hmm. I think you're right: it would work better to do the hints in the handler 
instead of passing these lists around.  Sorry; let's change it to do it that 
way.

Other notes:

SP.shouldHint is broken (will always return true when hints are disabled).  I 
would write it like this:
{code}
public static boolean shouldHint(InetAddress ep)
{
if (!isHintedHandoffEnabled())
return false;

boolean hintWindowExpired = Gossiper.instance.getEndpointDowntime(ep)  
maxHintWindow;
if (hintWindowExpired)
logger.debug(not hinting {} which has been down {}ms, ep, 
Gossiper.instance.getEndpointDowntime(ep));
return !hintWindowExpired;
}
{code}

CallbackInfo.shouldHint is broken a different way.  It should be returning true 
if and only if the write to the target failed.  (Calling this variable from 
is odd -- from is used to refer to localhost in a MessageService context.)  
Currently, it returns true if the overall CL is achieved, which in the general 
case tells us nothing about the individual replica in question.

 Make Read Repair unnecessary when Hinted Handoff is enabled
 ---

 Key: CASSANDRA-2034
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2034
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Reporter: Jonathan Ellis
Assignee: Patricio Echague
 Fix For: 1.0

 Attachments: 2034-formatting.txt, CASSANDRA-2034-trunk-v10.patch, 
 CASSANDRA-2034-trunk-v11.patch, CASSANDRA-2034-trunk-v11.patch, 
 CASSANDRA-2034-trunk-v12.patch, CASSANDRA-2034-trunk-v13.patch, 
 CASSANDRA-2034-trunk-v14.patch, CASSANDRA-2034-trunk-v2.patch, 
 CASSANDRA-2034-trunk-v3.patch, CASSANDRA-2034-trunk-v4.patch, 
 CASSANDRA-2034-trunk-v5.patch, CASSANDRA-2034-trunk-v6.patch, 
 CASSANDRA-2034-trunk-v7.patch, CASSANDRA-2034-trunk-v8.patch, 
 CASSANDRA-2034-trunk-v9.patch, CASSANDRA-2034-trunk.patch

   Original Estimate: 8h
  Remaining Estimate: 8h

 Currently, HH is purely an optimization -- if a machine goes down, enabling 
 HH means RR/AES will have less work to do, but you can't disable RR entirely 
 in most situations since HH doesn't kick in until the FailureDetector does.
 Let's add a scheduled task to the mutate path, such that we return to the 
 client normally after ConsistencyLevel is achieved, but after RpcTimeout we 
 check the responseHandler write acks and write local hints for any missing 
 targets.
 This would making disabling RR when HH is enabled a much more reasonable 
 option, which has a huge impact on read throughput.

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




[jira] [Commented] (CASSANDRA-2820) Re-introduce FastByteArrayInputStream (and Output equivalent)

2011-08-15 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis commented on CASSANDRA-2820:
---

Hi Paul,

Sylvain is on vacation but I can take care of committing this.  It looks like 
v5 is against 0.8, can you attach a patch against trunk?

 Re-introduce FastByteArrayInputStream (and Output equivalent)
 -

 Key: CASSANDRA-2820
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2820
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Affects Versions: 0.8.0
 Environment: n/a
Reporter: Paul Loy
Priority: Minor
  Labels: bytearrayinputstream, bytearrayoutputstream, license, 
 synchronized
 Fix For: 1.0

 Attachments: fast_bytearray_iostreams_harmony-patch-2.txt, 
 fast_bytearray_iostreams_harmony-patch-3.txt, 
 fast_bytearray_iostreams_harmony-patch-4.txt, 
 fast_bytearray_iostreams_harmony-patch-5.txt


 In https://issues.apache.org/jira/browse/CASSANDRA-37 
 FastByteArrayInputStream and FastByteArrayOutputStream were removed due to 
 being code copied from the JDK and then subsequently modified. The JDK 
 license is incompatible with Apache 2 license so the code had to go.
 I have since had a look at the performance of the JDK ByteArrayInputStream 
 and a FastByteArrayInputStream (i.e. one with synchronized methods made 
 un-synchronized) and seen the difference is significant.
 After a warmup-period of 1 loops I get the following for 1 loops 
 through a 128000 byte array:
 bais : 3513ms
 fbais: 72ms
 This varies depending on the OS, machine and Java version, but it's always in 
 favour of the FastByteArrayInputStream as you might expect.
 Then, at Jonathan Ellis' suggestion, I tried this using a modified Apache 
 Harmony ByteArrayInputStream - i.e. one whose license is compatible - and the 
 results were the same. A significant boost.
 I will attach a patch with changes for the 0.8.0 tag.

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