[jira] [Commented] (CASSANDRA-3729) support counter debug mode on thrift interface

2012-01-12 Thread Sylvain Lebresne (Commented) (JIRA)

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

Sylvain Lebresne commented on CASSANDRA-3729:
-

I think the thrift interface is too user visible for something like this. Maybe 
a JMX method (in some debug MBean) would be less of a problem.

That being said, it's not really something we can ask people to turn on to help 
troubleshooting a problem they would have with counters as it would break 
counter reads. Logging contexts at debug in the log (which we more or less do, 
though maybe we can improve it a bit) seems more useful for that.

And if it's really just for the 4 of us developers working on counters, we can 
recompile the code with 1 line commented to get the same behavior if we so 
wish. So not sure I feel it's worth taking the chance that someone hit that 
trigger in production by accident.

 support counter debug mode on thrift interface
 --

 Key: CASSANDRA-3729
 URL: https://issues.apache.org/jira/browse/CASSANDRA-3729
 Project: Cassandra
  Issue Type: Improvement
Reporter: Peter Schuller
Assignee: Peter Schuller
Priority: Minor
 Attachments: trunk-3729.txt


 Attaching a patch against trunk to add a counter debug mode on the thrift 
 interface, allowing clients to decode and inspect counter contexts. This is 
 all Stu's code, except that I generated the thrift stuff so any mistakes 
 there are mine.
 This was extremely useful internally on an 0.8. The patch is not yet tested 
 on trunk, but if you think this can go in I will spend effort to test it 
 soonish.
 It's not very invasive (other than the generated thrift code), so it feels 
 okay to have it if we maybe document that it is not a supported interface 
 (clearly in the thrift spec).

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (CASSANDRA-1123) Allow tracing query details

2012-01-12 Thread Shotaro Kamio (Commented) (JIRA)

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

Shotaro Kamio commented on CASSANDRA-1123:
--

Thrift request timeout should be interesting as well. Because a user gets 
time-out exception, but server doesn't have any log about that.
In our production cluster, we added logging where timedout exception is thrown. 
It logs warning message with the query itself for later investigation.


 Allow tracing query details
 ---

 Key: CASSANDRA-1123
 URL: https://issues.apache.org/jira/browse/CASSANDRA-1123
 Project: Cassandra
  Issue Type: New Feature
  Components: Core
Reporter: Jonathan Ellis
Assignee: Aaron Morton
 Fix For: 1.2

 Attachments: 1123-3.patch.gz


 In the spirit of CASSANDRA-511, it would be useful to tracing on queries to 
 see where latency is coming from: how long did row cache lookup take?  key 
 search in the index?  merging the data from the sstables?  etc.
 The main difference vs setting debug logging is that debug logging is too big 
 of a hammer; by turning on the flood of logging for everyone, you actually 
 distort the information you're looking for.  This would be something you 
 could set per-query (or more likely per connection).
 We don't need to be as sophisticated as the techniques discussed in the 
 following papers but they are interesting reading:
 http://research.google.com/pubs/pub36356.html
 http://www.usenix.org/events/osdi04/tech/full_papers/barham/barham_html/
 http://www.usenix.org/event/nsdi07/tech/fonseca.html

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




git commit: Have isIndexBuilt expunge all tombstones

2012-01-12 Thread slebresne
Updated Branches:
  refs/heads/cassandra-1.0 1e7501381 - c1f125b9b


Have isIndexBuilt expunge all tombstones


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/c1f125b9
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/c1f125b9
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/c1f125b9

Branch: refs/heads/cassandra-1.0
Commit: c1f125b9b61a1aafb65c0466a43ceddbf9e8e9f9
Parents: 1e75013
Author: Sylvain Lebresne sylv...@datastax.com
Authored: Thu Jan 12 09:11:25 2012 +0100
Committer: Sylvain Lebresne sylv...@datastax.com
Committed: Thu Jan 12 09:11:25 2012 +0100

--
 src/java/org/apache/cassandra/db/SystemTable.java |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/c1f125b9/src/java/org/apache/cassandra/db/SystemTable.java
--
diff --git a/src/java/org/apache/cassandra/db/SystemTable.java 
b/src/java/org/apache/cassandra/db/SystemTable.java
index 19e9f15..8f1adfc 100644
--- a/src/java/org/apache/cassandra/db/SystemTable.java
+++ b/src/java/org/apache/cassandra/db/SystemTable.java
@@ -382,7 +382,7 @@ public class SystemTable
 QueryFilter filter = 
QueryFilter.getNamesFilter(decorate(ByteBufferUtil.bytes(table)),
 new 
QueryPath(INDEX_CF),
 
ByteBufferUtil.bytes(indexName));
-return cfs.getColumnFamily(filter) != null;
+return ColumnFamilyStore.removeDeleted(cfs.getColumnFamily(filter), 
Integer.MAX_VALUE) != null;
 }
 
 public static void setIndexBuilt(String table, String indexName)



Git Push Summary

2012-01-12 Thread slebresne
Updated Tags:  refs/tags/1.0.7-tentative [created] c1f125b9b


[jira] [Commented] (CASSANDRA-3729) support counter debug mode on thrift interface

2012-01-12 Thread Peter Schuller (Commented) (JIRA)

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

Peter Schuller commented on CASSANDRA-3729:
---

Just to be clear, it's a per-client setting whether or not the counters are 
returned un-encoded or not. So one of the nice features is that you can take a 
running Cassandra instance (e.g. in production) and connect your client to it, 
enable debug mode *for your connection*, and inspect.

Before this I was doing sstable2json to filter out the key I wanted so I could 
iterate quickly, and then continuously rebuilding Cassandra with increasing 
amounts of debug loggings enabled. Doable, but it was very nice to have this ;)

A JMX setting sounds like it would be global. The reason to put it at the 
thrift level to begin with is that it's per-connection.

How about this: Suppose we create a developer-only service that extends the 
public service? Everything built using the public interface would not even be 
aware additional calls exist. Hmm. Or just have a separate thrift service with 
debug/dev-only calls, with e.g., a get_counter_context() or something like that.

I dunno. I understand the reluctance to dirty the public interface, yet this 
was so very useful.


 support counter debug mode on thrift interface
 --

 Key: CASSANDRA-3729
 URL: https://issues.apache.org/jira/browse/CASSANDRA-3729
 Project: Cassandra
  Issue Type: Improvement
Reporter: Peter Schuller
Assignee: Peter Schuller
Priority: Minor
 Attachments: trunk-3729.txt


 Attaching a patch against trunk to add a counter debug mode on the thrift 
 interface, allowing clients to decode and inspect counter contexts. This is 
 all Stu's code, except that I generated the thrift stuff so any mistakes 
 there are mine.
 This was extremely useful internally on an 0.8. The patch is not yet tested 
 on trunk, but if you think this can go in I will spend effort to test it 
 soonish.
 It's not very invasive (other than the generated thrift code), so it feels 
 okay to have it if we maybe document that it is not a supported interface 
 (clearly in the thrift spec).

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (CASSANDRA-3729) support counter debug mode on thrift interface

2012-01-12 Thread Sylvain Lebresne (Commented) (JIRA)

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

Sylvain Lebresne commented on CASSANDRA-3729:
-

bq. Just to be clear, it's a per-client setting

I missed that, sorry. It does is better than a JMX setting then.

bq. Suppose we create a developer-only service that extends the public service?

I suppose some form of debug console (which could take the form of a separate 
thrift service + some debug shell to connect to it) wouldn't be a crazy idea if 
it's clearly separated from the public API. Feels like a bit of work for just 
getting counter contexts, but maybe we can find other uses for it (for 
instance, we could disable access to the system keyspace from the public API, 
but enable it from the debug console).

 support counter debug mode on thrift interface
 --

 Key: CASSANDRA-3729
 URL: https://issues.apache.org/jira/browse/CASSANDRA-3729
 Project: Cassandra
  Issue Type: Improvement
Reporter: Peter Schuller
Assignee: Peter Schuller
Priority: Minor
 Attachments: trunk-3729.txt


 Attaching a patch against trunk to add a counter debug mode on the thrift 
 interface, allowing clients to decode and inspect counter contexts. This is 
 all Stu's code, except that I generated the thrift stuff so any mistakes 
 there are mine.
 This was extremely useful internally on an 0.8. The patch is not yet tested 
 on trunk, but if you think this can go in I will spend effort to test it 
 soonish.
 It's not very invasive (other than the generated thrift code), so it feels 
 okay to have it if we maybe document that it is not a supported interface 
 (clearly in the thrift spec).

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (CASSANDRA-3634) compare string vs. binary prepared statement parameters

2012-01-12 Thread Sylvain Lebresne (Commented) (JIRA)

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

Sylvain Lebresne commented on CASSANDRA-3634:
-

If we are trading some (one time) additional work on the driver's author to 
support prepared statement against a potential 10%, I'd be in favor of the 
binary approach (given that prepared statement are an optimization for 
performance in the first place, and without saying that we shouldn't care about 
making driver's author life as easy as possible).

Now I'd mention that I think the binary approach is actually more problematic 
for custom comparators, because drivers will need to expose a way for the user 
to either say how to pack their strings, or to directly provide pre-serialized 
binary. Which then put a little more burden on the user (of course the user 
knows of to serialize the strings for his custom comparator since he write the 
comparator, but this means a duplication of code for him, possibly in multiple 
languages, which is no fun).

 compare string vs. binary prepared statement parameters
 ---

 Key: CASSANDRA-3634
 URL: https://issues.apache.org/jira/browse/CASSANDRA-3634
 Project: Cassandra
  Issue Type: Sub-task
  Components: API, Core
Reporter: Eric Evans
Assignee: Eric Evans
Priority: Minor
  Labels: cql
 Fix For: 1.1


 Perform benchmarks to compare the performance of string and pre-serialized 
 binary parameters to prepared statements.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Resolved] (CASSANDRA-3727) Fix unit tests failure

2012-01-12 Thread Sylvain Lebresne (Resolved) (JIRA)

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

Sylvain Lebresne resolved CASSANDRA-3727.
-

Resolution: Fixed

I still had intermittent failure of columnFamilyStoreTest, but because 
SystemTable.isIndexBuilt() was suffering from the same 'I forgot to expunge 
tombstones' problem than SystemTable.loadTokens(). I took on myself to commit 
the same fix for that instance directly (and check no other method had this 
problem).

So closing this as all tests are now passing.

However I'd be interested to know if anyone else is seeing the 'unable to 
create link' stack trace during tests, because if so we should probably open 
another ticket to investigate.

 Fix unit tests failure
 --

 Key: CASSANDRA-3727
 URL: https://issues.apache.org/jira/browse/CASSANDRA-3727
 Project: Cassandra
  Issue Type: Bug
  Components: Tests
Affects Versions: 1.0.7
Reporter: Sylvain Lebresne
Priority: Blocker
 Fix For: 1.0.7

 Attachments: 3727.txt, CASSANDRA-3727-CliTest-timeout-fix.patch


 On current 1.0 branch (and on my machine: Linux), I have the following unit 
 test failures:
 * CliTest and EmbeddedCassandraTest: they both first kind of pass (JUnit 
 first prints a message with no failures in it), then hang until JUnit timeout 
 and fails with a 'Timeout occurred'. In other word, the tests themselves are 
 passing, but something they do prevents the process to exit cleanly leading 
 to a JUnit timeout. I don't want to discard that as not a problem, because if 
 something can make the process not exit cleanly, this can be a pain for 
 restarts (and in particular upgrades) and hence would be basically a 
 regression. I'm marking the ticket as blocker (for the release of 1.0.7) 
 mostly because of this one.
 * SystemTableTest: throws an assertionError. I haven't checked yet, so that 
 could be an easy one to fix.
 * RemoveTest: it fails, saying that '/127.0.0.1:7010 is in use by another 
 process' (consistently). But I have no other process running on port 7010. 
 It's likely just of problem of the test, but it's new and in the meantime 
 removes are not tested.
 * I also see a bunch of stack trace with errors like:
 {noformat}
 [junit] ERROR 10:01:59,007 Fatal exception in thread 
 Thread[NonPeriodicTasks:1,5,main]
 [junit] java.lang.RuntimeException: java.io.IOException: Unable to create 
 hard link from build/test/cassandra/data/Keyspace1/Indexed1-hc-1-Index.db to 
 /home/mcmanus/Git/cassandra/build/test/cassandra/data/Keyspace1/backups/Indexed1-hc-1-Index.db
  (errno 17)
 {noformat}
 (with SSTableReaderTest). This does not make the tests fail, but it is still 
 worth investigating. It may be due to CASSANDRA-3101.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




Git Push Summary

2012-01-12 Thread slebresne
Updated Tags:  refs/tags/1.0.7-tentative [deleted] c1f125b9b


git commit: Fix mistake in NEWS file

2012-01-12 Thread slebresne
Updated Branches:
  refs/heads/cassandra-1.0 c1f125b9b - d7e40a1cd


Fix mistake in NEWS file


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/d7e40a1c
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/d7e40a1c
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/d7e40a1c

Branch: refs/heads/cassandra-1.0
Commit: d7e40a1cdd3394ea5f5178e1b01ff693a0f173c2
Parents: c1f125b
Author: Sylvain Lebresne sylv...@datastax.com
Authored: Thu Jan 12 10:30:25 2012 +0100
Committer: Sylvain Lebresne sylv...@datastax.com
Committed: Thu Jan 12 10:30:25 2012 +0100

--
 NEWS.txt |   14 +++---
 1 files changed, 7 insertions(+), 7 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/d7e40a1c/NEWS.txt
--
diff --git a/NEWS.txt b/NEWS.txt
index 2356faa..2c29606 100644
--- a/NEWS.txt
+++ b/NEWS.txt
@@ -15,6 +15,13 @@ Upgrading
 -
 - Nothing specific to 1.0.7, please report to instruction for 1.0.6
 
+Other
+-
+- Adds new setstreamthroughput to nodetool to configure streaming
+  throttling
+- Adds JMX property to get/set rpc_timeout_in_ms at runtime
+- Allow configuring (per-CF) bloom_filter_fp_chance
+
 
 1.0.6
 =
@@ -29,13 +36,6 @@ Upgrading
   setting the right value and then run scrub on the column family.
 - Please report to instruction for 1.0.5 if coming from an older version.
 
-Other
--
-- Adds new setstreamthroughput to nodetool to configure streaming
-  throttling
-- Adds JMX property to get/set rpc_timeout_in_ms at runtime
-- Allow configuring (per-CF) bloom_filter_fp_chance
-
 
 1.0.5
 =



Git Push Summary

2012-01-12 Thread slebresne
Updated Tags:  refs/tags/1.0.7-tentative [created] d7e40a1cd


[jira] [Created] (CASSANDRA-3730) If some streaming sessions fail on decommission, decommission hangs

2012-01-12 Thread Vitalii Tymchyshyn (Created) (JIRA)
If some streaming sessions fail on decommission, decommission hangs
---

 Key: CASSANDRA-3730
 URL: https://issues.apache.org/jira/browse/CASSANDRA-3730
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 1.1
 Environment: FreeBSD
Reporter: Vitalii Tymchyshyn


Currently cassandra do not handle StreamOutSession fails, e.g.:


// Instead of just not calling the callback on failure, we could have
// allow to register a specific callback for failures, but we leave
// that to a future ticket (likely CASSANDRA-3112)
if (callback != null  success)
callback.run();

This means that if during decommission a node that receives decommission data 
fails or (my case) the node that tries to decommission becomes overloaded, the 
streaming session fails and decommission don't know anything about this. This 
makes it hard to decommission overloaded nodes because I need to restart the 
node to restart decommission.

Also I can see next errors because of streaming files try to get streaming 
session that is closed by gossip:
ERROR [Streaming to /10.112.0.216:1] 2012-01-11 15:57:28,882 
AbstractCassandraDaemon.java (line 138) Fatal exception in thread 
Thread[Streaming to /10.112.0.216:1,5,main]
java.lang.NullPointerException
at 
org.apache.cassandra.streaming.FileStreamTask.runMayThrow(FileStreamTask.java:97)
at 
org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:30)
at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:679)



--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Created] (CASSANDRA-3731) bad data size in compactionstats

2012-01-12 Thread Zenek Kraweznik (Created) (JIRA)
bad data size in compactionstats


 Key: CASSANDRA-3731
 URL: https://issues.apache.org/jira/browse/CASSANDRA-3731
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 1.0.6
 Environment: debian, oracle java 1.6.26

LeveledCompaction with 4096M (file size limit is 4096MB)

count of sstables  500

Reporter: Zenek Kraweznik


pending tasks: -2147483648
compaction type keyspace column family bytes compacted bytes total progress
Compaction Archive Messages 35050352366 *0* n/a


0 bytes total is visible on this node (nodetool ring is reporting 37.18GB).

After every compactions bytes total is about 73x (i guess it is not 
compress data size), but this value isn't saved anywhere.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Created] (CASSANDRA-3732) Update POM generation after migration to git

2012-01-12 Thread Sylvain Lebresne (Created) (JIRA)
Update POM generation after migration to git


 Key: CASSANDRA-3732
 URL: https://issues.apache.org/jira/browse/CASSANDRA-3732
 Project: Cassandra
  Issue Type: Bug
  Components: Packaging
Reporter: Sylvain Lebresne
Assignee: Stephen Connolly
Priority: Minor




--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (CASSANDRA-1123) Allow tracing query details

2012-01-12 Thread Jonathan Ellis (Commented) (JIRA)

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

Jonathan Ellis commented on CASSANDRA-1123:
---

The CassandraServer class logs timeouts at DEBUG level (see CASSANDRA-3661).  
But I agree this would be a useful event to record.

 Allow tracing query details
 ---

 Key: CASSANDRA-1123
 URL: https://issues.apache.org/jira/browse/CASSANDRA-1123
 Project: Cassandra
  Issue Type: New Feature
  Components: Core
Reporter: Jonathan Ellis
Assignee: Aaron Morton
 Fix For: 1.2

 Attachments: 1123-3.patch.gz


 In the spirit of CASSANDRA-511, it would be useful to tracing on queries to 
 see where latency is coming from: how long did row cache lookup take?  key 
 search in the index?  merging the data from the sstables?  etc.
 The main difference vs setting debug logging is that debug logging is too big 
 of a hammer; by turning on the flood of logging for everyone, you actually 
 distort the information you're looking for.  This would be something you 
 could set per-query (or more likely per connection).
 We don't need to be as sophisticated as the techniques discussed in the 
 following papers but they are interesting reading:
 http://research.google.com/pubs/pub36356.html
 http://www.usenix.org/events/osdi04/tech/full_papers/barham/barham_html/
 http://www.usenix.org/event/nsdi07/tech/fonseca.html

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (CASSANDRA-3634) compare string vs. binary prepared statement parameters

2012-01-12 Thread Jonathan Ellis (Commented) (JIRA)

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

Jonathan Ellis commented on CASSANDRA-3634:
---

bq. this means a duplication of code for him, possibly in multiple languages, 
which is no fun

True, but that's the case for a String-based api as well as a binary one.

 compare string vs. binary prepared statement parameters
 ---

 Key: CASSANDRA-3634
 URL: https://issues.apache.org/jira/browse/CASSANDRA-3634
 Project: Cassandra
  Issue Type: Sub-task
  Components: API, Core
Reporter: Eric Evans
Assignee: Eric Evans
Priority: Minor
  Labels: cql
 Fix For: 1.1


 Perform benchmarks to compare the performance of string and pre-serialized 
 binary parameters to prepared statements.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Created] (CASSANDRA-3733) Once a host has been hinted to, log messages for it repeat every 10 mins even if no hints are delivered

2012-01-12 Thread Brandon Williams (Created) (JIRA)
Once a host has been hinted to, log messages for it repeat every 10 mins even 
if no hints are delivered
---

 Key: CASSANDRA-3733
 URL: https://issues.apache.org/jira/browse/CASSANDRA-3733
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 1.0.7
Reporter: Brandon Williams
Priority: Minor


{noformat}
 INFO 15:36:03,977 Started hinted handoff for token: 
170141183460469231731687303715884105726 with IP: /10.179.111.137
 INFO 15:36:03,978 Finished hinted handoff of 0 rows to endpoint /10.179.111.137
 INFO 15:46:31,248 Started hinted handoff for token: 
170141183460469231731687303715884105726 with IP: /10.179.111.137
 INFO 15:46:31,249 Finished hinted handoff of 0 rows to endpoint /10.179.111.137
 INFO 15:56:29,448 Started hinted handoff for token: 
170141183460469231731687303715884105726 with IP: /10.179.111.137
 INFO 15:56:29,449 Finished hinted handoff of 0 rows to endpoint /10.179.111.137
 INFO 16:06:09,949 Started hinted handoff for token: 
170141183460469231731687303715884105726 with IP: /10.179.111.137
 INFO 16:06:09,950 Finished hinted handoff of 0 rows to endpoint /10.179.111.137
 INFO 16:16:21,529 Started hinted handoff for token: 
170141183460469231731687303715884105726 with IP: /10.179.111.137
 INFO 16:16:21,530 Finished hinted handoff of 0 rows to endpoint /10.179.111.137
{noformat}

Introducing by CASSANDRA-3554.  The problem is that until a compaction on hints 
occurs, tombstones are present causing the isEmpty() check to be false.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (CASSANDRA-3733) Once a host has been hinted to, log messages for it repeat every 10 mins even if no hints are delivered

2012-01-12 Thread Jonathan Ellis (Commented) (JIRA)

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

Jonathan Ellis commented on CASSANDRA-3733:
---

Why doesn't this take care of it?

{code}
.   if (rowsReplayed  0)
{
hintStore.forceFlush();
try
{
CompactionManager.instance.submitMaximal(hintStore, 
Integer.MAX_VALUE).get();
}
catch (Exception e)
{
throw new RuntimeException(e);
}
}
{code}

 Once a host has been hinted to, log messages for it repeat every 10 mins even 
 if no hints are delivered
 ---

 Key: CASSANDRA-3733
 URL: https://issues.apache.org/jira/browse/CASSANDRA-3733
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 1.0.7
Reporter: Brandon Williams
Priority: Minor

 {noformat}
  INFO 15:36:03,977 Started hinted handoff for token: 
 170141183460469231731687303715884105726 with IP: /10.179.111.137
  INFO 15:36:03,978 Finished hinted handoff of 0 rows to endpoint 
 /10.179.111.137
  INFO 15:46:31,248 Started hinted handoff for token: 
 170141183460469231731687303715884105726 with IP: /10.179.111.137
  INFO 15:46:31,249 Finished hinted handoff of 0 rows to endpoint 
 /10.179.111.137
  INFO 15:56:29,448 Started hinted handoff for token: 
 170141183460469231731687303715884105726 with IP: /10.179.111.137
  INFO 15:56:29,449 Finished hinted handoff of 0 rows to endpoint 
 /10.179.111.137
  INFO 16:06:09,949 Started hinted handoff for token: 
 170141183460469231731687303715884105726 with IP: /10.179.111.137
  INFO 16:06:09,950 Finished hinted handoff of 0 rows to endpoint 
 /10.179.111.137
  INFO 16:16:21,529 Started hinted handoff for token: 
 170141183460469231731687303715884105726 with IP: /10.179.111.137
  INFO 16:16:21,530 Finished hinted handoff of 0 rows to endpoint 
 /10.179.111.137
 {noformat}
 Introduced by CASSANDRA-3554.  The problem is that until a compaction on 
 hints occurs, tombstones are present causing the isEmpty() check to be false.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Updated] (CASSANDRA-3733) Once a host has been hinted to, log messages for it repeat every 10 mins even if no hints are delivered

2012-01-12 Thread Brandon Williams (Updated) (JIRA)

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

Brandon Williams updated CASSANDRA-3733:


Description: 
{noformat}
 INFO 15:36:03,977 Started hinted handoff for token: 
170141183460469231731687303715884105726 with IP: /10.179.111.137
 INFO 15:36:03,978 Finished hinted handoff of 0 rows to endpoint /10.179.111.137
 INFO 15:46:31,248 Started hinted handoff for token: 
170141183460469231731687303715884105726 with IP: /10.179.111.137
 INFO 15:46:31,249 Finished hinted handoff of 0 rows to endpoint /10.179.111.137
 INFO 15:56:29,448 Started hinted handoff for token: 
170141183460469231731687303715884105726 with IP: /10.179.111.137
 INFO 15:56:29,449 Finished hinted handoff of 0 rows to endpoint /10.179.111.137
 INFO 16:06:09,949 Started hinted handoff for token: 
170141183460469231731687303715884105726 with IP: /10.179.111.137
 INFO 16:06:09,950 Finished hinted handoff of 0 rows to endpoint /10.179.111.137
 INFO 16:16:21,529 Started hinted handoff for token: 
170141183460469231731687303715884105726 with IP: /10.179.111.137
 INFO 16:16:21,530 Finished hinted handoff of 0 rows to endpoint /10.179.111.137
{noformat}

Introduced by CASSANDRA-3554.  The problem is that until a compaction on hints 
occurs, tombstones are present causing the isEmpty() check to be false.

  was:
{noformat}
 INFO 15:36:03,977 Started hinted handoff for token: 
170141183460469231731687303715884105726 with IP: /10.179.111.137
 INFO 15:36:03,978 Finished hinted handoff of 0 rows to endpoint /10.179.111.137
 INFO 15:46:31,248 Started hinted handoff for token: 
170141183460469231731687303715884105726 with IP: /10.179.111.137
 INFO 15:46:31,249 Finished hinted handoff of 0 rows to endpoint /10.179.111.137
 INFO 15:56:29,448 Started hinted handoff for token: 
170141183460469231731687303715884105726 with IP: /10.179.111.137
 INFO 15:56:29,449 Finished hinted handoff of 0 rows to endpoint /10.179.111.137
 INFO 16:06:09,949 Started hinted handoff for token: 
170141183460469231731687303715884105726 with IP: /10.179.111.137
 INFO 16:06:09,950 Finished hinted handoff of 0 rows to endpoint /10.179.111.137
 INFO 16:16:21,529 Started hinted handoff for token: 
170141183460469231731687303715884105726 with IP: /10.179.111.137
 INFO 16:16:21,530 Finished hinted handoff of 0 rows to endpoint /10.179.111.137
{noformat}

Introducing by CASSANDRA-3554.  The problem is that until a compaction on hints 
occurs, tombstones are present causing the isEmpty() check to be false.


 Once a host has been hinted to, log messages for it repeat every 10 mins even 
 if no hints are delivered
 ---

 Key: CASSANDRA-3733
 URL: https://issues.apache.org/jira/browse/CASSANDRA-3733
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 1.0.7
Reporter: Brandon Williams
Priority: Minor

 {noformat}
  INFO 15:36:03,977 Started hinted handoff for token: 
 170141183460469231731687303715884105726 with IP: /10.179.111.137
  INFO 15:36:03,978 Finished hinted handoff of 0 rows to endpoint 
 /10.179.111.137
  INFO 15:46:31,248 Started hinted handoff for token: 
 170141183460469231731687303715884105726 with IP: /10.179.111.137
  INFO 15:46:31,249 Finished hinted handoff of 0 rows to endpoint 
 /10.179.111.137
  INFO 15:56:29,448 Started hinted handoff for token: 
 170141183460469231731687303715884105726 with IP: /10.179.111.137
  INFO 15:56:29,449 Finished hinted handoff of 0 rows to endpoint 
 /10.179.111.137
  INFO 16:06:09,949 Started hinted handoff for token: 
 170141183460469231731687303715884105726 with IP: /10.179.111.137
  INFO 16:06:09,950 Finished hinted handoff of 0 rows to endpoint 
 /10.179.111.137
  INFO 16:16:21,529 Started hinted handoff for token: 
 170141183460469231731687303715884105726 with IP: /10.179.111.137
  INFO 16:16:21,530 Finished hinted handoff of 0 rows to endpoint 
 /10.179.111.137
 {noformat}
 Introduced by CASSANDRA-3554.  The problem is that until a compaction on 
 hints occurs, tombstones are present causing the isEmpty() check to be false.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Updated] (CASSANDRA-3668) Performance of sstableloader is affected in 1.0.x

2012-01-12 Thread Yuki Morishita (Updated) (JIRA)

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

Yuki Morishita updated CASSANDRA-3668:
--

Attachment: 3688-reply_before_closing_writer.txt

So far I found one place that can improve throughput.

Right now, node that receive streaming replies finished after finalizing 
sstable, but that takes some time (few hundred msec / per data file), so sender 
has to wait that amount of time before transferring next file.

Attached patch modifies this behavior so that node can send reply as soon as 
receiving whole data file and sender can proceed immediately to send next file.

Manish, could you try this patch and see how it improves? It can be applied on 
cassandra 1.0.6 as well as the latest cassandra-1.0 branch.

I'm still investigating other improvements especially buffering. If I find 
anything, I will post them here.

 Performance of sstableloader is affected in 1.0.x
 -

 Key: CASSANDRA-3668
 URL: https://issues.apache.org/jira/browse/CASSANDRA-3668
 Project: Cassandra
  Issue Type: Bug
  Components: API
Affects Versions: 1.0.7
Reporter: Manish Zope
Assignee: Yuki Morishita
 Fix For: 1.0.8

 Attachments: 3688-reply_before_closing_writer.txt, sstable-loader 
 performance.txt

   Original Estimate: 48h
  Remaining Estimate: 48h

 One of my colleague had reported the bug regarding the degraded performance 
 of the sstable generator and sstable loader.
 ISSUE :- https://issues.apache.org/jira/browse/CASSANDRA-3589 
 As stated in above issue generator performance is rectified but performance 
 of the sstableloader is still an issue.
 3589 is marked as duplicate of 3618.Both issues shows resolved status.But the 
 problem with sstableloader still exists.
 So opening other issue so that sstbleloader problem should not go unnoticed.
 FYI : We have tested the generator part with the patch given in 3589.Its 
 Working fine.
 Please let us know if you guys require further inputs from our side.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (CASSANDRA-3668) Performance of sstableloader is affected in 1.0.x

2012-01-12 Thread Jonathan Ellis (Commented) (JIRA)

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

Jonathan Ellis commented on CASSANDRA-3668:
---

bq. Attached patch modifies this behavior so that node can send reply as soon 
as receiving whole data file 

Doesn't this mean that if the target restarts after acking the stream, but 
before finishing the 2ary index builds, that data will never be indexed but 
we'll have no indication it didn't happen?

If this is the bottleneck I'd rather add a concurrency option to the bulk 
loader as a workaround.

 Performance of sstableloader is affected in 1.0.x
 -

 Key: CASSANDRA-3668
 URL: https://issues.apache.org/jira/browse/CASSANDRA-3668
 Project: Cassandra
  Issue Type: Bug
  Components: API
Affects Versions: 1.0.7
Reporter: Manish Zope
Assignee: Yuki Morishita
 Fix For: 1.0.8

 Attachments: 3688-reply_before_closing_writer.txt, sstable-loader 
 performance.txt

   Original Estimate: 48h
  Remaining Estimate: 48h

 One of my colleague had reported the bug regarding the degraded performance 
 of the sstable generator and sstable loader.
 ISSUE :- https://issues.apache.org/jira/browse/CASSANDRA-3589 
 As stated in above issue generator performance is rectified but performance 
 of the sstableloader is still an issue.
 3589 is marked as duplicate of 3618.Both issues shows resolved status.But the 
 problem with sstableloader still exists.
 So opening other issue so that sstbleloader problem should not go unnoticed.
 FYI : We have tested the generator part with the patch given in 3589.Its 
 Working fine.
 Please let us know if you guys require further inputs from our side.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Updated] (CASSANDRA-3733) Once a host has been hinted to, log messages for it repeat every 10 mins even if no hints are delivered

2012-01-12 Thread Brandon Williams (Updated) (JIRA)

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

Brandon Williams updated CASSANDRA-3733:


Attachment: 3733.txt

Patch to make flushes blocking.

 Once a host has been hinted to, log messages for it repeat every 10 mins even 
 if no hints are delivered
 ---

 Key: CASSANDRA-3733
 URL: https://issues.apache.org/jira/browse/CASSANDRA-3733
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 1.0.7
Reporter: Brandon Williams
Priority: Minor
 Attachments: 3733.txt


 {noformat}
  INFO 15:36:03,977 Started hinted handoff for token: 
 170141183460469231731687303715884105726 with IP: /10.179.111.137
  INFO 15:36:03,978 Finished hinted handoff of 0 rows to endpoint 
 /10.179.111.137
  INFO 15:46:31,248 Started hinted handoff for token: 
 170141183460469231731687303715884105726 with IP: /10.179.111.137
  INFO 15:46:31,249 Finished hinted handoff of 0 rows to endpoint 
 /10.179.111.137
  INFO 15:56:29,448 Started hinted handoff for token: 
 170141183460469231731687303715884105726 with IP: /10.179.111.137
  INFO 15:56:29,449 Finished hinted handoff of 0 rows to endpoint 
 /10.179.111.137
  INFO 16:06:09,949 Started hinted handoff for token: 
 170141183460469231731687303715884105726 with IP: /10.179.111.137
  INFO 16:06:09,950 Finished hinted handoff of 0 rows to endpoint 
 /10.179.111.137
  INFO 16:16:21,529 Started hinted handoff for token: 
 170141183460469231731687303715884105726 with IP: /10.179.111.137
  INFO 16:16:21,530 Finished hinted handoff of 0 rows to endpoint 
 /10.179.111.137
 {noformat}
 Introduced by CASSANDRA-3554.  The problem is that until a compaction on 
 hints occurs, tombstones are present causing the isEmpty() check to be false.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (CASSANDRA-3733) Once a host has been hinted to, log messages for it repeat every 10 mins even if no hints are delivered

2012-01-12 Thread Jonathan Ellis (Commented) (JIRA)

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

Jonathan Ellis commented on CASSANDRA-3733:
---

+1

 Once a host has been hinted to, log messages for it repeat every 10 mins even 
 if no hints are delivered
 ---

 Key: CASSANDRA-3733
 URL: https://issues.apache.org/jira/browse/CASSANDRA-3733
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 1.0.7
Reporter: Brandon Williams
Priority: Minor
 Attachments: 3733.txt


 {noformat}
  INFO 15:36:03,977 Started hinted handoff for token: 
 170141183460469231731687303715884105726 with IP: /10.179.111.137
  INFO 15:36:03,978 Finished hinted handoff of 0 rows to endpoint 
 /10.179.111.137
  INFO 15:46:31,248 Started hinted handoff for token: 
 170141183460469231731687303715884105726 with IP: /10.179.111.137
  INFO 15:46:31,249 Finished hinted handoff of 0 rows to endpoint 
 /10.179.111.137
  INFO 15:56:29,448 Started hinted handoff for token: 
 170141183460469231731687303715884105726 with IP: /10.179.111.137
  INFO 15:56:29,449 Finished hinted handoff of 0 rows to endpoint 
 /10.179.111.137
  INFO 16:06:09,949 Started hinted handoff for token: 
 170141183460469231731687303715884105726 with IP: /10.179.111.137
  INFO 16:06:09,950 Finished hinted handoff of 0 rows to endpoint 
 /10.179.111.137
  INFO 16:16:21,529 Started hinted handoff for token: 
 170141183460469231731687303715884105726 with IP: /10.179.111.137
  INFO 16:16:21,530 Finished hinted handoff of 0 rows to endpoint 
 /10.179.111.137
 {noformat}
 Introduced by CASSANDRA-3554.  The problem is that until a compaction on 
 hints occurs, tombstones are present causing the isEmpty() check to be false.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




git commit: Block on flush before submitting compaction for hints. Patch by brandonwilliams, reviewed by jbellis for CASSANDRA-3733

2012-01-12 Thread brandonwilliams
Updated Branches:
  refs/heads/cassandra-1.0 d7e40a1cd - cafeeebd1


Block on flush before submitting compaction for hints.
Patch by brandonwilliams, reviewed by jbellis for CASSANDRA-3733


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/cafeeebd
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/cafeeebd
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/cafeeebd

Branch: refs/heads/cassandra-1.0
Commit: cafeeebd17b208e12313bea9da0972e6f4c5cdf8
Parents: d7e40a1
Author: Brandon Williams brandonwilli...@apache.org
Authored: Thu Jan 12 10:54:22 2012 -0600
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Thu Jan 12 10:54:22 2012 -0600

--
 .../apache/cassandra/db/HintedHandOffManager.java  |4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/cafeeebd/src/java/org/apache/cassandra/db/HintedHandOffManager.java
--
diff --git a/src/java/org/apache/cassandra/db/HintedHandOffManager.java 
b/src/java/org/apache/cassandra/db/HintedHandOffManager.java
index 0b92821..a83fbab 100644
--- a/src/java/org/apache/cassandra/db/HintedHandOffManager.java
+++ b/src/java/org/apache/cassandra/db/HintedHandOffManager.java
@@ -179,7 +179,7 @@ public class HintedHandOffManager implements 
HintedHandOffManagerMBean
 {
 logger_.info(Deleting any stored hints for  + endpoint);
 rm.apply();
-hintStore.forceFlush();
+hintStore.forceBlockingFlush();
 CompactionManager.instance.submitMaximal(hintStore, 
Integer.MAX_VALUE);
 }
 catch (Exception e)
@@ -359,9 +359,9 @@ public class HintedHandOffManager implements 
HintedHandOffManagerMBean
 
 if (rowsReplayed  0)
 {
-hintStore.forceFlush();
 try
 {
+hintStore.forceBlockingFlush();
 CompactionManager.instance.submitMaximal(hintStore, 
Integer.MAX_VALUE).get();
 }
 catch (Exception e)



[jira] [Resolved] (CASSANDRA-3733) Once a host has been hinted to, log messages for it repeat every 10 mins even if no hints are delivered

2012-01-12 Thread Brandon Williams (Resolved) (JIRA)

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

Brandon Williams resolved CASSANDRA-3733.
-

Resolution: Fixed

Committed.

 Once a host has been hinted to, log messages for it repeat every 10 mins even 
 if no hints are delivered
 ---

 Key: CASSANDRA-3733
 URL: https://issues.apache.org/jira/browse/CASSANDRA-3733
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 1.0.7
Reporter: Brandon Williams
Assignee: Brandon Williams
Priority: Minor
 Fix For: 1.0.8

 Attachments: 3733.txt


 {noformat}
  INFO 15:36:03,977 Started hinted handoff for token: 
 170141183460469231731687303715884105726 with IP: /10.179.111.137
  INFO 15:36:03,978 Finished hinted handoff of 0 rows to endpoint 
 /10.179.111.137
  INFO 15:46:31,248 Started hinted handoff for token: 
 170141183460469231731687303715884105726 with IP: /10.179.111.137
  INFO 15:46:31,249 Finished hinted handoff of 0 rows to endpoint 
 /10.179.111.137
  INFO 15:56:29,448 Started hinted handoff for token: 
 170141183460469231731687303715884105726 with IP: /10.179.111.137
  INFO 15:56:29,449 Finished hinted handoff of 0 rows to endpoint 
 /10.179.111.137
  INFO 16:06:09,949 Started hinted handoff for token: 
 170141183460469231731687303715884105726 with IP: /10.179.111.137
  INFO 16:06:09,950 Finished hinted handoff of 0 rows to endpoint 
 /10.179.111.137
  INFO 16:16:21,529 Started hinted handoff for token: 
 170141183460469231731687303715884105726 with IP: /10.179.111.137
  INFO 16:16:21,530 Finished hinted handoff of 0 rows to endpoint 
 /10.179.111.137
 {noformat}
 Introduced by CASSANDRA-3554.  The problem is that until a compaction on 
 hints occurs, tombstones are present causing the isEmpty() check to be false.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (CASSANDRA-3733) Once a host has been hinted to, log messages for it repeat every 10 mins even if no hints are delivered

2012-01-12 Thread Jonathan Ellis (Commented) (JIRA)

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

Jonathan Ellis commented on CASSANDRA-3733:
---

the tombstone buffering on the next attempt could cause OOMs similar to 
CASSANDRA-3681, as well.

 Once a host has been hinted to, log messages for it repeat every 10 mins even 
 if no hints are delivered
 ---

 Key: CASSANDRA-3733
 URL: https://issues.apache.org/jira/browse/CASSANDRA-3733
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 1.0.7
Reporter: Brandon Williams
Priority: Minor
 Fix For: 1.0.8

 Attachments: 3733.txt


 {noformat}
  INFO 15:36:03,977 Started hinted handoff for token: 
 170141183460469231731687303715884105726 with IP: /10.179.111.137
  INFO 15:36:03,978 Finished hinted handoff of 0 rows to endpoint 
 /10.179.111.137
  INFO 15:46:31,248 Started hinted handoff for token: 
 170141183460469231731687303715884105726 with IP: /10.179.111.137
  INFO 15:46:31,249 Finished hinted handoff of 0 rows to endpoint 
 /10.179.111.137
  INFO 15:56:29,448 Started hinted handoff for token: 
 170141183460469231731687303715884105726 with IP: /10.179.111.137
  INFO 15:56:29,449 Finished hinted handoff of 0 rows to endpoint 
 /10.179.111.137
  INFO 16:06:09,949 Started hinted handoff for token: 
 170141183460469231731687303715884105726 with IP: /10.179.111.137
  INFO 16:06:09,950 Finished hinted handoff of 0 rows to endpoint 
 /10.179.111.137
  INFO 16:16:21,529 Started hinted handoff for token: 
 170141183460469231731687303715884105726 with IP: /10.179.111.137
  INFO 16:16:21,530 Finished hinted handoff of 0 rows to endpoint 
 /10.179.111.137
 {noformat}
 Introduced by CASSANDRA-3554.  The problem is that until a compaction on 
 hints occurs, tombstones are present causing the isEmpty() check to be false.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (CASSANDRA-3668) Performance of sstableloader is affected in 1.0.x

2012-01-12 Thread Sylvain Lebresne (Commented) (JIRA)

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

Sylvain Lebresne commented on CASSANDRA-3668:
-

Isn't CASSANDRA-3494 that concurrency option?

 Performance of sstableloader is affected in 1.0.x
 -

 Key: CASSANDRA-3668
 URL: https://issues.apache.org/jira/browse/CASSANDRA-3668
 Project: Cassandra
  Issue Type: Bug
  Components: API
Affects Versions: 1.0.7
Reporter: Manish Zope
Assignee: Yuki Morishita
 Fix For: 1.0.8

 Attachments: 3688-reply_before_closing_writer.txt, sstable-loader 
 performance.txt

   Original Estimate: 48h
  Remaining Estimate: 48h

 One of my colleague had reported the bug regarding the degraded performance 
 of the sstable generator and sstable loader.
 ISSUE :- https://issues.apache.org/jira/browse/CASSANDRA-3589 
 As stated in above issue generator performance is rectified but performance 
 of the sstableloader is still an issue.
 3589 is marked as duplicate of 3618.Both issues shows resolved status.But the 
 problem with sstableloader still exists.
 So opening other issue so that sstbleloader problem should not go unnoticed.
 FYI : We have tested the generator part with the patch given in 3589.Its 
 Working fine.
 Please let us know if you guys require further inputs from our side.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[4/4] git commit: Have isIndexBuilt expunge all tombstones

2012-01-12 Thread brandonwilliams
Have isIndexBuilt expunge all tombstones


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/c1f125b9
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/c1f125b9
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/c1f125b9

Branch: refs/heads/trunk
Commit: c1f125b9b61a1aafb65c0466a43ceddbf9e8e9f9
Parents: 1e75013
Author: Sylvain Lebresne sylv...@datastax.com
Authored: Thu Jan 12 09:11:25 2012 +0100
Committer: Sylvain Lebresne sylv...@datastax.com
Committed: Thu Jan 12 09:11:25 2012 +0100

--
 src/java/org/apache/cassandra/db/SystemTable.java |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/c1f125b9/src/java/org/apache/cassandra/db/SystemTable.java
--
diff --git a/src/java/org/apache/cassandra/db/SystemTable.java 
b/src/java/org/apache/cassandra/db/SystemTable.java
index 19e9f15..8f1adfc 100644
--- a/src/java/org/apache/cassandra/db/SystemTable.java
+++ b/src/java/org/apache/cassandra/db/SystemTable.java
@@ -382,7 +382,7 @@ public class SystemTable
 QueryFilter filter = 
QueryFilter.getNamesFilter(decorate(ByteBufferUtil.bytes(table)),
 new 
QueryPath(INDEX_CF),
 
ByteBufferUtil.bytes(indexName));
-return cfs.getColumnFamily(filter) != null;
+return ColumnFamilyStore.removeDeleted(cfs.getColumnFamily(filter), 
Integer.MAX_VALUE) != null;
 }
 
 public static void setIndexBuilt(String table, String indexName)



[1/4] git commit: Merge branch 'cassandra-1.0' into trunk

2012-01-12 Thread brandonwilliams
Updated Branches:
  refs/heads/trunk b3a378c02 - cfd9399dc


Merge branch 'cassandra-1.0' into trunk


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/cfd9399d
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/cfd9399d
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/cfd9399d

Branch: refs/heads/trunk
Commit: cfd9399dce96127c868b35fcc91dcd8514165b41
Parents: b3a378c cafeeeb
Author: Brandon Williams brandonwilli...@apache.org
Authored: Thu Jan 12 10:58:34 2012 -0600
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Thu Jan 12 10:58:34 2012 -0600

--
 NEWS.txt   |   14 +++---
 .../apache/cassandra/db/HintedHandOffManager.java  |4 ++--
 src/java/org/apache/cassandra/db/SystemTable.java  |2 +-
 3 files changed, 10 insertions(+), 10 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/cfd9399d/NEWS.txt
--

http://git-wip-us.apache.org/repos/asf/cassandra/blob/cfd9399d/src/java/org/apache/cassandra/db/HintedHandOffManager.java
--



[3/4] git commit: Fix mistake in NEWS file

2012-01-12 Thread brandonwilliams
Fix mistake in NEWS file


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/d7e40a1c
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/d7e40a1c
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/d7e40a1c

Branch: refs/heads/trunk
Commit: d7e40a1cdd3394ea5f5178e1b01ff693a0f173c2
Parents: c1f125b
Author: Sylvain Lebresne sylv...@datastax.com
Authored: Thu Jan 12 10:30:25 2012 +0100
Committer: Sylvain Lebresne sylv...@datastax.com
Committed: Thu Jan 12 10:30:25 2012 +0100

--
 NEWS.txt |   14 +++---
 1 files changed, 7 insertions(+), 7 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/d7e40a1c/NEWS.txt
--
diff --git a/NEWS.txt b/NEWS.txt
index 2356faa..2c29606 100644
--- a/NEWS.txt
+++ b/NEWS.txt
@@ -15,6 +15,13 @@ Upgrading
 -
 - Nothing specific to 1.0.7, please report to instruction for 1.0.6
 
+Other
+-
+- Adds new setstreamthroughput to nodetool to configure streaming
+  throttling
+- Adds JMX property to get/set rpc_timeout_in_ms at runtime
+- Allow configuring (per-CF) bloom_filter_fp_chance
+
 
 1.0.6
 =
@@ -29,13 +36,6 @@ Upgrading
   setting the right value and then run scrub on the column family.
 - Please report to instruction for 1.0.5 if coming from an older version.
 
-Other
--
-- Adds new setstreamthroughput to nodetool to configure streaming
-  throttling
-- Adds JMX property to get/set rpc_timeout_in_ms at runtime
-- Allow configuring (per-CF) bloom_filter_fp_chance
-
 
 1.0.5
 =



[2/4] git commit: Block on flush before submitting compaction for hints. Patch by brandonwilliams, reviewed by jbellis for CASSANDRA-3733

2012-01-12 Thread brandonwilliams
Block on flush before submitting compaction for hints.
Patch by brandonwilliams, reviewed by jbellis for CASSANDRA-3733


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/cafeeebd
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/cafeeebd
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/cafeeebd

Branch: refs/heads/trunk
Commit: cafeeebd17b208e12313bea9da0972e6f4c5cdf8
Parents: d7e40a1
Author: Brandon Williams brandonwilli...@apache.org
Authored: Thu Jan 12 10:54:22 2012 -0600
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Thu Jan 12 10:54:22 2012 -0600

--
 .../apache/cassandra/db/HintedHandOffManager.java  |4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/cafeeebd/src/java/org/apache/cassandra/db/HintedHandOffManager.java
--
diff --git a/src/java/org/apache/cassandra/db/HintedHandOffManager.java 
b/src/java/org/apache/cassandra/db/HintedHandOffManager.java
index 0b92821..a83fbab 100644
--- a/src/java/org/apache/cassandra/db/HintedHandOffManager.java
+++ b/src/java/org/apache/cassandra/db/HintedHandOffManager.java
@@ -179,7 +179,7 @@ public class HintedHandOffManager implements 
HintedHandOffManagerMBean
 {
 logger_.info(Deleting any stored hints for  + endpoint);
 rm.apply();
-hintStore.forceFlush();
+hintStore.forceBlockingFlush();
 CompactionManager.instance.submitMaximal(hintStore, 
Integer.MAX_VALUE);
 }
 catch (Exception e)
@@ -359,9 +359,9 @@ public class HintedHandOffManager implements 
HintedHandOffManagerMBean
 
 if (rowsReplayed  0)
 {
-hintStore.forceFlush();
 try
 {
+hintStore.forceBlockingFlush();
 CompactionManager.instance.submitMaximal(hintStore, 
Integer.MAX_VALUE).get();
 }
 catch (Exception e)



[jira] [Commented] (CASSANDRA-3733) Once a host has been hinted to, log messages for it repeat every 10 mins even if no hints are delivered

2012-01-12 Thread Jonathan Ellis (Commented) (JIRA)

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

Jonathan Ellis commented on CASSANDRA-3733:
---

Can you commit to 0.8 too?

 Once a host has been hinted to, log messages for it repeat every 10 mins even 
 if no hints are delivered
 ---

 Key: CASSANDRA-3733
 URL: https://issues.apache.org/jira/browse/CASSANDRA-3733
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 1.0.7
Reporter: Brandon Williams
Assignee: Brandon Williams
Priority: Minor
 Fix For: 1.0.8

 Attachments: 3733.txt


 {noformat}
  INFO 15:36:03,977 Started hinted handoff for token: 
 170141183460469231731687303715884105726 with IP: /10.179.111.137
  INFO 15:36:03,978 Finished hinted handoff of 0 rows to endpoint 
 /10.179.111.137
  INFO 15:46:31,248 Started hinted handoff for token: 
 170141183460469231731687303715884105726 with IP: /10.179.111.137
  INFO 15:46:31,249 Finished hinted handoff of 0 rows to endpoint 
 /10.179.111.137
  INFO 15:56:29,448 Started hinted handoff for token: 
 170141183460469231731687303715884105726 with IP: /10.179.111.137
  INFO 15:56:29,449 Finished hinted handoff of 0 rows to endpoint 
 /10.179.111.137
  INFO 16:06:09,949 Started hinted handoff for token: 
 170141183460469231731687303715884105726 with IP: /10.179.111.137
  INFO 16:06:09,950 Finished hinted handoff of 0 rows to endpoint 
 /10.179.111.137
  INFO 16:16:21,529 Started hinted handoff for token: 
 170141183460469231731687303715884105726 with IP: /10.179.111.137
  INFO 16:16:21,530 Finished hinted handoff of 0 rows to endpoint 
 /10.179.111.137
 {noformat}
 Introduced by CASSANDRA-3554.  The problem is that until a compaction on 
 hints occurs, tombstones are present causing the isEmpty() check to be false.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (CASSANDRA-3634) compare string vs. binary prepared statement parameters

2012-01-12 Thread Sylvain Lebresne (Commented) (JIRA)

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

Sylvain Lebresne commented on CASSANDRA-3634:
-

bq.  that's the case for a String-based api as well as a binary one.

For String-based, the translation from String-binary would happen server side, 
where we do have the custom comparator and thus the fromString() method (which 
have to be written from the comparator anyway). With binary, you would have to 
write the comparator.fromString(), but also have the same client side.

 compare string vs. binary prepared statement parameters
 ---

 Key: CASSANDRA-3634
 URL: https://issues.apache.org/jira/browse/CASSANDRA-3634
 Project: Cassandra
  Issue Type: Sub-task
  Components: API, Core
Reporter: Eric Evans
Assignee: Eric Evans
Priority: Minor
  Labels: cql
 Fix For: 1.1


 Perform benchmarks to compare the performance of string and pre-serialized 
 binary parameters to prepared statements.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (CASSANDRA-3668) Performance of sstableloader is affected in 1.0.x

2012-01-12 Thread Jonathan Ellis (Commented) (JIRA)

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

Jonathan Ellis commented on CASSANDRA-3668:
---

I don't think so, since that just adds thread-per-target, not 
multiple-threads-to-single-target.

 Performance of sstableloader is affected in 1.0.x
 -

 Key: CASSANDRA-3668
 URL: https://issues.apache.org/jira/browse/CASSANDRA-3668
 Project: Cassandra
  Issue Type: Bug
  Components: API
Affects Versions: 1.0.7
Reporter: Manish Zope
Assignee: Yuki Morishita
 Fix For: 1.0.8

 Attachments: 3688-reply_before_closing_writer.txt, sstable-loader 
 performance.txt

   Original Estimate: 48h
  Remaining Estimate: 48h

 One of my colleague had reported the bug regarding the degraded performance 
 of the sstable generator and sstable loader.
 ISSUE :- https://issues.apache.org/jira/browse/CASSANDRA-3589 
 As stated in above issue generator performance is rectified but performance 
 of the sstableloader is still an issue.
 3589 is marked as duplicate of 3618.Both issues shows resolved status.But the 
 problem with sstableloader still exists.
 So opening other issue so that sstbleloader problem should not go unnoticed.
 FYI : We have tested the generator part with the patch given in 3589.Its 
 Working fine.
 Please let us know if you guys require further inputs from our side.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Updated] (CASSANDRA-3733) Once a host has been hinted to, log messages for it repeat every 10 mins even if no hints are delivered

2012-01-12 Thread Jonathan Ellis (Updated) (JIRA)

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

Jonathan Ellis updated CASSANDRA-3733:
--

Affects Version/s: (was: 1.0.7)
   0.6
Fix Version/s: (was: 1.0.8)
   1.0.7
   0.8.10

 Once a host has been hinted to, log messages for it repeat every 10 mins even 
 if no hints are delivered
 ---

 Key: CASSANDRA-3733
 URL: https://issues.apache.org/jira/browse/CASSANDRA-3733
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 0.6
Reporter: Brandon Williams
Assignee: Brandon Williams
Priority: Minor
 Fix For: 0.8.10, 1.0.7

 Attachments: 3733.txt


 {noformat}
  INFO 15:36:03,977 Started hinted handoff for token: 
 170141183460469231731687303715884105726 with IP: /10.179.111.137
  INFO 15:36:03,978 Finished hinted handoff of 0 rows to endpoint 
 /10.179.111.137
  INFO 15:46:31,248 Started hinted handoff for token: 
 170141183460469231731687303715884105726 with IP: /10.179.111.137
  INFO 15:46:31,249 Finished hinted handoff of 0 rows to endpoint 
 /10.179.111.137
  INFO 15:56:29,448 Started hinted handoff for token: 
 170141183460469231731687303715884105726 with IP: /10.179.111.137
  INFO 15:56:29,449 Finished hinted handoff of 0 rows to endpoint 
 /10.179.111.137
  INFO 16:06:09,949 Started hinted handoff for token: 
 170141183460469231731687303715884105726 with IP: /10.179.111.137
  INFO 16:06:09,950 Finished hinted handoff of 0 rows to endpoint 
 /10.179.111.137
  INFO 16:16:21,529 Started hinted handoff for token: 
 170141183460469231731687303715884105726 with IP: /10.179.111.137
  INFO 16:16:21,530 Finished hinted handoff of 0 rows to endpoint 
 /10.179.111.137
 {noformat}
 Introduced by CASSANDRA-3554.  The problem is that until a compaction on 
 hints occurs, tombstones are present causing the isEmpty() check to be false.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Issue Comment Edited] (CASSANDRA-3634) compare string vs. binary prepared statement parameters

2012-01-12 Thread Sylvain Lebresne (Issue Comment Edited) (JIRA)

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

Sylvain Lebresne edited comment on CASSANDRA-3634 at 1/12/12 5:13 PM:
--

bq.  that's the case for a String-based api as well as a binary one.

For String-based, the translation from String-binary would happen server side, 
where we do have the custom comparator and thus the fromString() method (which 
have to be written from the comparator anyway). With binary, you would have to 
write the comparator.fromString(), but also have the same client side.

Of course, that is if the client has its customely-comparable prepared 
statement parameters in a string form to begin with.

On the other side, taking binary would likely make it much more easier to take 
binary data (like pictures), without forcing a binary-string client-side 
followed by a string-binary decoding server side. Which is probably a bigger 
deal than the custom comparator thingy now that I think of that.

So (and unless I don't understand anything on this issue and what's above is 
completely false), I'm clearly in favor of binary.

  was (Author: slebresne):
bq.  that's the case for a String-based api as well as a binary one.

For String-based, the translation from String-binary would happen server side, 
where we do have the custom comparator and thus the fromString() method (which 
have to be written from the comparator anyway). With binary, you would have to 
write the comparator.fromString(), but also have the same client side.
  
 compare string vs. binary prepared statement parameters
 ---

 Key: CASSANDRA-3634
 URL: https://issues.apache.org/jira/browse/CASSANDRA-3634
 Project: Cassandra
  Issue Type: Sub-task
  Components: API, Core
Reporter: Eric Evans
Assignee: Eric Evans
Priority: Minor
  Labels: cql
 Fix For: 1.1


 Perform benchmarks to compare the performance of string and pre-serialized 
 binary parameters to prepared statements.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




git commit: Block on flush before submitting compaction for hints. Patch by brandonwilliams, reviewed by jbellis for CASSANDRA-3733

2012-01-12 Thread brandonwilliams
Updated Branches:
  refs/heads/cassandra-0.8 70a350e6e - aacbb1ca9


Block on flush before submitting compaction for hints.
Patch by brandonwilliams, reviewed by jbellis for CASSANDRA-3733


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/aacbb1ca
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/aacbb1ca
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/aacbb1ca

Branch: refs/heads/cassandra-0.8
Commit: aacbb1ca9c0e7a1992dfc92c096dd885ab149154
Parents: 70a350e
Author: Brandon Williams brandonwilli...@apache.org
Authored: Thu Jan 12 10:54:22 2012 -0600
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Thu Jan 12 11:08:50 2012 -0600

--
 .../apache/cassandra/db/HintedHandOffManager.java  |4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/aacbb1ca/src/java/org/apache/cassandra/db/HintedHandOffManager.java
--
diff --git a/src/java/org/apache/cassandra/db/HintedHandOffManager.java 
b/src/java/org/apache/cassandra/db/HintedHandOffManager.java
index 1f9c7d2..f038aed 100644
--- a/src/java/org/apache/cassandra/db/HintedHandOffManager.java
+++ b/src/java/org/apache/cassandra/db/HintedHandOffManager.java
@@ -225,7 +225,7 @@ public class HintedHandOffManager implements 
HintedHandOffManagerMBean
 {
 logger_.info(Deleting any stored hints for  + ipaddr);
 rm.apply();
-hintStore.forceFlush();
+hintStore.forceBlockingFlush();
 CompactionManager.instance.submitMajor(hintStore, 0, 
Integer.MAX_VALUE);
 }
 catch (Exception e)
@@ -365,9 +365,9 @@ public class HintedHandOffManager implements 
HintedHandOffManagerMBean
 
 if (rowsReplayed  0)
 {
-hintStore.forceFlush();
 try
 {
+hintStore.forceBlockingFlush();
 CompactionManager.instance.submitMajor(hintStore, 0, 
Integer.MAX_VALUE).get();
 }
 catch (Exception e)



[jira] [Commented] (CASSANDRA-3634) compare string vs. binary prepared statement parameters

2012-01-12 Thread Jonathan Ellis (Commented) (JIRA)

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

Jonathan Ellis commented on CASSANDRA-3634:
---

That's not what I meant.  Suppose I have a custom geohash type.  In a 
String-based PS world, I  need to provide a geohash.toString method for each 
client driver.  In a binary-based PS world, I need to provide a 
geohash.toByteBuffer method.  So either way you're going to have to write 
custom code per client driver.

 compare string vs. binary prepared statement parameters
 ---

 Key: CASSANDRA-3634
 URL: https://issues.apache.org/jira/browse/CASSANDRA-3634
 Project: Cassandra
  Issue Type: Sub-task
  Components: API, Core
Reporter: Eric Evans
Assignee: Eric Evans
Priority: Minor
  Labels: cql
 Fix For: 1.1


 Perform benchmarks to compare the performance of string and pre-serialized 
 binary parameters to prepared statements.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (CASSANDRA-3733) Once a host has been hinted to, log messages for it repeat every 10 mins even if no hints are delivered

2012-01-12 Thread Brandon Williams (Commented) (JIRA)

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

Brandon Williams commented on CASSANDRA-3733:
-

Done in aacbb1ca9c0e7a1992dfc92c096dd885ab149154

 Once a host has been hinted to, log messages for it repeat every 10 mins even 
 if no hints are delivered
 ---

 Key: CASSANDRA-3733
 URL: https://issues.apache.org/jira/browse/CASSANDRA-3733
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 0.6
Reporter: Brandon Williams
Assignee: Brandon Williams
Priority: Minor
 Fix For: 0.8.10, 1.0.7

 Attachments: 3733.txt


 {noformat}
  INFO 15:36:03,977 Started hinted handoff for token: 
 170141183460469231731687303715884105726 with IP: /10.179.111.137
  INFO 15:36:03,978 Finished hinted handoff of 0 rows to endpoint 
 /10.179.111.137
  INFO 15:46:31,248 Started hinted handoff for token: 
 170141183460469231731687303715884105726 with IP: /10.179.111.137
  INFO 15:46:31,249 Finished hinted handoff of 0 rows to endpoint 
 /10.179.111.137
  INFO 15:56:29,448 Started hinted handoff for token: 
 170141183460469231731687303715884105726 with IP: /10.179.111.137
  INFO 15:56:29,449 Finished hinted handoff of 0 rows to endpoint 
 /10.179.111.137
  INFO 16:06:09,949 Started hinted handoff for token: 
 170141183460469231731687303715884105726 with IP: /10.179.111.137
  INFO 16:06:09,950 Finished hinted handoff of 0 rows to endpoint 
 /10.179.111.137
  INFO 16:16:21,529 Started hinted handoff for token: 
 170141183460469231731687303715884105726 with IP: /10.179.111.137
  INFO 16:16:21,530 Finished hinted handoff of 0 rows to endpoint 
 /10.179.111.137
 {noformat}
 Introduced by CASSANDRA-3554.  The problem is that until a compaction on 
 hints occurs, tombstones are present causing the isEmpty() check to be false.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Issue Comment Edited] (CASSANDRA-3634) compare string vs. binary prepared statement parameters

2012-01-12 Thread Jonathan Ellis (Issue Comment Edited) (JIRA)

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

Jonathan Ellis edited comment on CASSANDRA-3634 at 1/12/12 5:18 PM:


That's not what I meant.  Suppose I have a custom geohash type.  In a 
String-based PS world, I  need to provide a geohash.toString method for each 
client driver.  In a binary-based PS world, I need to provide a 
geohash.toByteBuffer method.  So either way you're going to have to write 
custom code per client driver.

Update: this comment was obsoleted before I posted it by concurrent editing. :) 

  was (Author: jbellis):
That's not what I meant.  Suppose I have a custom geohash type.  In a 
String-based PS world, I  need to provide a geohash.toString method for each 
client driver.  In a binary-based PS world, I need to provide a 
geohash.toByteBuffer method.  So either way you're going to have to write 
custom code per client driver.
  
 compare string vs. binary prepared statement parameters
 ---

 Key: CASSANDRA-3634
 URL: https://issues.apache.org/jira/browse/CASSANDRA-3634
 Project: Cassandra
  Issue Type: Sub-task
  Components: API, Core
Reporter: Eric Evans
Assignee: Eric Evans
Priority: Minor
  Labels: cql
 Fix For: 1.1


 Perform benchmarks to compare the performance of string and pre-serialized 
 binary parameters to prepared statements.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Issue Comment Edited] (CASSANDRA-3634) compare string vs. binary prepared statement parameters

2012-01-12 Thread Jonathan Ellis (Issue Comment Edited) (JIRA)

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

Jonathan Ellis edited comment on CASSANDRA-3634 at 1/12/12 5:18 PM:


That's not what I meant.  Suppose I have a custom geohash type.  In a 
String-based PS world, I  need to provide a geohash.toString method for each 
client driver.  In a binary-based PS world, I need to provide a 
geohash.toByteBuffer method.  So either way you're going to have to write 
custom code per client driver.

Update: this comment was obsoleted before I posted it by concurrent editing.  
It sounds like we are in violent agreement.

  was (Author: jbellis):
That's not what I meant.  Suppose I have a custom geohash type.  In a 
String-based PS world, I  need to provide a geohash.toString method for each 
client driver.  In a binary-based PS world, I need to provide a 
geohash.toByteBuffer method.  So either way you're going to have to write 
custom code per client driver.

Update: this comment was obsoleted before I posted it by concurrent editing. :) 
  
 compare string vs. binary prepared statement parameters
 ---

 Key: CASSANDRA-3634
 URL: https://issues.apache.org/jira/browse/CASSANDRA-3634
 Project: Cassandra
  Issue Type: Sub-task
  Components: API, Core
Reporter: Eric Evans
Assignee: Eric Evans
Priority: Minor
  Labels: cql
 Fix For: 1.1


 Perform benchmarks to compare the performance of string and pre-serialized 
 binary parameters to prepared statements.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




git commit: update changes for 3733

2012-01-12 Thread brandonwilliams
Updated Branches:
  refs/heads/cassandra-1.0 cafeeebd1 - 3509f3d35


update changes for 3733


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/3509f3d3
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/3509f3d3
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/3509f3d3

Branch: refs/heads/cassandra-1.0
Commit: 3509f3d35d10c3e8dd7a1bdd6d3a13307462c96d
Parents: cafeeeb
Author: Brandon Williams brandonwilli...@apache.org
Authored: Thu Jan 12 11:22:23 2012 -0600
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Thu Jan 12 11:22:23 2012 -0600

--
 CHANGES.txt |1 +
 1 files changed, 1 insertions(+), 0 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/3509f3d3/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index c0f2c66..39211a4 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -37,6 +37,7 @@ Merged from 0.8:
when a key alias is involved (CASSANDRA-3700)
  * fix CLI `show schema` command insert of an extra comma in
column_metadata (CASSANDRA-3714)
+ * block on flush before compacting hints (may prevent OOM) (CASSANDRA-3733)
 
 
 1.0.6



git commit: update changes for 3733

2012-01-12 Thread brandonwilliams
Updated Branches:
  refs/heads/cassandra-0.8 aacbb1ca9 - 9ecaa2a5c


update changes for 3733


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/9ecaa2a5
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/9ecaa2a5
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/9ecaa2a5

Branch: refs/heads/cassandra-0.8
Commit: 9ecaa2a5c0549c1da1ebca0869f1c00fe1cad9e8
Parents: aacbb1c
Author: Brandon Williams brandonwilli...@apache.org
Authored: Thu Jan 12 11:23:05 2012 -0600
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Thu Jan 12 11:23:05 2012 -0600

--
 CHANGES.txt |1 +
 1 files changed, 1 insertions(+), 0 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/9ecaa2a5/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 42218a7..64b2747 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -2,6 +2,7 @@
  * prevent new nodes from thinking down nodes are up forever (CASSANDRA-3626)
  * use correct list of replicas for LOCAL_QUORUM reads when read repair
is disabled (CASSANDRA-3696)
+ * block on flush before compacting hints (may prevent OOM) (CASSANDRA-3733)
 
 
 0.8.9



[jira] [Commented] (CASSANDRA-3668) Performance of sstableloader is affected in 1.0.x

2012-01-12 Thread Sylvain Lebresne (Commented) (JIRA)

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

Sylvain Lebresne commented on CASSANDRA-3668:
-

You're right.

Probably wouldn't be too hard to allow the per-targer executor to use more than 
one thread (and modify streaming accordingly to it's able to give to each 
thread a different file). And that would be streaming generic actually, so all 
the better for bootstrap and such.

 Performance of sstableloader is affected in 1.0.x
 -

 Key: CASSANDRA-3668
 URL: https://issues.apache.org/jira/browse/CASSANDRA-3668
 Project: Cassandra
  Issue Type: Bug
  Components: API
Affects Versions: 1.0.7
Reporter: Manish Zope
Assignee: Yuki Morishita
 Fix For: 1.0.8

 Attachments: 3688-reply_before_closing_writer.txt, sstable-loader 
 performance.txt

   Original Estimate: 48h
  Remaining Estimate: 48h

 One of my colleague had reported the bug regarding the degraded performance 
 of the sstable generator and sstable loader.
 ISSUE :- https://issues.apache.org/jira/browse/CASSANDRA-3589 
 As stated in above issue generator performance is rectified but performance 
 of the sstableloader is still an issue.
 3589 is marked as duplicate of 3618.Both issues shows resolved status.But the 
 problem with sstableloader still exists.
 So opening other issue so that sstbleloader problem should not go unnoticed.
 FYI : We have tested the generator part with the patch given in 3589.Its 
 Working fine.
 Please let us know if you guys require further inputs from our side.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (CASSANDRA-3281) Add an AbstractType anytype which stores meta data on a per column basis

2012-01-12 Thread Sylvain Lebresne (Commented) (JIRA)

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

Sylvain Lebresne commented on CASSANDRA-3281:
-

If we added support for null values in DynamicCompositeType (which I think 
wouldn't be too hard), with CASSANDRA-3657 (which is not perfect I understand 
but would allow to add new DCT aliases on-demand) and with CASSANDRA-3625, 
would there be still a lot of missing things?

 Add an AbstractType anytype which stores meta data on a per column basis
 

 Key: CASSANDRA-3281
 URL: https://issues.apache.org/jira/browse/CASSANDRA-3281
 Project: Cassandra
  Issue Type: New Feature
Reporter: Edward Capriolo
Priority: Minor

 A pet project of mine is an AbstractType for Cassandra that stores metadata 
 of the type in the column. https://github.com/edwardcapriolo/Cassandra-AnyType
 I described my use case any my design decisions here. 
 https://github.com/edwardcapriolo/Cassandra-AnyType/blob/master/README . The 
 biggest cases were needing to support null and '' as keys, column names, and 
 column values, however I also think the technique used to serialize Java 
 Objects as JSON but compare as a Java object is novel. 
 Side node: (The AbstractType interface has changed multiple times between 
 0.6.X, 0.7.X, and 1.0.0-beta. I hope it stabilizes! ) 
 If people would like AnyType (or parts of it ) incorporated into Cassandra 
 that would be great. I am willing to tweak change it based on other peoples 
 ideas.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (CASSANDRA-3703) log Compaction Active tasks in StatusLogger instead of n/a

2012-01-12 Thread Jonathan Ellis (Commented) (JIRA)

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

Jonathan Ellis commented on CASSANDRA-3703:
---

validationexecutor extends compactionexecutor and inherits the behavior we 
want.  (note that CE.compactions is static for just this reason.)

 log Compaction Active tasks in StatusLogger instead of n/a
 --

 Key: CASSANDRA-3703
 URL: https://issues.apache.org/jira/browse/CASSANDRA-3703
 Project: Cassandra
  Issue Type: Improvement
Reporter: Jackson Chung
Assignee: Jonathan Ellis
Priority: Minor
  Labels: compaction
 Fix For: 1.0.8

 Attachments: 3703.txt


 currently StatusLogger log:
 {noformat}
 logger.info(String.format(%-25s%10s%10s,
   CompactionManager, n/a, 
 CompactionManager.instance.getPendingTasks()));
 {noformat}
 It'd be great if it could actually log the number of active tasks being 
 processed. Without looking into the code, I thought there was no compaction 
 running when reading the log.
 {code: title=CompactionManager.java}
 public int getActiveCompactions()
 {
 return CompactionExecutor.compactions.size();
 }
 {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (CASSANDRA-3722) Send Hints to Dynamic Snitch when Compaction or repair is going on for a node.

2012-01-12 Thread Jonathan Ellis (Commented) (JIRA)

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

Jonathan Ellis commented on CASSANDRA-3722:
---

you could base it on latency instead of pending count...

 Send Hints to Dynamic Snitch when Compaction or repair is going on for a node.
 --

 Key: CASSANDRA-3722
 URL: https://issues.apache.org/jira/browse/CASSANDRA-3722
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Affects Versions: 1.1
Reporter: Vijay
Assignee: Vijay
Priority: Minor

 Currently Dynamic snitch looks at the latency for figuring out which node 
 will be better serving the requests, this works great but there is a part of 
 the traffic sent to collect this data... There is also a window when Snitch 
 doesn't know about some major event which are going to happen on the node 
 (Node which is going to receive the data request).
 It would be great if we can send some sort hints to the Snitch so they can 
 score based on known events causing higher latencies.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (CASSANDRA-3722) Send Hints to Dynamic Snitch when Compaction or repair is going on for a node.

2012-01-12 Thread Brandon Williams (Commented) (JIRA)

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

Brandon Williams commented on CASSANDRA-3722:
-

bq. you could base it on latency instead of pending count...

I'm not sure I understand, do you mean the latency the pending reads would have 
if they came back at the time of calculating the scores?  I was thinking about 
doing that since we have the timestamps in EM.

 Send Hints to Dynamic Snitch when Compaction or repair is going on for a node.
 --

 Key: CASSANDRA-3722
 URL: https://issues.apache.org/jira/browse/CASSANDRA-3722
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Affects Versions: 1.1
Reporter: Vijay
Assignee: Vijay
Priority: Minor

 Currently Dynamic snitch looks at the latency for figuring out which node 
 will be better serving the requests, this works great but there is a part of 
 the traffic sent to collect this data... There is also a window when Snitch 
 doesn't know about some major event which are going to happen on the node 
 (Node which is going to receive the data request).
 It would be great if we can send some sort hints to the Snitch so they can 
 score based on known events causing higher latencies.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (CASSANDRA-3722) Send Hints to Dynamic Snitch when Compaction or repair is going on for a node.

2012-01-12 Thread Vijay (Commented) (JIRA)

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

Vijay commented on CASSANDRA-3722:
--

Probably after CASSANDRA-3723 we might be able to include the wait time in the 
queue, but the problem with that is that until we send the traffic actual 
traffic to the suspected node we will not know it, we should actually send 
occasional requests to those nodes to get this data (Not sure how we can 
throttle to be fewer requests)... 

Something like Test/Real messages to see if they are back to normal SLA's 
(which does a complete end to end read from the disk), if we dont want to 
publish major events.

 Send Hints to Dynamic Snitch when Compaction or repair is going on for a node.
 --

 Key: CASSANDRA-3722
 URL: https://issues.apache.org/jira/browse/CASSANDRA-3722
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Affects Versions: 1.1
Reporter: Vijay
Assignee: Vijay
Priority: Minor

 Currently Dynamic snitch looks at the latency for figuring out which node 
 will be better serving the requests, this works great but there is a part of 
 the traffic sent to collect this data... There is also a window when Snitch 
 doesn't know about some major event which are going to happen on the node 
 (Node which is going to receive the data request).
 It would be great if we can send some sort hints to the Snitch so they can 
 score based on known events causing higher latencies.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (CASSANDRA-2474) CQL support for compound columns and wide rows

2012-01-12 Thread Sylvain Lebresne (Commented) (JIRA)

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

Sylvain Lebresne commented on CASSANDRA-2474:
-

The patch is coming along rather well I think, but I still have a few details 
to fix/clean up.

The patch does involve a number of language changes (which I strongly believe 
are for the best), and the introduction of a native way to deal with wide rows 
have a bunch of consequences. So let me list a number of those changes and see 
on which you disagree, so we discuss that sooner than later:

* The '..' notation for slices is removed. It just doesn't work with the new 
way to handle wide rows (and composites).
* I've made static definitions (i.e, those definitions that don't use COMPACT 
STORAGE basically) really static. That is, inserting a column that is not 
defined is not accepted, and there is no way to do something that translate as 
a column slice on a static CF. The reason is twofold: I think this is good for 
the user to have the validation that it doesn't make a basic typo when 
inserting a column (thus inserting the wrong column). But also, I believe that 
it makes the language much more coherent.
* Column definitions for static (and sparse) CF are all UTF8 strings (as 
discussed above).
* I'm going to make all column definition case insensitive, unless they are 
enclosed in single or double quotes (I've heard it's how PostgreSQL does it 
more or less). If you have a better idea ...
* My current patch don't really allow creating a secondary index on a non 
static CF, because it's not clear how that would work from the syntax and I'm 
sure I see good use for that. Does that bother someone ? :)
* Currently, prepared statement allows you to write {{SELECT ? FROM users WHERE 
?  3}}. I.e, you can have marker in place of a column definition (I call 
'column definition' a name defined in the CREATE TABLE basically). I think it 
could make sense to disallow that. The rational being that this patch make 
select more complicated, it has more work to do to validate the query is 
correct and to generate the query itself. If we were to disallow markers in 
place of column definition, a fair amount of that preprocessing could be done 
during the preparation phase in theory, which would be faster and allow to 
return a number of errors more quickly. Besides, column definition are small 
string, so allowing marker for them doesn't seem to be any real win.

Now, I do have a problem I'm not sure how to deal with: I'm not sure how to 
deal with the limit for slices. The problem is that a slice on a wide row will 
now return a number of CqlRow, not one with many columns. So it sound like we 
should use the LIMIT. However, when you do say {{SELECT * FROM CF;}} (of if you 
query multiple keys with IN), then it's unclear what you do with the LIMIT. I 
unfortunately don't have a good solution for that yet.

I'm also not sure have the REVERSED just after the SELECT is still the right 
choice after this patch.

I'll also note that this patch (with the things above) make it so that in the 
CqlMetadata (in the result), the name_types are not useful anymore (since this 
is always UTF8), and neither is the default comparator and default validation 
types, as we can always set the type of each columns in the value_types map. I 
suppose the best way to proceed is to mark them deprecated for now and remove 
them in the next version.

In any case, I'm attaching the dtest file I'm using to test this patch 
(cql_test.py) because I think it's a great way to see what this patch is about.

Lastly, because of the scale of the changes this patch does, I don't think it 
is a good candidate to hide the change behind a runtime flag.  It would be 
messy and I think would make it less clear that both
* previous behavior is unchanged without the flag turned on
* new behavior works as expected when the flag is on


 CQL support for compound columns and wide rows
 --

 Key: CASSANDRA-2474
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2474
 Project: Cassandra
  Issue Type: New Feature
  Components: API, Core
Reporter: Eric Evans
Assignee: Sylvain Lebresne
Priority: Critical
  Labels: cql
 Fix For: 1.1

 Attachments: 2474-transposed-1.PNG, 2474-transposed-raw.PNG, 
 2474-transposed-select-no-sparse.PNG, 2474-transposed-select.PNG, 
 cql_tests.py, raw_composite.txt, screenshot-1.jpg, screenshot-2.jpg


 For the most part, this boils down to supporting the specification of 
 compound column names (the CQL syntax is colon-delimted terms), and then 
 teaching the decoders (drivers) to create structures from the results.

--
This message is automatically generated by JIRA.
If you think it 

[jira] [Updated] (CASSANDRA-2474) CQL support for compound columns and wide rows

2012-01-12 Thread Sylvain Lebresne (Updated) (JIRA)

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

Sylvain Lebresne updated CASSANDRA-2474:


Attachment: cql_tests.py

 CQL support for compound columns and wide rows
 --

 Key: CASSANDRA-2474
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2474
 Project: Cassandra
  Issue Type: New Feature
  Components: API, Core
Reporter: Eric Evans
Assignee: Sylvain Lebresne
Priority: Critical
  Labels: cql
 Fix For: 1.1

 Attachments: 2474-transposed-1.PNG, 2474-transposed-raw.PNG, 
 2474-transposed-select-no-sparse.PNG, 2474-transposed-select.PNG, 
 cql_tests.py, raw_composite.txt, screenshot-1.jpg, screenshot-2.jpg


 For the most part, this boils down to supporting the specification of 
 compound column names (the CQL syntax is colon-delimted terms), and then 
 teaching the decoders (drivers) to create structures from the results.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (CASSANDRA-2474) CQL support for compound columns and wide rows

2012-01-12 Thread paul cannon (Commented) (JIRA)

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

paul cannon commented on CASSANDRA-2474:


bq. I'll also note that this patch (with the things above) make it so that in 
the CqlMetadata (in the result), the name_types are not useful anymore (since 
this is always UTF8), and neither is the default comparator and default 
validation types, as we can always set the type of each columns in the 
value_types map. I suppose the best way to proceed is to mark them deprecated 
for now and remove them in the next version.

This seems possibly too far. Clients ought to be able to know what a CF's 
default comparator and validation types are, even if they're not necessary to 
deserialize column values.

Also, cqlsh has an ASSUME facility similar to the cli one. You can tell cqlsh 
to deserialize columns without an explicit column type as though they were 
something different. Would this still be possible without being able to tell 
whether column values had an explicit column_metadata type, or whether they 
were using the default?

 CQL support for compound columns and wide rows
 --

 Key: CASSANDRA-2474
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2474
 Project: Cassandra
  Issue Type: New Feature
  Components: API, Core
Reporter: Eric Evans
Assignee: Sylvain Lebresne
Priority: Critical
  Labels: cql
 Fix For: 1.1

 Attachments: 2474-transposed-1.PNG, 2474-transposed-raw.PNG, 
 2474-transposed-select-no-sparse.PNG, 2474-transposed-select.PNG, 
 cql_tests.py, raw_composite.txt, screenshot-1.jpg, screenshot-2.jpg


 For the most part, this boils down to supporting the specification of 
 compound column names (the CQL syntax is colon-delimted terms), and then 
 teaching the decoders (drivers) to create structures from the results.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (CASSANDRA-3722) Send Hints to Dynamic Snitch when Compaction or repair is going on for a node.

2012-01-12 Thread Jonathan Ellis (Commented) (JIRA)

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

Jonathan Ellis commented on CASSANDRA-3722:
---

bq. the problem with that is that until we send the traffic actual traffic to 
the suspected node we will not know it

Right, so I'm saying instead of gossiping an indirect indicator like compaction 
status, we could gossip read latency directly.

 Send Hints to Dynamic Snitch when Compaction or repair is going on for a node.
 --

 Key: CASSANDRA-3722
 URL: https://issues.apache.org/jira/browse/CASSANDRA-3722
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Affects Versions: 1.1
Reporter: Vijay
Assignee: Vijay
Priority: Minor

 Currently Dynamic snitch looks at the latency for figuring out which node 
 will be better serving the requests, this works great but there is a part of 
 the traffic sent to collect this data... There is also a window when Snitch 
 doesn't know about some major event which are going to happen on the node 
 (Node which is going to receive the data request).
 It would be great if we can send some sort hints to the Snitch so they can 
 score based on known events causing higher latencies.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (CASSANDRA-2474) CQL support for compound columns and wide rows

2012-01-12 Thread Sylvain Lebresne (Commented) (JIRA)

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

Sylvain Lebresne commented on CASSANDRA-2474:
-

bq. Clients ought to be able to know what a CF's default comparator and 
validation types are, even if they're not necessary to deserialize column 
values.

I think one of the goal is to not necessarily stick to C* internal notion, as 
supported by the fact that specifying the comparator and default_validator 
during creates will be removed. Basically, why should we expose internal detail 
that are useless (which I'm claiming they are after this patch) for the client?

bq. Would this still be possible without being able to tell whether column 
values had an explicit column_metadata type, or whether they were using the 
default?

I don't see any problem to having an ASSUME facility with what I'm proposing. 
Maybe it will be more clear with the patch, but I really thing that after the 
patch those info adds really no value to the resultSet.

 CQL support for compound columns and wide rows
 --

 Key: CASSANDRA-2474
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2474
 Project: Cassandra
  Issue Type: New Feature
  Components: API, Core
Reporter: Eric Evans
Assignee: Sylvain Lebresne
Priority: Critical
  Labels: cql
 Fix For: 1.1

 Attachments: 2474-transposed-1.PNG, 2474-transposed-raw.PNG, 
 2474-transposed-select-no-sparse.PNG, 2474-transposed-select.PNG, 
 cql_tests.py, raw_composite.txt, screenshot-1.jpg, screenshot-2.jpg


 For the most part, this boils down to supporting the specification of 
 compound column names (the CQL syntax is colon-delimted terms), and then 
 teaching the decoders (drivers) to create structures from the results.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Issue Comment Edited] (CASSANDRA-2474) CQL support for compound columns and wide rows

2012-01-12 Thread T Jake Luciani (Issue Comment Edited) (JIRA)

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

T Jake Luciani edited comment on CASSANDRA-2474 at 1/12/12 8:51 PM:


bq. My current patch don't really allow creating a secondary index on a non 
static CF, because it's not clear how that would work from the syntax and I'm 
sure I see good use for that. Does that bother someone ? 

CASSANDRA-3680 will add support for this at a later time

  was (Author: tjake):
.bq My current patch don't really allow creating a secondary index on a non 
static CF, because it's not clear how that would work from the syntax and I'm 
sure I see good use for that. Does that bother someone ? 

CASSANDRA-3680 will add support for this at a later time
  
 CQL support for compound columns and wide rows
 --

 Key: CASSANDRA-2474
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2474
 Project: Cassandra
  Issue Type: New Feature
  Components: API, Core
Reporter: Eric Evans
Assignee: Sylvain Lebresne
Priority: Critical
  Labels: cql
 Fix For: 1.1

 Attachments: 2474-transposed-1.PNG, 2474-transposed-raw.PNG, 
 2474-transposed-select-no-sparse.PNG, 2474-transposed-select.PNG, 
 cql_tests.py, raw_composite.txt, screenshot-1.jpg, screenshot-2.jpg


 For the most part, this boils down to supporting the specification of 
 compound column names (the CQL syntax is colon-delimted terms), and then 
 teaching the decoders (drivers) to create structures from the results.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (CASSANDRA-2474) CQL support for compound columns and wide rows

2012-01-12 Thread T Jake Luciani (Commented) (JIRA)

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

T Jake Luciani commented on CASSANDRA-2474:
---

.bq My current patch don't really allow creating a secondary index on a non 
static CF, because it's not clear how that would work from the syntax and I'm 
sure I see good use for that. Does that bother someone ? 

CASSANDRA-3680 will add support for this at a later time

 CQL support for compound columns and wide rows
 --

 Key: CASSANDRA-2474
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2474
 Project: Cassandra
  Issue Type: New Feature
  Components: API, Core
Reporter: Eric Evans
Assignee: Sylvain Lebresne
Priority: Critical
  Labels: cql
 Fix For: 1.1

 Attachments: 2474-transposed-1.PNG, 2474-transposed-raw.PNG, 
 2474-transposed-select-no-sparse.PNG, 2474-transposed-select.PNG, 
 cql_tests.py, raw_composite.txt, screenshot-1.jpg, screenshot-2.jpg


 For the most part, this boils down to supporting the specification of 
 compound column names (the CQL syntax is colon-delimted terms), and then 
 teaching the decoders (drivers) to create structures from the results.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (CASSANDRA-2474) CQL support for compound columns and wide rows

2012-01-12 Thread Jonathan Ellis (Commented) (JIRA)

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

Jonathan Ellis commented on CASSANDRA-2474:
---

(BTW, why test this with dtest instead of just single node mode?)

 CQL support for compound columns and wide rows
 --

 Key: CASSANDRA-2474
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2474
 Project: Cassandra
  Issue Type: New Feature
  Components: API, Core
Reporter: Eric Evans
Assignee: Sylvain Lebresne
Priority: Critical
  Labels: cql
 Fix For: 1.1

 Attachments: 2474-transposed-1.PNG, 2474-transposed-raw.PNG, 
 2474-transposed-select-no-sparse.PNG, 2474-transposed-select.PNG, 
 cql_tests.py, raw_composite.txt, screenshot-1.jpg, screenshot-2.jpg


 For the most part, this boils down to supporting the specification of 
 compound column names (the CQL syntax is colon-delimted terms), and then 
 teaching the decoders (drivers) to create structures from the results.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (CASSANDRA-2474) CQL support for compound columns and wide rows

2012-01-12 Thread Jonathan Ellis (Commented) (JIRA)

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

Jonathan Ellis commented on CASSANDRA-2474:
---

bq. The '..' notation for slices is removed

Personally I'd rather support both for one release to make the transition 
easier, but with neither super nor composite support I doubt many people are 
using the current .., so if doing both adds a lot of complexity I'm okay with 
this.

bq. I've made static definitions (i.e, those definitions that don't use COMPACT 
STORAGE basically) really static.

I'm a little uneasy about this, but the only use cases I've been able to come 
up with make more sense as a COMPACT STORAGE wide row.  So it's probably a good 
change.

bq. Currently, prepared statement allows you to write SELECT ? FROM users WHERE 
?  3. I.e, you can have marker in place of a column definition (I call 'column 
definition' a name defined in the CREATE TABLE basically). I think it could 
make sense to disallow that. 

+1

bq. However, when you do say SELECT * FROM CF; (of if you query multiple keys 
with IN), then it's unclear what you do with the LIMIT

I don't think it's unclear at all, but maybe that's because of my SQL 
background. :)  Granted, it doesn't make a great deal of sense to use IN + 
LIMIT, but if someone does, the LIMIT should take precedence.

bq. I'm also not sure have the REVERSED just after the SELECT is still the 
right choice after this patch.

What if we allowed ORDER BY DESC instead?  (This is not quite valid SQL, 
which requires ORDER BY expr [ASC|DESC], but it's close.)

 CQL support for compound columns and wide rows
 --

 Key: CASSANDRA-2474
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2474
 Project: Cassandra
  Issue Type: New Feature
  Components: API, Core
Reporter: Eric Evans
Assignee: Sylvain Lebresne
Priority: Critical
  Labels: cql
 Fix For: 1.1

 Attachments: 2474-transposed-1.PNG, 2474-transposed-raw.PNG, 
 2474-transposed-select-no-sparse.PNG, 2474-transposed-select.PNG, 
 cql_tests.py, raw_composite.txt, screenshot-1.jpg, screenshot-2.jpg


 For the most part, this boils down to supporting the specification of 
 compound column names (the CQL syntax is colon-delimted terms), and then 
 teaching the decoders (drivers) to create structures from the results.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (CASSANDRA-3101) Should check for errors when calling /bin/ln

2012-01-12 Thread Jonathan Ellis (Commented) (JIRA)

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

Jonathan Ellis commented on CASSANDRA-3101:
---

bq. cmd /c mklink /H seems a much more clunky way to make a hard link, and I 
think the logic is backwards: fsutil hardlink create is supported in all 
Windows versions since Windows Server 2000, except XP

mklink does not require admin privileges, so that's the preferred method, but 
it was introduced in Vista.

fsutil is present on XP+ so we use it as a fallback: 
http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/fsutil.mspx?mfr=true



 Should check for errors when calling /bin/ln
 

 Key: CASSANDRA-3101
 URL: https://issues.apache.org/jira/browse/CASSANDRA-3101
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 0.4
Reporter: paul cannon
Assignee: Vijay
Priority: Minor
  Labels: lhf
 Fix For: 1.0.7

 Attachments: 0001-0001-throw-IOE-while-calling-bin-ln-v2.patch, 
 0001-3101-throw-IOE-while-calling-bin-ln-v3.patch, 
 0001-3101-throw-IOE-while-calling-bin-ln.patch


 It looks like cassandra.utils.CLibrary.createHardLinkWithExec() does not 
 check for any errors in the execution of the hard-link-making utility. This 
 could be bad if, for example, the user has put the snapshot directory on a 
 different filesystem from the data directory. The hard linking would fail and 
 the sstable snapshots would not exist, but no error would be reported.
 It does look like errors with the more direct JNA link() call are handled 
 correctly- an exception is thrown. The WithExec version should probably do 
 the same thing.
 Definitely it would be enough to check the process exit value from /bin/ln 
 for nonzero in the *nix case, but I don't know whether 'fsutil hardlink 
 create' or 'cmd /c mklink /H' return nonzero on failure.
 For bonus points, use any output from the Process's error stream in the text 
 of the exception, to aid in debugging problems.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (CASSANDRA-2474) CQL support for compound columns and wide rows

2012-01-12 Thread paul cannon (Commented) (JIRA)

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

paul cannon commented on CASSANDRA-2474:


bq. I don't see any problem to having an ASSUME facility with what I'm 
proposing. Maybe it will be more clear with the patch, but I really thing that 
after the patch those info adds really no value to the resultSet.

Example:

{noformat}
CREATE COLUMNFAMILY columnfam (keyname uuid PRIMARY KEY, username utf8) WITH 
default_validation = blob;
ASSUME columnfam VALUES ARE float;
{noformat}

In this situation, cqlsh should deserialize 'keyname' values as uuid, and 
'username' values as utf8, but any other column values should be deserialized 
as float. cqlsh currently makes the distinction by seeing whether the type for 
a value is given in the CqlMetadata.value_types field. It sounds like your 
proposal involves sending a type for every column in the result; am I 
misinterpreting that?

I guess cqlsh could query the columnfamily options itself whenever it needed to 
determine the default_validation, but that seems like it kind of makes 
CqlMetadata useless.

 CQL support for compound columns and wide rows
 --

 Key: CASSANDRA-2474
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2474
 Project: Cassandra
  Issue Type: New Feature
  Components: API, Core
Reporter: Eric Evans
Assignee: Sylvain Lebresne
Priority: Critical
  Labels: cql
 Fix For: 1.1

 Attachments: 2474-transposed-1.PNG, 2474-transposed-raw.PNG, 
 2474-transposed-select-no-sparse.PNG, 2474-transposed-select.PNG, 
 cql_tests.py, raw_composite.txt, screenshot-1.jpg, screenshot-2.jpg


 For the most part, this boils down to supporting the specification of 
 compound column names (the CQL syntax is colon-delimted terms), and then 
 teaching the decoders (drivers) to create structures from the results.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (CASSANDRA-3101) Should check for errors when calling /bin/ln

2012-01-12 Thread paul cannon (Commented) (JIRA)

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

paul cannon commented on CASSANDRA-3101:


aha, thanks for clarification.

 Should check for errors when calling /bin/ln
 

 Key: CASSANDRA-3101
 URL: https://issues.apache.org/jira/browse/CASSANDRA-3101
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 0.4
Reporter: paul cannon
Assignee: Vijay
Priority: Minor
  Labels: lhf
 Fix For: 1.0.7

 Attachments: 0001-0001-throw-IOE-while-calling-bin-ln-v2.patch, 
 0001-3101-throw-IOE-while-calling-bin-ln-v3.patch, 
 0001-3101-throw-IOE-while-calling-bin-ln.patch


 It looks like cassandra.utils.CLibrary.createHardLinkWithExec() does not 
 check for any errors in the execution of the hard-link-making utility. This 
 could be bad if, for example, the user has put the snapshot directory on a 
 different filesystem from the data directory. The hard linking would fail and 
 the sstable snapshots would not exist, but no error would be reported.
 It does look like errors with the more direct JNA link() call are handled 
 correctly- an exception is thrown. The WithExec version should probably do 
 the same thing.
 Definitely it would be enough to check the process exit value from /bin/ln 
 for nonzero in the *nix case, but I don't know whether 'fsutil hardlink 
 create' or 'cmd /c mklink /H' return nonzero on failure.
 For bonus points, use any output from the Process's error stream in the text 
 of the exception, to aid in debugging problems.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (CASSANDRA-3722) Send Hints to Dynamic Snitch when Compaction or repair is going on for a node.

2012-01-12 Thread Vijay (Commented) (JIRA)

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

Vijay commented on CASSANDRA-3722:
--

will do.

 Send Hints to Dynamic Snitch when Compaction or repair is going on for a node.
 --

 Key: CASSANDRA-3722
 URL: https://issues.apache.org/jira/browse/CASSANDRA-3722
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Affects Versions: 1.1
Reporter: Vijay
Assignee: Vijay
Priority: Minor

 Currently Dynamic snitch looks at the latency for figuring out which node 
 will be better serving the requests, this works great but there is a part of 
 the traffic sent to collect this data... There is also a window when Snitch 
 doesn't know about some major event which are going to happen on the node 
 (Node which is going to receive the data request).
 It would be great if we can send some sort hints to the Snitch so they can 
 score based on known events causing higher latencies.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (CASSANDRA-3722) Send Hints to Dynamic Snitch when Compaction or repair is going on for a node.

2012-01-12 Thread Brandon Williams (Commented) (JIRA)

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

Brandon Williams commented on CASSANDRA-3722:
-

bq. Right, so I'm saying instead of gossiping an indirect indicator like 
compaction status, we could gossip read latency directly.

I'm not sure that's a good solution either due to the propagation time.  
Especially in the case that the repair is staggered across the replica set, 
there's a good chance you're penalizing the wrong host after the first one 
until the state is propagated to you.


 Send Hints to Dynamic Snitch when Compaction or repair is going on for a node.
 --

 Key: CASSANDRA-3722
 URL: https://issues.apache.org/jira/browse/CASSANDRA-3722
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Affects Versions: 1.1
Reporter: Vijay
Assignee: Vijay
Priority: Minor

 Currently Dynamic snitch looks at the latency for figuring out which node 
 will be better serving the requests, this works great but there is a part of 
 the traffic sent to collect this data... There is also a window when Snitch 
 doesn't know about some major event which are going to happen on the node 
 (Node which is going to receive the data request).
 It would be great if we can send some sort hints to the Snitch so they can 
 score based on known events causing higher latencies.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Created] (CASSANDRA-3734) Support native link w/o JNA in Java7

2012-01-12 Thread Jonathan Ellis (Created) (JIRA)
Support native link w/o JNA in Java7


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


Java7 provides native support for hard links: 
http://docs.oracle.com/javase/7/docs/api/java/nio/file/Files.html#createLink(java.nio.file.Path,
 java.nio.file.Path)

We should prefer this method when Java7 is the host.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (CASSANDRA-3710) Add a configuration option to disable snapshots

2012-01-12 Thread Jonathan Ellis (Commented) (JIRA)

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

Jonathan Ellis commented on CASSANDRA-3710:
---

Another option would be to use Java7: CASSANDRA-3734

 Add a configuration option to disable snapshots
 ---

 Key: CASSANDRA-3710
 URL: https://issues.apache.org/jira/browse/CASSANDRA-3710
 Project: Cassandra
  Issue Type: New Feature
Reporter: Brandon Williams
 Fix For: 1.0.8


 Let me first say, I hate this idea.  It gives cassandra the ability to 
 permanently delete data at a large scale without any means of recovery.  
 However, I've seen this requested multiple times, and it is in fact useful in 
 some scenarios, such as when your application is using an embedded cassandra 
 instance for testing and need to truncate, which without JNA will timeout 
 more often than not.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (CASSANDRA-3734) Support native link w/o JNA in Java7

2012-01-12 Thread Jonathan Ellis (Commented) (JIRA)

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

Jonathan Ellis commented on CASSANDRA-3734:
---

http://stackoverflow.com/a/4526126 explains how to stub this in with an 
interface so we can continue to use JNA/exec for Java6 hosts.  (But, developers 
will need Java7 to build.)

 Support native link w/o JNA in Java7
 

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


 Java7 provides native support for hard links: 
 http://docs.oracle.com/javase/7/docs/api/java/nio/file/Files.html#createLink(java.nio.file.Path,
  java.nio.file.Path)
 We should prefer this method when Java7 is the host.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Created] (CASSANDRA-3735) Fix Unable to create hard link SSTableReaderTest error messages

2012-01-12 Thread Jonathan Ellis (Created) (JIRA)
Fix Unable to create hard link SSTableReaderTest error messages
-

 Key: CASSANDRA-3735
 URL: https://issues.apache.org/jira/browse/CASSANDRA-3735
 Project: Cassandra
  Issue Type: Bug
Reporter: Jonathan Ellis
Priority: Minor


Sample failure (on Windows):

{noformat}
[junit] java.io.IOException: Exception while executing the command: cmd /c 
mklink /H 
C:\Users\Jonathan\projects\cassandra\git\build\test\cassandra\data\Keyspace1\backups\Standard1-hc-1-Index.db
 
c:\Users\Jonathan\projects\cassandra\git\build\test\cassandra\data\Keyspace1\Standard1-hc-1-Index.db,command
 error Code: 1, command output: Cannot create a file when that file already 
exists.
[junit]
[junit] at org.apache.cassandra.utils.CLibrary.exec(CLibrary.java:213)
[junit] at 
org.apache.cassandra.utils.CLibrary.createHardLinkWithExec(CLibrary.java:188)
[junit] at 
org.apache.cassandra.utils.CLibrary.createHardLink(CLibrary.java:151)
[junit] at 
org.apache.cassandra.io.sstable.SSTableReader.createLinks(SSTableReader.java:833)

[junit] at 
org.apache.cassandra.db.DataTracker$1.runMayThrow(DataTracker.java:161)
[junit] at 
org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:30)
[junit] at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
[junit] at 
java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
[junit] at java.util.concurrent.FutureTask.run(FutureTask.java:138)
[junit] at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:98)
[junit] at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:206)
[junit] at 
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
[junit] at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
[junit] at java.lang.Thread.run(Thread.java:662)
[junit] ERROR 17:10:17,111 Fatal exception in thread 
Thread[NonPeriodicTasks:1,5,main]
{noformat}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




git commit: update createHardLink calls

2012-01-12 Thread jbellis
Updated Branches:
  refs/heads/cassandra-1.0 3509f3d35 - f2cb27279


update createHardLink calls


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/f2cb2727
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/f2cb2727
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/f2cb2727

Branch: refs/heads/cassandra-1.0
Commit: f2cb272798ca44d88d13b1f0d69d9a9e7ab70a15
Parents: 3509f3d
Author: Jonathan Ellis jbel...@apache.org
Authored: Thu Jan 12 17:14:54 2012 -0600
Committer: Jonathan Ellis jbel...@apache.org
Committed: Thu Jan 12 17:16:03 2012 -0600

--
 test/unit/org/apache/cassandra/db/ScrubTest.java   |2 +-
 .../cassandra/io/sstable/SSTableReaderTest.java|2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/f2cb2727/test/unit/org/apache/cassandra/db/ScrubTest.java
--
diff --git a/test/unit/org/apache/cassandra/db/ScrubTest.java 
b/test/unit/org/apache/cassandra/db/ScrubTest.java
index 0e7a2dc..36ff064 100644
--- a/test/unit/org/apache/cassandra/db/ScrubTest.java
+++ b/test/unit/org/apache/cassandra/db/ScrubTest.java
@@ -68,7 +68,7 @@ public class ScrubTest extends CleanupHelper
 if (srcFile.getName().equals(.svn))
 continue;
 File destFile = new 
File(destDirs[0]+File.separator+srcFile.getName());
-CLibrary.createHardLinkWithExec(srcFile, destFile);
+CLibrary.createHardLink(srcFile, destFile);
 
 destFile = new File(destDirs[0]+File.separator+srcFile.getName());
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/f2cb2727/test/unit/org/apache/cassandra/io/sstable/SSTableReaderTest.java
--
diff --git a/test/unit/org/apache/cassandra/io/sstable/SSTableReaderTest.java 
b/test/unit/org/apache/cassandra/io/sstable/SSTableReaderTest.java
index f9ee9e3..aff92cf 100644
--- a/test/unit/org/apache/cassandra/io/sstable/SSTableReaderTest.java
+++ b/test/unit/org/apache/cassandra/io/sstable/SSTableReaderTest.java
@@ -231,7 +231,7 @@ public class SSTableReaderTest extends CleanupHelper
 if (!srcFile.getName().startsWith(Indexed1))
 continue;
 File destFile = new File(destDirs[0] + File.separator + 
srcFile.getName());
-CLibrary.createHardLinkWithExec(srcFile, destFile);
+CLibrary.createHardLink(srcFile, destFile);
 
 destFile = new File(destDirs[0] + File.separator + 
srcFile.getName());
 



[jira] [Updated] (CASSANDRA-3735) Fix Unable to create hard link SSTableReaderTest error messages

2012-01-12 Thread Jonathan Ellis (Updated) (JIRA)

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

Jonathan Ellis updated CASSANDRA-3735:
--

Attachment: 0002-remove-incremental-backups-before-reloading-sstables.patch
0001-fix-generation-update-in-loadNewSSTables.patch

Two parts:

first makes it so loadNewSSTables won't reset sstable generation to a lower 
value than it currently is.

second removes the (hard linked) sstables from the incremental backups 
directory, so that when loadNewSSTables links them back in they won't conflict.

patch 2 doesn't actually work on Windows because something is keeping the Data 
component open.  Java6 just says delete failed; java7's Files.delete says 
java.nio.file.FileSystemException: 
build\test\cassandra\data\Keyspace1\backups\Standard1-hc-1-Data.db: The process 
cannot access the file because it is being used by another process.

I'm guessing it's counting something (what?) that opened the original Data, 
towards the link entry as well.  But, this should be enough to make the 
messages go away on Linux, which takes a more permissive view of deleting files 
opened elsewhere.

 Fix Unable to create hard link SSTableReaderTest error messages
 -

 Key: CASSANDRA-3735
 URL: https://issues.apache.org/jira/browse/CASSANDRA-3735
 Project: Cassandra
  Issue Type: Bug
Reporter: Jonathan Ellis
Priority: Minor
 Attachments: 0001-fix-generation-update-in-loadNewSSTables.patch, 
 0002-remove-incremental-backups-before-reloading-sstables.patch


 Sample failure (on Windows):
 {noformat}
 [junit] java.io.IOException: Exception while executing the command: cmd 
 /c mklink /H 
 C:\Users\Jonathan\projects\cassandra\git\build\test\cassandra\data\Keyspace1\backups\Standard1-hc-1-Index.db
  
 c:\Users\Jonathan\projects\cassandra\git\build\test\cassandra\data\Keyspace1\Standard1-hc-1-Index.db,command
  error Code: 1, command output: Cannot create a file when that file already 
 exists.
 [junit]
 [junit] at org.apache.cassandra.utils.CLibrary.exec(CLibrary.java:213)
 [junit] at 
 org.apache.cassandra.utils.CLibrary.createHardLinkWithExec(CLibrary.java:188)
 [junit] at 
 org.apache.cassandra.utils.CLibrary.createHardLink(CLibrary.java:151)
 [junit] at 
 org.apache.cassandra.io.sstable.SSTableReader.createLinks(SSTableReader.java:833)
 [junit] at 
 org.apache.cassandra.db.DataTracker$1.runMayThrow(DataTracker.java:161)
 [junit] at 
 org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:30)
 [junit] at 
 java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
 [junit] at 
 java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
 [junit] at java.util.concurrent.FutureTask.run(FutureTask.java:138)
 [junit] at 
 java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:98)
 [junit] at 
 java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:206)
 [junit] at 
 java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
 [junit] at 
 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
 [junit] at java.lang.Thread.run(Thread.java:662)
 [junit] ERROR 17:10:17,111 Fatal exception in thread 
 Thread[NonPeriodicTasks:1,5,main]
 {noformat}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Issue Comment Edited] (CASSANDRA-3735) Fix Unable to create hard link SSTableReaderTest error messages

2012-01-12 Thread Jonathan Ellis (Issue Comment Edited) (JIRA)

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

Jonathan Ellis edited comment on CASSANDRA-3735 at 1/12/12 11:29 PM:
-

Two parts:

first makes it so loadNewSSTables won't reset sstable generation to a lower 
value than it currently is.

second removes the (hard linked) sstables from the incremental backups 
directory, so that when loadNewSSTables links them back in they won't conflict.

patch 2 doesn't actually work on Windows because something is keeping the Data 
component open.  Java6 just says delete failed; java7's Files.delete says 
java.nio.file.FileSystemException: 
build\test\cassandra\data\Keyspace1\backups\Standard1-hc-1-Data.db: The process 
cannot access the file because it is being used by another process.  (Even 
after I prototyped CASSANDRA-3734 to use Files.createLink instead of 
ProcessBuilder, so that's not the other process.)

I'm guessing it's counting something (what?) that opened the original Data, 
towards the link entry as well.  But, this should be enough to make the 
messages go away on Linux, which takes a more permissive view of deleting files 
opened elsewhere.

  was (Author: jbellis):
Two parts:

first makes it so loadNewSSTables won't reset sstable generation to a lower 
value than it currently is.

second removes the (hard linked) sstables from the incremental backups 
directory, so that when loadNewSSTables links them back in they won't conflict.

patch 2 doesn't actually work on Windows because something is keeping the Data 
component open.  Java6 just says delete failed; java7's Files.delete says 
java.nio.file.FileSystemException: 
build\test\cassandra\data\Keyspace1\backups\Standard1-hc-1-Data.db: The process 
cannot access the file because it is being used by another process.

I'm guessing it's counting something (what?) that opened the original Data, 
towards the link entry as well.  But, this should be enough to make the 
messages go away on Linux, which takes a more permissive view of deleting files 
opened elsewhere.
  
 Fix Unable to create hard link SSTableReaderTest error messages
 -

 Key: CASSANDRA-3735
 URL: https://issues.apache.org/jira/browse/CASSANDRA-3735
 Project: Cassandra
  Issue Type: Bug
Reporter: Jonathan Ellis
Assignee: Jonathan Ellis
Priority: Minor
 Attachments: 0001-fix-generation-update-in-loadNewSSTables.patch, 
 0002-remove-incremental-backups-before-reloading-sstables.patch


 Sample failure (on Windows):
 {noformat}
 [junit] java.io.IOException: Exception while executing the command: cmd 
 /c mklink /H 
 C:\Users\Jonathan\projects\cassandra\git\build\test\cassandra\data\Keyspace1\backups\Standard1-hc-1-Index.db
  
 c:\Users\Jonathan\projects\cassandra\git\build\test\cassandra\data\Keyspace1\Standard1-hc-1-Index.db,command
  error Code: 1, command output: Cannot create a file when that file already 
 exists.
 [junit]
 [junit] at org.apache.cassandra.utils.CLibrary.exec(CLibrary.java:213)
 [junit] at 
 org.apache.cassandra.utils.CLibrary.createHardLinkWithExec(CLibrary.java:188)
 [junit] at 
 org.apache.cassandra.utils.CLibrary.createHardLink(CLibrary.java:151)
 [junit] at 
 org.apache.cassandra.io.sstable.SSTableReader.createLinks(SSTableReader.java:833)
 [junit] at 
 org.apache.cassandra.db.DataTracker$1.runMayThrow(DataTracker.java:161)
 [junit] at 
 org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:30)
 [junit] at 
 java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
 [junit] at 
 java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
 [junit] at java.util.concurrent.FutureTask.run(FutureTask.java:138)
 [junit] at 
 java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:98)
 [junit] at 
 java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:206)
 [junit] at 
 java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
 [junit] at 
 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
 [junit] at java.lang.Thread.run(Thread.java:662)
 [junit] ERROR 17:10:17,111 Fatal exception in thread 
 Thread[NonPeriodicTasks:1,5,main]
 {noformat}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

   

[jira] [Created] (CASSANDRA-3736) -Dreplace_token leaves old node (IP) in the gossip with the token.

2012-01-12 Thread Jackson Chung (Created) (JIRA)
-Dreplace_token leaves old node (IP) in the gossip with the token.
--

 Key: CASSANDRA-3736
 URL: https://issues.apache.org/jira/browse/CASSANDRA-3736
 Project: Cassandra
  Issue Type: Bug
Reporter: Jackson Chung


https://issues.apache.org/jira/browse/CASSANDRA-957 introduce a -Dreplace_token,

however, the replaced IP keeps on showing up in the Gossiper when starting the 
replacement node:

{noformat}
 INFO [Thread-2] 2012-01-12 23:59:35,162 CassandraDaemon.java (line 213) 
Listening for thrift clients...
 INFO [GossipStage:1] 2012-01-12 23:59:35,173 Gossiper.java (line 836) Node 
/50.56.59.68 has restarted, now UP
 INFO [GossipStage:1] 2012-01-12 23:59:35,174 Gossiper.java (line 804) 
InetAddress /50.56.59.68 is now UP
 INFO [GossipStage:1] 2012-01-12 23:59:35,175 StorageService.java (line 988) 
Node /50.56.59.68 state jump to normal
 INFO [GossipStage:1] 2012-01-12 23:59:35,176 Gossiper.java (line 836) Node 
/50.56.58.55 has restarted, now UP
 INFO [GossipStage:1] 2012-01-12 23:59:35,176 Gossiper.java (line 804) 
InetAddress /50.56.58.55 is now UP
 INFO [GossipStage:1] 2012-01-12 23:59:35,177 StorageService.java (line 1016) 
Nodes /50.56.58.55 and action-quick2/50.56.31.186 have the same token 
85070591730234615865843651857942052864.  Ignoring /50.56.58.55
 INFO [GossipTasks:1] 2012-01-12 23:59:45,048 Gossiper.java (line 818) 
InetAddress /50.56.58.55 is now dead.
 INFO [GossipTasks:1] 2012-01-13 00:00:06,062 Gossiper.java (line 632) 
FatClient /50.56.58.55 has been silent for 3ms, removing from gossip
 INFO [GossipStage:1] 2012-01-13 00:01:06,320 Gossiper.java (line 838) Node 
/50.56.58.55 is now part of the cluster
 INFO [GossipStage:1] 2012-01-13 00:01:06,320 Gossiper.java (line 804) 
InetAddress /50.56.58.55 is now UP
 INFO [GossipStage:1] 2012-01-13 00:01:06,321 StorageService.java (line 1016) 
Nodes /50.56.58.55 and action-quick2/50.56.31.186 have the same token 
85070591730234615865843651857942052864.  Ignoring /50.56.58.55
 INFO [GossipTasks:1] 2012-01-13 00:01:16,106 Gossiper.java (line 818) 
InetAddress /50.56.58.55 is now dead.
 INFO [GossipTasks:1] 2012-01-13 00:01:37,121 Gossiper.java (line 632) 
FatClient /50.56.58.55 has been silent for 3ms, removing from gossip
 INFO [GossipStage:1] 2012-01-13 00:02:37,352 Gossiper.java (line 838) Node 
/50.56.58.55 is now part of the cluster
 INFO [GossipStage:1] 2012-01-13 00:02:37,353 Gossiper.java (line 804) 
InetAddress /50.56.58.55 is now UP
 INFO [GossipStage:1] 2012-01-13 00:02:37,353 StorageService.java (line 1016) 
Nodes /50.56.58.55 and action-quick2/50.56.31.186 have the same token 
85070591730234615865843651857942052864.  Ignoring /50.56.58.55
 INFO [GossipTasks:1] 2012-01-13 00:02:47,158 Gossiper.java (line 818) 
InetAddress /50.56.58.55 is now dead.
 INFO [GossipStage:1] 2012-01-13 00:02:50,162 Gossiper.java (line 818) 
InetAddress /50.56.58.55 is now dead.
 INFO [GossipStage:1] 2012-01-13 00:02:50,163 StorageService.java (line 1156) 
Removing token 122029383590318827259508597176866581733 for /50.56.58.55
{noformat}

in the above, /50.56.58.55 was the replaced IP.

tried adding the Gossiper.instance.removeEndpoint(endpoint); in the 
StorageService.java where the message 'Nodes %s and %s have the same token %s.  
Ignoring %s,' seems only have fixed this temporary. Here is a ring output:

{noformat}
riptano@action-quick:~/work/cassandra$ ./bin/nodetool -h localhost ring
Address DC  RackStatus State   LoadOwns
Token   
   
85070591730234615865843651857942052864  
50.56.59.68 datacenter1 rack1   Up Normal  6.67 KB 85.56%  
60502102442797279294142560823234402248  
50.56.31.186datacenter1 rack1   Up Normal  11.12 KB14.44%  
85070591730234615865843651857942052864 
{noformat}

gossipinfo:
{noformat}
$ ./bin/nodetool -h localhost gossipinfo
/50.56.58.55
  LOAD:6835.0
  SCHEMA:--1000--
  RPC_ADDRESS:50.56.58.55
  STATUS:NORMAL,85070591730234615865843651857942052864
  RELEASE_VERSION:1.0.7-SNAPSHOT
/50.56.59.68
  LOAD:6835.0
  SCHEMA:--1000--
  RPC_ADDRESS:50.56.59.68
  STATUS:NORMAL,60502102442797279294142560823234402248
  RELEASE_VERSION:1.0.7-SNAPSHOT
action-quick2/50.56.31.186
  LOAD:11387.0
  SCHEMA:--1000--
  RPC_ADDRESS:50.56.31.186
  STATUS:NORMAL,85070591730234615865843651857942052864
  RELEASE_VERSION:1.0.7-SNAPSHOT
{noformat}

Note that at 1 point earlier it seems to have been removed:

$ ./bin/nodetool -h localhost gossipinfo
/50.56.59.68
  LOAD:13815.0
  SCHEMA:--1000--
  RPC_ADDRESS:50.56.59.68
  STATUS:NORMAL,60502102442797279294142560823234402248
  RELEASE_VERSION:1.0.7-SNAPSHOT

[jira] [Updated] (CASSANDRA-3736) -Dreplace_token leaves old node (IP) in the gossip with the token.

2012-01-12 Thread Brandon Williams (Updated) (JIRA)

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

Brandon Williams updated CASSANDRA-3736:


 Reviewer: brandon.williams
  Component/s: Core
Affects Version/s: 1.0.0
Fix Version/s: 1.0.7
 Assignee: Vijay

 -Dreplace_token leaves old node (IP) in the gossip with the token.
 --

 Key: CASSANDRA-3736
 URL: https://issues.apache.org/jira/browse/CASSANDRA-3736
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 1.0.0
Reporter: Jackson Chung
Assignee: Vijay
 Fix For: 1.0.7


 https://issues.apache.org/jira/browse/CASSANDRA-957 introduce a 
 -Dreplace_token,
 however, the replaced IP keeps on showing up in the Gossiper when starting 
 the replacement node:
 {noformat}
  INFO [Thread-2] 2012-01-12 23:59:35,162 CassandraDaemon.java (line 213) 
 Listening for thrift clients...
  INFO [GossipStage:1] 2012-01-12 23:59:35,173 Gossiper.java (line 836) Node 
 /50.56.59.68 has restarted, now UP
  INFO [GossipStage:1] 2012-01-12 23:59:35,174 Gossiper.java (line 804) 
 InetAddress /50.56.59.68 is now UP
  INFO [GossipStage:1] 2012-01-12 23:59:35,175 StorageService.java (line 988) 
 Node /50.56.59.68 state jump to normal
  INFO [GossipStage:1] 2012-01-12 23:59:35,176 Gossiper.java (line 836) Node 
 /50.56.58.55 has restarted, now UP
  INFO [GossipStage:1] 2012-01-12 23:59:35,176 Gossiper.java (line 804) 
 InetAddress /50.56.58.55 is now UP
  INFO [GossipStage:1] 2012-01-12 23:59:35,177 StorageService.java (line 1016) 
 Nodes /50.56.58.55 and action-quick2/50.56.31.186 have the same token 
 85070591730234615865843651857942052864.  Ignoring /50.56.58.55
  INFO [GossipTasks:1] 2012-01-12 23:59:45,048 Gossiper.java (line 818) 
 InetAddress /50.56.58.55 is now dead.
  INFO [GossipTasks:1] 2012-01-13 00:00:06,062 Gossiper.java (line 632) 
 FatClient /50.56.58.55 has been silent for 3ms, removing from gossip
  INFO [GossipStage:1] 2012-01-13 00:01:06,320 Gossiper.java (line 838) Node 
 /50.56.58.55 is now part of the cluster
  INFO [GossipStage:1] 2012-01-13 00:01:06,320 Gossiper.java (line 804) 
 InetAddress /50.56.58.55 is now UP
  INFO [GossipStage:1] 2012-01-13 00:01:06,321 StorageService.java (line 1016) 
 Nodes /50.56.58.55 and action-quick2/50.56.31.186 have the same token 
 85070591730234615865843651857942052864.  Ignoring /50.56.58.55
  INFO [GossipTasks:1] 2012-01-13 00:01:16,106 Gossiper.java (line 818) 
 InetAddress /50.56.58.55 is now dead.
  INFO [GossipTasks:1] 2012-01-13 00:01:37,121 Gossiper.java (line 632) 
 FatClient /50.56.58.55 has been silent for 3ms, removing from gossip
  INFO [GossipStage:1] 2012-01-13 00:02:37,352 Gossiper.java (line 838) Node 
 /50.56.58.55 is now part of the cluster
  INFO [GossipStage:1] 2012-01-13 00:02:37,353 Gossiper.java (line 804) 
 InetAddress /50.56.58.55 is now UP
  INFO [GossipStage:1] 2012-01-13 00:02:37,353 StorageService.java (line 1016) 
 Nodes /50.56.58.55 and action-quick2/50.56.31.186 have the same token 
 85070591730234615865843651857942052864.  Ignoring /50.56.58.55
  INFO [GossipTasks:1] 2012-01-13 00:02:47,158 Gossiper.java (line 818) 
 InetAddress /50.56.58.55 is now dead.
  INFO [GossipStage:1] 2012-01-13 00:02:50,162 Gossiper.java (line 818) 
 InetAddress /50.56.58.55 is now dead.
  INFO [GossipStage:1] 2012-01-13 00:02:50,163 StorageService.java (line 1156) 
 Removing token 122029383590318827259508597176866581733 for /50.56.58.55
 {noformat}
 in the above, /50.56.58.55 was the replaced IP.
 tried adding the Gossiper.instance.removeEndpoint(endpoint); in the 
 StorageService.java where the message 'Nodes %s and %s have the same token 
 %s.  Ignoring %s,' seems only have fixed this temporary. Here is a ring 
 output:
 {noformat}
 riptano@action-quick:~/work/cassandra$ ./bin/nodetool -h localhost ring
 Address DC  RackStatus State   LoadOwns   
  Token   
   
  85070591730234615865843651857942052864  
 50.56.59.68 datacenter1 rack1   Up Normal  6.67 KB 85.56% 
  60502102442797279294142560823234402248  
 50.56.31.186datacenter1 rack1   Up Normal  11.12 KB14.44% 
  85070591730234615865843651857942052864 
 {noformat}
 gossipinfo:
 {noformat}
 $ ./bin/nodetool -h localhost gossipinfo
 /50.56.58.55
   LOAD:6835.0
   SCHEMA:--1000--
   RPC_ADDRESS:50.56.58.55
   STATUS:NORMAL,85070591730234615865843651857942052864
   RELEASE_VERSION:1.0.7-SNAPSHOT
 /50.56.59.68
   LOAD:6835.0
   SCHEMA:--1000--
   RPC_ADDRESS:50.56.59.68
   

[jira] [Commented] (CASSANDRA-3736) -Dreplace_token leaves old node (IP) in the gossip with the token.

2012-01-12 Thread Vijay (Commented) (JIRA)

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

Vijay commented on CASSANDRA-3736:
--

Hi Jackson, Just a clarification is 50.56.58.55 up and cassandra is running?

 INFO [GossipStage:1] 2012-01-12 23:59:35,177 StorageService.java (line 1016) 
Nodes /50.56.58.55 and action-quick2/50.56.31.186 have the same token 
85070591730234615865843651857942052864.  Ignoring /50.56.58.55

This happens when the replaced node is running or resurrected. 

 -Dreplace_token leaves old node (IP) in the gossip with the token.
 --

 Key: CASSANDRA-3736
 URL: https://issues.apache.org/jira/browse/CASSANDRA-3736
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 1.0.0
Reporter: Jackson Chung
Assignee: Vijay
 Fix For: 1.0.7


 https://issues.apache.org/jira/browse/CASSANDRA-957 introduce a 
 -Dreplace_token,
 however, the replaced IP keeps on showing up in the Gossiper when starting 
 the replacement node:
 {noformat}
  INFO [Thread-2] 2012-01-12 23:59:35,162 CassandraDaemon.java (line 213) 
 Listening for thrift clients...
  INFO [GossipStage:1] 2012-01-12 23:59:35,173 Gossiper.java (line 836) Node 
 /50.56.59.68 has restarted, now UP
  INFO [GossipStage:1] 2012-01-12 23:59:35,174 Gossiper.java (line 804) 
 InetAddress /50.56.59.68 is now UP
  INFO [GossipStage:1] 2012-01-12 23:59:35,175 StorageService.java (line 988) 
 Node /50.56.59.68 state jump to normal
  INFO [GossipStage:1] 2012-01-12 23:59:35,176 Gossiper.java (line 836) Node 
 /50.56.58.55 has restarted, now UP
  INFO [GossipStage:1] 2012-01-12 23:59:35,176 Gossiper.java (line 804) 
 InetAddress /50.56.58.55 is now UP
  INFO [GossipStage:1] 2012-01-12 23:59:35,177 StorageService.java (line 1016) 
 Nodes /50.56.58.55 and action-quick2/50.56.31.186 have the same token 
 85070591730234615865843651857942052864.  Ignoring /50.56.58.55
  INFO [GossipTasks:1] 2012-01-12 23:59:45,048 Gossiper.java (line 818) 
 InetAddress /50.56.58.55 is now dead.
  INFO [GossipTasks:1] 2012-01-13 00:00:06,062 Gossiper.java (line 632) 
 FatClient /50.56.58.55 has been silent for 3ms, removing from gossip
  INFO [GossipStage:1] 2012-01-13 00:01:06,320 Gossiper.java (line 838) Node 
 /50.56.58.55 is now part of the cluster
  INFO [GossipStage:1] 2012-01-13 00:01:06,320 Gossiper.java (line 804) 
 InetAddress /50.56.58.55 is now UP
  INFO [GossipStage:1] 2012-01-13 00:01:06,321 StorageService.java (line 1016) 
 Nodes /50.56.58.55 and action-quick2/50.56.31.186 have the same token 
 85070591730234615865843651857942052864.  Ignoring /50.56.58.55
  INFO [GossipTasks:1] 2012-01-13 00:01:16,106 Gossiper.java (line 818) 
 InetAddress /50.56.58.55 is now dead.
  INFO [GossipTasks:1] 2012-01-13 00:01:37,121 Gossiper.java (line 632) 
 FatClient /50.56.58.55 has been silent for 3ms, removing from gossip
  INFO [GossipStage:1] 2012-01-13 00:02:37,352 Gossiper.java (line 838) Node 
 /50.56.58.55 is now part of the cluster
  INFO [GossipStage:1] 2012-01-13 00:02:37,353 Gossiper.java (line 804) 
 InetAddress /50.56.58.55 is now UP
  INFO [GossipStage:1] 2012-01-13 00:02:37,353 StorageService.java (line 1016) 
 Nodes /50.56.58.55 and action-quick2/50.56.31.186 have the same token 
 85070591730234615865843651857942052864.  Ignoring /50.56.58.55
  INFO [GossipTasks:1] 2012-01-13 00:02:47,158 Gossiper.java (line 818) 
 InetAddress /50.56.58.55 is now dead.
  INFO [GossipStage:1] 2012-01-13 00:02:50,162 Gossiper.java (line 818) 
 InetAddress /50.56.58.55 is now dead.
  INFO [GossipStage:1] 2012-01-13 00:02:50,163 StorageService.java (line 1156) 
 Removing token 122029383590318827259508597176866581733 for /50.56.58.55
 {noformat}
 in the above, /50.56.58.55 was the replaced IP.
 tried adding the Gossiper.instance.removeEndpoint(endpoint); in the 
 StorageService.java where the message 'Nodes %s and %s have the same token 
 %s.  Ignoring %s,' seems only have fixed this temporary. Here is a ring 
 output:
 {noformat}
 riptano@action-quick:~/work/cassandra$ ./bin/nodetool -h localhost ring
 Address DC  RackStatus State   LoadOwns   
  Token   
   
  85070591730234615865843651857942052864  
 50.56.59.68 datacenter1 rack1   Up Normal  6.67 KB 85.56% 
  60502102442797279294142560823234402248  
 50.56.31.186datacenter1 rack1   Up Normal  11.12 KB14.44% 
  85070591730234615865843651857942052864 
 {noformat}
 gossipinfo:
 {noformat}
 $ ./bin/nodetool -h localhost gossipinfo
 /50.56.58.55
   LOAD:6835.0
   SCHEMA:--1000--
   

[jira] [Commented] (CASSANDRA-3736) -Dreplace_token leaves old node (IP) in the gossip with the token.

2012-01-12 Thread David Strauss (Commented) (JIRA)

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

David Strauss commented on CASSANDRA-3736:
--

Hi Vijay,

I filed the ticket with DataStax that prompted this issue. I'm not 100% certain 
whether the node we replaced was fully and consistently offline from the point 
we performed the replacement. I *believe* it was, especially because the 
-Dreplace_token refuses to work if the node being replaced is online and we 
took no further action to bring the replaced node back (its VM wasn't 
initializing any network interfaces other than lo).

Even if the replaced node comes back, it shouldn't be allowed to re-join the 
ring with a token already owned by an Up node. It should be subjected to the 
same condition -Dreplace_token is, where the token being used by the new ring 
member must be owned by a Down node.

David

 -Dreplace_token leaves old node (IP) in the gossip with the token.
 --

 Key: CASSANDRA-3736
 URL: https://issues.apache.org/jira/browse/CASSANDRA-3736
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 1.0.0
Reporter: Jackson Chung
Assignee: Vijay
 Fix For: 1.0.7


 https://issues.apache.org/jira/browse/CASSANDRA-957 introduce a 
 -Dreplace_token,
 however, the replaced IP keeps on showing up in the Gossiper when starting 
 the replacement node:
 {noformat}
  INFO [Thread-2] 2012-01-12 23:59:35,162 CassandraDaemon.java (line 213) 
 Listening for thrift clients...
  INFO [GossipStage:1] 2012-01-12 23:59:35,173 Gossiper.java (line 836) Node 
 /50.56.59.68 has restarted, now UP
  INFO [GossipStage:1] 2012-01-12 23:59:35,174 Gossiper.java (line 804) 
 InetAddress /50.56.59.68 is now UP
  INFO [GossipStage:1] 2012-01-12 23:59:35,175 StorageService.java (line 988) 
 Node /50.56.59.68 state jump to normal
  INFO [GossipStage:1] 2012-01-12 23:59:35,176 Gossiper.java (line 836) Node 
 /50.56.58.55 has restarted, now UP
  INFO [GossipStage:1] 2012-01-12 23:59:35,176 Gossiper.java (line 804) 
 InetAddress /50.56.58.55 is now UP
  INFO [GossipStage:1] 2012-01-12 23:59:35,177 StorageService.java (line 1016) 
 Nodes /50.56.58.55 and action-quick2/50.56.31.186 have the same token 
 85070591730234615865843651857942052864.  Ignoring /50.56.58.55
  INFO [GossipTasks:1] 2012-01-12 23:59:45,048 Gossiper.java (line 818) 
 InetAddress /50.56.58.55 is now dead.
  INFO [GossipTasks:1] 2012-01-13 00:00:06,062 Gossiper.java (line 632) 
 FatClient /50.56.58.55 has been silent for 3ms, removing from gossip
  INFO [GossipStage:1] 2012-01-13 00:01:06,320 Gossiper.java (line 838) Node 
 /50.56.58.55 is now part of the cluster
  INFO [GossipStage:1] 2012-01-13 00:01:06,320 Gossiper.java (line 804) 
 InetAddress /50.56.58.55 is now UP
  INFO [GossipStage:1] 2012-01-13 00:01:06,321 StorageService.java (line 1016) 
 Nodes /50.56.58.55 and action-quick2/50.56.31.186 have the same token 
 85070591730234615865843651857942052864.  Ignoring /50.56.58.55
  INFO [GossipTasks:1] 2012-01-13 00:01:16,106 Gossiper.java (line 818) 
 InetAddress /50.56.58.55 is now dead.
  INFO [GossipTasks:1] 2012-01-13 00:01:37,121 Gossiper.java (line 632) 
 FatClient /50.56.58.55 has been silent for 3ms, removing from gossip
  INFO [GossipStage:1] 2012-01-13 00:02:37,352 Gossiper.java (line 838) Node 
 /50.56.58.55 is now part of the cluster
  INFO [GossipStage:1] 2012-01-13 00:02:37,353 Gossiper.java (line 804) 
 InetAddress /50.56.58.55 is now UP
  INFO [GossipStage:1] 2012-01-13 00:02:37,353 StorageService.java (line 1016) 
 Nodes /50.56.58.55 and action-quick2/50.56.31.186 have the same token 
 85070591730234615865843651857942052864.  Ignoring /50.56.58.55
  INFO [GossipTasks:1] 2012-01-13 00:02:47,158 Gossiper.java (line 818) 
 InetAddress /50.56.58.55 is now dead.
  INFO [GossipStage:1] 2012-01-13 00:02:50,162 Gossiper.java (line 818) 
 InetAddress /50.56.58.55 is now dead.
  INFO [GossipStage:1] 2012-01-13 00:02:50,163 StorageService.java (line 1156) 
 Removing token 122029383590318827259508597176866581733 for /50.56.58.55
 {noformat}
 in the above, /50.56.58.55 was the replaced IP.
 tried adding the Gossiper.instance.removeEndpoint(endpoint); in the 
 StorageService.java where the message 'Nodes %s and %s have the same token 
 %s.  Ignoring %s,' seems only have fixed this temporary. Here is a ring 
 output:
 {noformat}
 riptano@action-quick:~/work/cassandra$ ./bin/nodetool -h localhost ring
 Address DC  RackStatus State   LoadOwns   
  Token   
   
  85070591730234615865843651857942052864  
 50.56.59.68 datacenter1 rack1   

[jira] [Issue Comment Edited] (CASSANDRA-3736) -Dreplace_token leaves old node (IP) in the gossip with the token.

2012-01-12 Thread David Strauss (Issue Comment Edited) (JIRA)

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

David Strauss edited comment on CASSANDRA-3736 at 1/13/12 1:52 AM:
---

Hi Vijay,

I filed the ticket with DataStax that prompted this issue. I'm not 100% certain 
whether the node we replaced was fully and consistently offline from the point 
we performed the replacement. I *believe* it was, especially because the 
-Dreplace_token refuses to work if the node being replaced is online -- and we 
took no further action to bring the replaced node back (its VM wasn't 
initializing any network interfaces other than lo).

Even if the replaced node comes back, it shouldn't be allowed to re-join the 
ring with a token already owned by an Up node. It should be subjected to the 
same condition -Dreplace_token is, where the token being used by the new ring 
member must be owned by a Down node.

David

  was (Author: davidstrauss):
Hi Vijay,

I filed the ticket with DataStax that prompted this issue. I'm not 100% certain 
whether the node we replaced was fully and consistently offline from the point 
we performed the replacement. I *believe* it was, especially because the 
-Dreplace_token refuses to work if the node being replaced is online and we 
took no further action to bring the replaced node back (its VM wasn't 
initializing any network interfaces other than lo).

Even if the replaced node comes back, it shouldn't be allowed to re-join the 
ring with a token already owned by an Up node. It should be subjected to the 
same condition -Dreplace_token is, where the token being used by the new ring 
member must be owned by a Down node.

David
  
 -Dreplace_token leaves old node (IP) in the gossip with the token.
 --

 Key: CASSANDRA-3736
 URL: https://issues.apache.org/jira/browse/CASSANDRA-3736
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 1.0.0
Reporter: Jackson Chung
Assignee: Vijay
 Fix For: 1.0.7


 https://issues.apache.org/jira/browse/CASSANDRA-957 introduce a 
 -Dreplace_token,
 however, the replaced IP keeps on showing up in the Gossiper when starting 
 the replacement node:
 {noformat}
  INFO [Thread-2] 2012-01-12 23:59:35,162 CassandraDaemon.java (line 213) 
 Listening for thrift clients...
  INFO [GossipStage:1] 2012-01-12 23:59:35,173 Gossiper.java (line 836) Node 
 /50.56.59.68 has restarted, now UP
  INFO [GossipStage:1] 2012-01-12 23:59:35,174 Gossiper.java (line 804) 
 InetAddress /50.56.59.68 is now UP
  INFO [GossipStage:1] 2012-01-12 23:59:35,175 StorageService.java (line 988) 
 Node /50.56.59.68 state jump to normal
  INFO [GossipStage:1] 2012-01-12 23:59:35,176 Gossiper.java (line 836) Node 
 /50.56.58.55 has restarted, now UP
  INFO [GossipStage:1] 2012-01-12 23:59:35,176 Gossiper.java (line 804) 
 InetAddress /50.56.58.55 is now UP
  INFO [GossipStage:1] 2012-01-12 23:59:35,177 StorageService.java (line 1016) 
 Nodes /50.56.58.55 and action-quick2/50.56.31.186 have the same token 
 85070591730234615865843651857942052864.  Ignoring /50.56.58.55
  INFO [GossipTasks:1] 2012-01-12 23:59:45,048 Gossiper.java (line 818) 
 InetAddress /50.56.58.55 is now dead.
  INFO [GossipTasks:1] 2012-01-13 00:00:06,062 Gossiper.java (line 632) 
 FatClient /50.56.58.55 has been silent for 3ms, removing from gossip
  INFO [GossipStage:1] 2012-01-13 00:01:06,320 Gossiper.java (line 838) Node 
 /50.56.58.55 is now part of the cluster
  INFO [GossipStage:1] 2012-01-13 00:01:06,320 Gossiper.java (line 804) 
 InetAddress /50.56.58.55 is now UP
  INFO [GossipStage:1] 2012-01-13 00:01:06,321 StorageService.java (line 1016) 
 Nodes /50.56.58.55 and action-quick2/50.56.31.186 have the same token 
 85070591730234615865843651857942052864.  Ignoring /50.56.58.55
  INFO [GossipTasks:1] 2012-01-13 00:01:16,106 Gossiper.java (line 818) 
 InetAddress /50.56.58.55 is now dead.
  INFO [GossipTasks:1] 2012-01-13 00:01:37,121 Gossiper.java (line 632) 
 FatClient /50.56.58.55 has been silent for 3ms, removing from gossip
  INFO [GossipStage:1] 2012-01-13 00:02:37,352 Gossiper.java (line 838) Node 
 /50.56.58.55 is now part of the cluster
  INFO [GossipStage:1] 2012-01-13 00:02:37,353 Gossiper.java (line 804) 
 InetAddress /50.56.58.55 is now UP
  INFO [GossipStage:1] 2012-01-13 00:02:37,353 StorageService.java (line 1016) 
 Nodes /50.56.58.55 and action-quick2/50.56.31.186 have the same token 
 85070591730234615865843651857942052864.  Ignoring /50.56.58.55
  INFO [GossipTasks:1] 2012-01-13 00:02:47,158 Gossiper.java (line 818) 
 InetAddress /50.56.58.55 is now dead.
  INFO [GossipStage:1] 2012-01-13 00:02:50,162 Gossiper.java (line 818) 
 InetAddress 

[jira] [Issue Comment Edited] (CASSANDRA-3736) -Dreplace_token leaves old node (IP) in the gossip with the token.

2012-01-12 Thread David Strauss (Issue Comment Edited) (JIRA)

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

David Strauss edited comment on CASSANDRA-3736 at 1/13/12 1:52 AM:
---

Hi Vijay,

I filed the ticket with DataStax that prompted this issue. I'm not 100% certain 
whether the node we replaced was fully and consistently offline from the point 
we performed the replacement. I *believe* it was, especially because the 
-Dreplace_token refuses to work if the node being replaced is online --- and we 
took no further action to bring the replaced node back (its VM wasn't 
initializing any network interfaces other than lo).

Even if the replaced node comes back, it shouldn't be allowed to re-join the 
ring with a token already owned by an Up node. It should be subjected to the 
same condition -Dreplace_token is, where the token being used by the new ring 
member must be owned by a Down node.

David

  was (Author: davidstrauss):
Hi Vijay,

I filed the ticket with DataStax that prompted this issue. I'm not 100% certain 
whether the node we replaced was fully and consistently offline from the point 
we performed the replacement. I *believe* it was, especially because the 
-Dreplace_token refuses to work if the node being replaced is online -- and we 
took no further action to bring the replaced node back (its VM wasn't 
initializing any network interfaces other than lo).

Even if the replaced node comes back, it shouldn't be allowed to re-join the 
ring with a token already owned by an Up node. It should be subjected to the 
same condition -Dreplace_token is, where the token being used by the new ring 
member must be owned by a Down node.

David
  
 -Dreplace_token leaves old node (IP) in the gossip with the token.
 --

 Key: CASSANDRA-3736
 URL: https://issues.apache.org/jira/browse/CASSANDRA-3736
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 1.0.0
Reporter: Jackson Chung
Assignee: Vijay
 Fix For: 1.0.7


 https://issues.apache.org/jira/browse/CASSANDRA-957 introduce a 
 -Dreplace_token,
 however, the replaced IP keeps on showing up in the Gossiper when starting 
 the replacement node:
 {noformat}
  INFO [Thread-2] 2012-01-12 23:59:35,162 CassandraDaemon.java (line 213) 
 Listening for thrift clients...
  INFO [GossipStage:1] 2012-01-12 23:59:35,173 Gossiper.java (line 836) Node 
 /50.56.59.68 has restarted, now UP
  INFO [GossipStage:1] 2012-01-12 23:59:35,174 Gossiper.java (line 804) 
 InetAddress /50.56.59.68 is now UP
  INFO [GossipStage:1] 2012-01-12 23:59:35,175 StorageService.java (line 988) 
 Node /50.56.59.68 state jump to normal
  INFO [GossipStage:1] 2012-01-12 23:59:35,176 Gossiper.java (line 836) Node 
 /50.56.58.55 has restarted, now UP
  INFO [GossipStage:1] 2012-01-12 23:59:35,176 Gossiper.java (line 804) 
 InetAddress /50.56.58.55 is now UP
  INFO [GossipStage:1] 2012-01-12 23:59:35,177 StorageService.java (line 1016) 
 Nodes /50.56.58.55 and action-quick2/50.56.31.186 have the same token 
 85070591730234615865843651857942052864.  Ignoring /50.56.58.55
  INFO [GossipTasks:1] 2012-01-12 23:59:45,048 Gossiper.java (line 818) 
 InetAddress /50.56.58.55 is now dead.
  INFO [GossipTasks:1] 2012-01-13 00:00:06,062 Gossiper.java (line 632) 
 FatClient /50.56.58.55 has been silent for 3ms, removing from gossip
  INFO [GossipStage:1] 2012-01-13 00:01:06,320 Gossiper.java (line 838) Node 
 /50.56.58.55 is now part of the cluster
  INFO [GossipStage:1] 2012-01-13 00:01:06,320 Gossiper.java (line 804) 
 InetAddress /50.56.58.55 is now UP
  INFO [GossipStage:1] 2012-01-13 00:01:06,321 StorageService.java (line 1016) 
 Nodes /50.56.58.55 and action-quick2/50.56.31.186 have the same token 
 85070591730234615865843651857942052864.  Ignoring /50.56.58.55
  INFO [GossipTasks:1] 2012-01-13 00:01:16,106 Gossiper.java (line 818) 
 InetAddress /50.56.58.55 is now dead.
  INFO [GossipTasks:1] 2012-01-13 00:01:37,121 Gossiper.java (line 632) 
 FatClient /50.56.58.55 has been silent for 3ms, removing from gossip
  INFO [GossipStage:1] 2012-01-13 00:02:37,352 Gossiper.java (line 838) Node 
 /50.56.58.55 is now part of the cluster
  INFO [GossipStage:1] 2012-01-13 00:02:37,353 Gossiper.java (line 804) 
 InetAddress /50.56.58.55 is now UP
  INFO [GossipStage:1] 2012-01-13 00:02:37,353 StorageService.java (line 1016) 
 Nodes /50.56.58.55 and action-quick2/50.56.31.186 have the same token 
 85070591730234615865843651857942052864.  Ignoring /50.56.58.55
  INFO [GossipTasks:1] 2012-01-13 00:02:47,158 Gossiper.java (line 818) 
 InetAddress /50.56.58.55 is now dead.
  INFO [GossipStage:1] 2012-01-13 00:02:50,162 Gossiper.java (line 818) 
 InetAddress 

[jira] [Commented] (CASSANDRA-3736) -Dreplace_token leaves old node (IP) in the gossip with the token.

2012-01-12 Thread David Strauss (Commented) (JIRA)

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

David Strauss commented on CASSANDRA-3736:
--

Alternatively, it would be good for Cassandra to provide a convenient 
(nodetool) way to drop the Down IP when a token is simultaneously occupied by 
one Up IP and at least one Down IP.

 -Dreplace_token leaves old node (IP) in the gossip with the token.
 --

 Key: CASSANDRA-3736
 URL: https://issues.apache.org/jira/browse/CASSANDRA-3736
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 1.0.0
Reporter: Jackson Chung
Assignee: Vijay
 Fix For: 1.0.7


 https://issues.apache.org/jira/browse/CASSANDRA-957 introduce a 
 -Dreplace_token,
 however, the replaced IP keeps on showing up in the Gossiper when starting 
 the replacement node:
 {noformat}
  INFO [Thread-2] 2012-01-12 23:59:35,162 CassandraDaemon.java (line 213) 
 Listening for thrift clients...
  INFO [GossipStage:1] 2012-01-12 23:59:35,173 Gossiper.java (line 836) Node 
 /50.56.59.68 has restarted, now UP
  INFO [GossipStage:1] 2012-01-12 23:59:35,174 Gossiper.java (line 804) 
 InetAddress /50.56.59.68 is now UP
  INFO [GossipStage:1] 2012-01-12 23:59:35,175 StorageService.java (line 988) 
 Node /50.56.59.68 state jump to normal
  INFO [GossipStage:1] 2012-01-12 23:59:35,176 Gossiper.java (line 836) Node 
 /50.56.58.55 has restarted, now UP
  INFO [GossipStage:1] 2012-01-12 23:59:35,176 Gossiper.java (line 804) 
 InetAddress /50.56.58.55 is now UP
  INFO [GossipStage:1] 2012-01-12 23:59:35,177 StorageService.java (line 1016) 
 Nodes /50.56.58.55 and action-quick2/50.56.31.186 have the same token 
 85070591730234615865843651857942052864.  Ignoring /50.56.58.55
  INFO [GossipTasks:1] 2012-01-12 23:59:45,048 Gossiper.java (line 818) 
 InetAddress /50.56.58.55 is now dead.
  INFO [GossipTasks:1] 2012-01-13 00:00:06,062 Gossiper.java (line 632) 
 FatClient /50.56.58.55 has been silent for 3ms, removing from gossip
  INFO [GossipStage:1] 2012-01-13 00:01:06,320 Gossiper.java (line 838) Node 
 /50.56.58.55 is now part of the cluster
  INFO [GossipStage:1] 2012-01-13 00:01:06,320 Gossiper.java (line 804) 
 InetAddress /50.56.58.55 is now UP
  INFO [GossipStage:1] 2012-01-13 00:01:06,321 StorageService.java (line 1016) 
 Nodes /50.56.58.55 and action-quick2/50.56.31.186 have the same token 
 85070591730234615865843651857942052864.  Ignoring /50.56.58.55
  INFO [GossipTasks:1] 2012-01-13 00:01:16,106 Gossiper.java (line 818) 
 InetAddress /50.56.58.55 is now dead.
  INFO [GossipTasks:1] 2012-01-13 00:01:37,121 Gossiper.java (line 632) 
 FatClient /50.56.58.55 has been silent for 3ms, removing from gossip
  INFO [GossipStage:1] 2012-01-13 00:02:37,352 Gossiper.java (line 838) Node 
 /50.56.58.55 is now part of the cluster
  INFO [GossipStage:1] 2012-01-13 00:02:37,353 Gossiper.java (line 804) 
 InetAddress /50.56.58.55 is now UP
  INFO [GossipStage:1] 2012-01-13 00:02:37,353 StorageService.java (line 1016) 
 Nodes /50.56.58.55 and action-quick2/50.56.31.186 have the same token 
 85070591730234615865843651857942052864.  Ignoring /50.56.58.55
  INFO [GossipTasks:1] 2012-01-13 00:02:47,158 Gossiper.java (line 818) 
 InetAddress /50.56.58.55 is now dead.
  INFO [GossipStage:1] 2012-01-13 00:02:50,162 Gossiper.java (line 818) 
 InetAddress /50.56.58.55 is now dead.
  INFO [GossipStage:1] 2012-01-13 00:02:50,163 StorageService.java (line 1156) 
 Removing token 122029383590318827259508597176866581733 for /50.56.58.55
 {noformat}
 in the above, /50.56.58.55 was the replaced IP.
 tried adding the Gossiper.instance.removeEndpoint(endpoint); in the 
 StorageService.java where the message 'Nodes %s and %s have the same token 
 %s.  Ignoring %s,' seems only have fixed this temporary. Here is a ring 
 output:
 {noformat}
 riptano@action-quick:~/work/cassandra$ ./bin/nodetool -h localhost ring
 Address DC  RackStatus State   LoadOwns   
  Token   
   
  85070591730234615865843651857942052864  
 50.56.59.68 datacenter1 rack1   Up Normal  6.67 KB 85.56% 
  60502102442797279294142560823234402248  
 50.56.31.186datacenter1 rack1   Up Normal  11.12 KB14.44% 
  85070591730234615865843651857942052864 
 {noformat}
 gossipinfo:
 {noformat}
 $ ./bin/nodetool -h localhost gossipinfo
 /50.56.58.55
   LOAD:6835.0
   SCHEMA:--1000--
   RPC_ADDRESS:50.56.58.55
   STATUS:NORMAL,85070591730234615865843651857942052864
   RELEASE_VERSION:1.0.7-SNAPSHOT
 /50.56.59.68
   LOAD:6835.0
   

[jira] [Commented] (CASSANDRA-3736) -Dreplace_token leaves old node (IP) in the gossip with the token.

2012-01-12 Thread Brandon Williams (Commented) (JIRA)

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

Brandon Williams commented on CASSANDRA-3736:
-

bq. Alternatively, it would be good for Cassandra to provide a convenient 
(nodetool) way to drop the Down IP when a token is simultaneously occupied by 
one Up IP and at least one Down IP.

CASSANDRA-3337 is designed to handle these kinds of situations (where gossip is 
not doing the right thing naturally)

 -Dreplace_token leaves old node (IP) in the gossip with the token.
 --

 Key: CASSANDRA-3736
 URL: https://issues.apache.org/jira/browse/CASSANDRA-3736
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 1.0.0
Reporter: Jackson Chung
Assignee: Vijay
 Fix For: 1.0.7


 https://issues.apache.org/jira/browse/CASSANDRA-957 introduce a 
 -Dreplace_token,
 however, the replaced IP keeps on showing up in the Gossiper when starting 
 the replacement node:
 {noformat}
  INFO [Thread-2] 2012-01-12 23:59:35,162 CassandraDaemon.java (line 213) 
 Listening for thrift clients...
  INFO [GossipStage:1] 2012-01-12 23:59:35,173 Gossiper.java (line 836) Node 
 /50.56.59.68 has restarted, now UP
  INFO [GossipStage:1] 2012-01-12 23:59:35,174 Gossiper.java (line 804) 
 InetAddress /50.56.59.68 is now UP
  INFO [GossipStage:1] 2012-01-12 23:59:35,175 StorageService.java (line 988) 
 Node /50.56.59.68 state jump to normal
  INFO [GossipStage:1] 2012-01-12 23:59:35,176 Gossiper.java (line 836) Node 
 /50.56.58.55 has restarted, now UP
  INFO [GossipStage:1] 2012-01-12 23:59:35,176 Gossiper.java (line 804) 
 InetAddress /50.56.58.55 is now UP
  INFO [GossipStage:1] 2012-01-12 23:59:35,177 StorageService.java (line 1016) 
 Nodes /50.56.58.55 and action-quick2/50.56.31.186 have the same token 
 85070591730234615865843651857942052864.  Ignoring /50.56.58.55
  INFO [GossipTasks:1] 2012-01-12 23:59:45,048 Gossiper.java (line 818) 
 InetAddress /50.56.58.55 is now dead.
  INFO [GossipTasks:1] 2012-01-13 00:00:06,062 Gossiper.java (line 632) 
 FatClient /50.56.58.55 has been silent for 3ms, removing from gossip
  INFO [GossipStage:1] 2012-01-13 00:01:06,320 Gossiper.java (line 838) Node 
 /50.56.58.55 is now part of the cluster
  INFO [GossipStage:1] 2012-01-13 00:01:06,320 Gossiper.java (line 804) 
 InetAddress /50.56.58.55 is now UP
  INFO [GossipStage:1] 2012-01-13 00:01:06,321 StorageService.java (line 1016) 
 Nodes /50.56.58.55 and action-quick2/50.56.31.186 have the same token 
 85070591730234615865843651857942052864.  Ignoring /50.56.58.55
  INFO [GossipTasks:1] 2012-01-13 00:01:16,106 Gossiper.java (line 818) 
 InetAddress /50.56.58.55 is now dead.
  INFO [GossipTasks:1] 2012-01-13 00:01:37,121 Gossiper.java (line 632) 
 FatClient /50.56.58.55 has been silent for 3ms, removing from gossip
  INFO [GossipStage:1] 2012-01-13 00:02:37,352 Gossiper.java (line 838) Node 
 /50.56.58.55 is now part of the cluster
  INFO [GossipStage:1] 2012-01-13 00:02:37,353 Gossiper.java (line 804) 
 InetAddress /50.56.58.55 is now UP
  INFO [GossipStage:1] 2012-01-13 00:02:37,353 StorageService.java (line 1016) 
 Nodes /50.56.58.55 and action-quick2/50.56.31.186 have the same token 
 85070591730234615865843651857942052864.  Ignoring /50.56.58.55
  INFO [GossipTasks:1] 2012-01-13 00:02:47,158 Gossiper.java (line 818) 
 InetAddress /50.56.58.55 is now dead.
  INFO [GossipStage:1] 2012-01-13 00:02:50,162 Gossiper.java (line 818) 
 InetAddress /50.56.58.55 is now dead.
  INFO [GossipStage:1] 2012-01-13 00:02:50,163 StorageService.java (line 1156) 
 Removing token 122029383590318827259508597176866581733 for /50.56.58.55
 {noformat}
 in the above, /50.56.58.55 was the replaced IP.
 tried adding the Gossiper.instance.removeEndpoint(endpoint); in the 
 StorageService.java where the message 'Nodes %s and %s have the same token 
 %s.  Ignoring %s,' seems only have fixed this temporary. Here is a ring 
 output:
 {noformat}
 riptano@action-quick:~/work/cassandra$ ./bin/nodetool -h localhost ring
 Address DC  RackStatus State   LoadOwns   
  Token   
   
  85070591730234615865843651857942052864  
 50.56.59.68 datacenter1 rack1   Up Normal  6.67 KB 85.56% 
  60502102442797279294142560823234402248  
 50.56.31.186datacenter1 rack1   Up Normal  11.12 KB14.44% 
  85070591730234615865843651857942052864 
 {noformat}
 gossipinfo:
 {noformat}
 $ ./bin/nodetool -h localhost gossipinfo
 /50.56.58.55
   LOAD:6835.0
   SCHEMA:--1000--
   RPC_ADDRESS:50.56.58.55
   

[jira] [Commented] (CASSANDRA-3736) -Dreplace_token leaves old node (IP) in the gossip with the token.

2012-01-12 Thread Jackson Chung (Commented) (JIRA)

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

Jackson Chung commented on CASSANDRA-3736:
--

bq. is 50.56.58.55 up and cassandra is running?

no. the Cassandra on 50.56.58.55 was not UP/had shutdown. But the IP is 
available, though i don't think that matters.

so my test case was simply:
1) start 2 nodes (A , B).  With A being the seed, B bootstrap into it (by 
specifying a token)
2) stop B (after B had successfully joined)
3) start C with -Dcassandra.replace_token=B's token

continuing restarting C (without the replace_token param) could observe the 
behavior.

 -Dreplace_token leaves old node (IP) in the gossip with the token.
 --

 Key: CASSANDRA-3736
 URL: https://issues.apache.org/jira/browse/CASSANDRA-3736
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 1.0.0
Reporter: Jackson Chung
Assignee: Vijay
 Fix For: 1.0.7


 https://issues.apache.org/jira/browse/CASSANDRA-957 introduce a 
 -Dreplace_token,
 however, the replaced IP keeps on showing up in the Gossiper when starting 
 the replacement node:
 {noformat}
  INFO [Thread-2] 2012-01-12 23:59:35,162 CassandraDaemon.java (line 213) 
 Listening for thrift clients...
  INFO [GossipStage:1] 2012-01-12 23:59:35,173 Gossiper.java (line 836) Node 
 /50.56.59.68 has restarted, now UP
  INFO [GossipStage:1] 2012-01-12 23:59:35,174 Gossiper.java (line 804) 
 InetAddress /50.56.59.68 is now UP
  INFO [GossipStage:1] 2012-01-12 23:59:35,175 StorageService.java (line 988) 
 Node /50.56.59.68 state jump to normal
  INFO [GossipStage:1] 2012-01-12 23:59:35,176 Gossiper.java (line 836) Node 
 /50.56.58.55 has restarted, now UP
  INFO [GossipStage:1] 2012-01-12 23:59:35,176 Gossiper.java (line 804) 
 InetAddress /50.56.58.55 is now UP
  INFO [GossipStage:1] 2012-01-12 23:59:35,177 StorageService.java (line 1016) 
 Nodes /50.56.58.55 and action-quick2/50.56.31.186 have the same token 
 85070591730234615865843651857942052864.  Ignoring /50.56.58.55
  INFO [GossipTasks:1] 2012-01-12 23:59:45,048 Gossiper.java (line 818) 
 InetAddress /50.56.58.55 is now dead.
  INFO [GossipTasks:1] 2012-01-13 00:00:06,062 Gossiper.java (line 632) 
 FatClient /50.56.58.55 has been silent for 3ms, removing from gossip
  INFO [GossipStage:1] 2012-01-13 00:01:06,320 Gossiper.java (line 838) Node 
 /50.56.58.55 is now part of the cluster
  INFO [GossipStage:1] 2012-01-13 00:01:06,320 Gossiper.java (line 804) 
 InetAddress /50.56.58.55 is now UP
  INFO [GossipStage:1] 2012-01-13 00:01:06,321 StorageService.java (line 1016) 
 Nodes /50.56.58.55 and action-quick2/50.56.31.186 have the same token 
 85070591730234615865843651857942052864.  Ignoring /50.56.58.55
  INFO [GossipTasks:1] 2012-01-13 00:01:16,106 Gossiper.java (line 818) 
 InetAddress /50.56.58.55 is now dead.
  INFO [GossipTasks:1] 2012-01-13 00:01:37,121 Gossiper.java (line 632) 
 FatClient /50.56.58.55 has been silent for 3ms, removing from gossip
  INFO [GossipStage:1] 2012-01-13 00:02:37,352 Gossiper.java (line 838) Node 
 /50.56.58.55 is now part of the cluster
  INFO [GossipStage:1] 2012-01-13 00:02:37,353 Gossiper.java (line 804) 
 InetAddress /50.56.58.55 is now UP
  INFO [GossipStage:1] 2012-01-13 00:02:37,353 StorageService.java (line 1016) 
 Nodes /50.56.58.55 and action-quick2/50.56.31.186 have the same token 
 85070591730234615865843651857942052864.  Ignoring /50.56.58.55
  INFO [GossipTasks:1] 2012-01-13 00:02:47,158 Gossiper.java (line 818) 
 InetAddress /50.56.58.55 is now dead.
  INFO [GossipStage:1] 2012-01-13 00:02:50,162 Gossiper.java (line 818) 
 InetAddress /50.56.58.55 is now dead.
  INFO [GossipStage:1] 2012-01-13 00:02:50,163 StorageService.java (line 1156) 
 Removing token 122029383590318827259508597176866581733 for /50.56.58.55
 {noformat}
 in the above, /50.56.58.55 was the replaced IP.
 tried adding the Gossiper.instance.removeEndpoint(endpoint); in the 
 StorageService.java where the message 'Nodes %s and %s have the same token 
 %s.  Ignoring %s,' seems only have fixed this temporary. Here is a ring 
 output:
 {noformat}
 riptano@action-quick:~/work/cassandra$ ./bin/nodetool -h localhost ring
 Address DC  RackStatus State   LoadOwns   
  Token   
   
  85070591730234615865843651857942052864  
 50.56.59.68 datacenter1 rack1   Up Normal  6.67 KB 85.56% 
  60502102442797279294142560823234402248  
 50.56.31.186datacenter1 rack1   Up Normal  11.12 KB14.44% 
  85070591730234615865843651857942052864 
 {noformat}
 gossipinfo:
 {noformat}
 

[jira] [Updated] (CASSANDRA-3736) -Dreplace_token leaves old node (IP) in the gossip with the token.

2012-01-12 Thread Vijay (Updated) (JIRA)

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

Vijay updated CASSANDRA-3736:
-

Attachment: 0001-CASSANDRA-3736.patch

Simple patch to remove from SYSTEM_TABLE/RING_KEY when token is replaced.

 -Dreplace_token leaves old node (IP) in the gossip with the token.
 --

 Key: CASSANDRA-3736
 URL: https://issues.apache.org/jira/browse/CASSANDRA-3736
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 1.0.0
Reporter: Jackson Chung
Assignee: Vijay
 Fix For: 1.0.7

 Attachments: 0001-CASSANDRA-3736.patch


 https://issues.apache.org/jira/browse/CASSANDRA-957 introduce a 
 -Dreplace_token,
 however, the replaced IP keeps on showing up in the Gossiper when starting 
 the replacement node:
 {noformat}
  INFO [Thread-2] 2012-01-12 23:59:35,162 CassandraDaemon.java (line 213) 
 Listening for thrift clients...
  INFO [GossipStage:1] 2012-01-12 23:59:35,173 Gossiper.java (line 836) Node 
 /50.56.59.68 has restarted, now UP
  INFO [GossipStage:1] 2012-01-12 23:59:35,174 Gossiper.java (line 804) 
 InetAddress /50.56.59.68 is now UP
  INFO [GossipStage:1] 2012-01-12 23:59:35,175 StorageService.java (line 988) 
 Node /50.56.59.68 state jump to normal
  INFO [GossipStage:1] 2012-01-12 23:59:35,176 Gossiper.java (line 836) Node 
 /50.56.58.55 has restarted, now UP
  INFO [GossipStage:1] 2012-01-12 23:59:35,176 Gossiper.java (line 804) 
 InetAddress /50.56.58.55 is now UP
  INFO [GossipStage:1] 2012-01-12 23:59:35,177 StorageService.java (line 1016) 
 Nodes /50.56.58.55 and action-quick2/50.56.31.186 have the same token 
 85070591730234615865843651857942052864.  Ignoring /50.56.58.55
  INFO [GossipTasks:1] 2012-01-12 23:59:45,048 Gossiper.java (line 818) 
 InetAddress /50.56.58.55 is now dead.
  INFO [GossipTasks:1] 2012-01-13 00:00:06,062 Gossiper.java (line 632) 
 FatClient /50.56.58.55 has been silent for 3ms, removing from gossip
  INFO [GossipStage:1] 2012-01-13 00:01:06,320 Gossiper.java (line 838) Node 
 /50.56.58.55 is now part of the cluster
  INFO [GossipStage:1] 2012-01-13 00:01:06,320 Gossiper.java (line 804) 
 InetAddress /50.56.58.55 is now UP
  INFO [GossipStage:1] 2012-01-13 00:01:06,321 StorageService.java (line 1016) 
 Nodes /50.56.58.55 and action-quick2/50.56.31.186 have the same token 
 85070591730234615865843651857942052864.  Ignoring /50.56.58.55
  INFO [GossipTasks:1] 2012-01-13 00:01:16,106 Gossiper.java (line 818) 
 InetAddress /50.56.58.55 is now dead.
  INFO [GossipTasks:1] 2012-01-13 00:01:37,121 Gossiper.java (line 632) 
 FatClient /50.56.58.55 has been silent for 3ms, removing from gossip
  INFO [GossipStage:1] 2012-01-13 00:02:37,352 Gossiper.java (line 838) Node 
 /50.56.58.55 is now part of the cluster
  INFO [GossipStage:1] 2012-01-13 00:02:37,353 Gossiper.java (line 804) 
 InetAddress /50.56.58.55 is now UP
  INFO [GossipStage:1] 2012-01-13 00:02:37,353 StorageService.java (line 1016) 
 Nodes /50.56.58.55 and action-quick2/50.56.31.186 have the same token 
 85070591730234615865843651857942052864.  Ignoring /50.56.58.55
  INFO [GossipTasks:1] 2012-01-13 00:02:47,158 Gossiper.java (line 818) 
 InetAddress /50.56.58.55 is now dead.
  INFO [GossipStage:1] 2012-01-13 00:02:50,162 Gossiper.java (line 818) 
 InetAddress /50.56.58.55 is now dead.
  INFO [GossipStage:1] 2012-01-13 00:02:50,163 StorageService.java (line 1156) 
 Removing token 122029383590318827259508597176866581733 for /50.56.58.55
 {noformat}
 in the above, /50.56.58.55 was the replaced IP.
 tried adding the Gossiper.instance.removeEndpoint(endpoint); in the 
 StorageService.java where the message 'Nodes %s and %s have the same token 
 %s.  Ignoring %s,' seems only have fixed this temporary. Here is a ring 
 output:
 {noformat}
 riptano@action-quick:~/work/cassandra$ ./bin/nodetool -h localhost ring
 Address DC  RackStatus State   LoadOwns   
  Token   
   
  85070591730234615865843651857942052864  
 50.56.59.68 datacenter1 rack1   Up Normal  6.67 KB 85.56% 
  60502102442797279294142560823234402248  
 50.56.31.186datacenter1 rack1   Up Normal  11.12 KB14.44% 
  85070591730234615865843651857942052864 
 {noformat}
 gossipinfo:
 {noformat}
 $ ./bin/nodetool -h localhost gossipinfo
 /50.56.58.55
   LOAD:6835.0
   SCHEMA:--1000--
   RPC_ADDRESS:50.56.58.55
   STATUS:NORMAL,85070591730234615865843651857942052864
   RELEASE_VERSION:1.0.7-SNAPSHOT
 /50.56.59.68
   LOAD:6835.0
   SCHEMA:--1000--
   RPC_ADDRESS:50.56.59.68
   

[Cassandra Wiki] Update of Committers by JonathanEllis

2012-01-12 Thread Apache Wiki
Dear Wiki user,

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

The Committers page has been changed by JonathanEllis:
http://wiki.apache.org/cassandra/Committers?action=diffrev1=17rev2=18

  ||Jake Luciani||Jan 2011||Datastax||Also a 
[[http://thrift.apache.org/|Thrift]] committer||
  ||Sylvain Lebresne||Mar 2011||Datastax||PMC member, Release manager||
  ||Pavel Yaskevich||Aug 2011||Datastax|| ||
+ ||Vijay Parthasarathy||Jan 2012||Netflix|| ||
  


git commit: Allow DynamicCompositeType to compare components of different types

2012-01-12 Thread slebresne
Updated Branches:
  refs/heads/cassandra-1.0 f2cb27279 - 6a1ed6205


Allow DynamicCompositeType to compare components of different types

patch by slebresne; reviewed by edanuff for CASSANDRA-3625


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/6a1ed620
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/6a1ed620
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/6a1ed620

Branch: refs/heads/cassandra-1.0
Commit: 6a1ed6205cad8d019eb6eda326d7796a8a0dd67b
Parents: f2cb272
Author: Sylvain Lebresne sylv...@datastax.com
Authored: Fri Jan 13 08:49:21 2012 +0100
Committer: Sylvain Lebresne sylv...@datastax.com
Committed: Fri Jan 13 08:49:21 2012 +0100

--
 CHANGES.txt|2 +
 .../cassandra/db/marshal/DynamicCompositeType.java |   54 ++-
 .../db/marshal/DynamicCompositeTypeTest.java   |   28 
 3 files changed, 81 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/6a1ed620/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 39211a4..30c002d 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -26,6 +26,8 @@
  * Improve stream protocol mismatch errors (CASSANDRA-3652)
  * Avoid multiple thread doing HH to the same target (CASSANDRA-3681)
  * Add JMX property for rp_timeout_in_ms (CASSANDRA-2940)
+ * Allow DynamicCompositeType to compare component of different types
+   (CASSANDRA-3625)
 Merged from 0.8:
  * avoid logging (harmless) exception when GC takes  1ms (CASSANDRA-3656)
  * prevent new nodes from thinking down nodes are up forever (CASSANDRA-3626)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/6a1ed620/src/java/org/apache/cassandra/db/marshal/DynamicCompositeType.java
--
diff --git a/src/java/org/apache/cassandra/db/marshal/DynamicCompositeType.java 
b/src/java/org/apache/cassandra/db/marshal/DynamicCompositeType.java
index 592f392..53e10d3 100644
--- a/src/java/org/apache/cassandra/db/marshal/DynamicCompositeType.java
+++ b/src/java/org/apache/cassandra/db/marshal/DynamicCompositeType.java
@@ -117,11 +117,25 @@ public class DynamicCompositeType extends 
AbstractCompositeType
 AbstractType comp1 = getComparator(bb1);
 AbstractType comp2 = getComparator(bb2);
 
-// This rely on comparator always being singleton instances
+// Fast test if the comparator uses singleton instances
 if (comp1 != comp2)
 {
-logger.error(Mismatch between {} and {}, comp1, comp2);
-throw new RuntimeException(Comparator mismatch while comparing 
two DynamicCompositeType colum name);
+/*
+ * We compare component of different types by comparing the
+ * comparator class names. We start with the simple classname
+ * first because that will be faster in almost all cases, but
+ * allback on the full name if necessary
+*/
+int cmp = 
comp1.getClass().getSimpleName().compareTo(comp2.getClass().getSimpleName());
+if (cmp != 0)
+return cmp  0 ? FixedValueComparator.instance : 
ReversedType.getInstance(FixedValueComparator.instance);
+
+cmp = 
comp1.getClass().getName().compareTo(comp2.getClass().getName());
+if (cmp != 0)
+return cmp  0 ? FixedValueComparator.instance : 
ReversedType.getInstance(FixedValueComparator.instance);
+
+// if cmp == 0, we're actually having the same type, but one that
+// did not have a singleton instance. It's ok (though inefficient).
 }
 return comp1;
 }
@@ -263,4 +277,38 @@ public class DynamicCompositeType extends 
AbstractCompositeType
 {
 return getClass().getName() + 
TypeParser.stringifyAliasesParameters(aliases);
 }
+
+/*
+ * A comparator that always sorts it's first argument before the second
+ * one.
+ */
+private static class FixedValueComparator extends AbstractTypeVoid
+{
+public static final FixedValueComparator instance = new 
FixedValueComparator();
+
+public int compare(ByteBuffer v1, ByteBuffer v2)
+{
+return -1;
+}
+
+public Void compose(ByteBuffer bytes)
+{
+throw new UnsupportedOperationException();
+}
+
+public ByteBuffer decompose(Void value)
+{
+throw new UnsupportedOperationException();
+}
+
+public String getString(ByteBuffer bytes)
+{
+throw new UnsupportedOperationException();
+}
+
+public void validate(ByteBuffer bytes)
+{
+throw new