[jira] [Commented] (CASSANDRA-5121) system.peers.tokens is empty after node restart

2013-01-18 Thread Eric Dong (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-5121?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13557933#comment-13557933
 ] 

Eric Dong commented on CASSANDRA-5121:
--

Hi, commit ec35427fdfbc46a8adeafc042651f552b9bcc1a0 breaks RelocateTest:

{noformat}
$ ant clean build test -Dtest.name=RelocateTest
...
[junit] Testsuite: org.apache.cassandra.service.RelocateTest
[junit] Tests run: 2, Failures: 2, Errors: 0, Time elapsed: 6.215 sec
[junit] 
[junit] Testcase: 
testWriteEndpointsDuringRelocate(org.apache.cassandra.service.RelocateTest):
  FAILED
[junit] removeTokens should be used instead
[junit] junit.framework.AssertionFailedError: removeTokens should be used 
instead
[junit] at 
org.apache.cassandra.db.SystemTable.updateTokens(SystemTable.java:324)
[junit] at 
org.apache.cassandra.db.SystemTable.updateLocalTokens(SystemTable.java:342)
[junit] at 
org.apache.cassandra.service.StorageService.handleStateNormal(StorageService.java:1393)
[junit] at 
org.apache.cassandra.service.StorageService.onChange(StorageService.java:1166)
[junit] at 
org.apache.cassandra.service.RelocateTest.createInitialRing(RelocateTest.java:106)
[junit] at 
org.apache.cassandra.service.RelocateTest.testWriteEndpointsDuringRelocate(RelocateTest.java:128)
[junit] 
[junit] 
[junit] Testcase: 
testRelocationSuccess(org.apache.cassandra.service.RelocateTest): FAILED
[junit] removeTokens should be used instead
[junit] junit.framework.AssertionFailedError: removeTokens should be used 
instead
[junit] at 
org.apache.cassandra.db.SystemTable.updateTokens(SystemTable.java:324)
[junit] at 
org.apache.cassandra.db.SystemTable.updateLocalTokens(SystemTable.java:342)
[junit] at 
org.apache.cassandra.service.StorageService.handleStateNormal(StorageService.java:1393)
[junit] at 
org.apache.cassandra.service.StorageService.onChange(StorageService.java:1166)
[junit] at 
org.apache.cassandra.service.RelocateTest.createInitialRing(RelocateTest.java:106)
[junit] at 
org.apache.cassandra.service.RelocateTest.testRelocationSuccess(RelocateTest.java:177)
[junit] 
[junit] 
[junit] Test org.apache.cassandra.service.RelocateTest FAILED

BUILD FAILED
...
{noformat}


After commit e6b6eaa583e8fc15f03c3e27664bf7fc06b3af0a, 
testWriteEndpointsDuringRelocate passes but testRelocationSuccess still fails:
{noformat}
$ ant clean build test -Dtest.name=RelocateTest
...
[junit] Testcase: 
testRelocationSuccess(org.apache.cassandra.service.RelocateTest): FAILED
[junit] removeEndpoint should be used instead
[junit] junit.framework.AssertionFailedError: removeEndpoint should be used 
instead
[junit] at 
org.apache.cassandra.db.SystemTable.updateTokens(SystemTable.java:316)
[junit] at 
org.apache.cassandra.db.SystemTable.updateLocalTokens(SystemTable.java:334)
[junit] at 
org.apache.cassandra.service.StorageService.handleStateNormal(StorageService.java:1394)
[junit] at 
org.apache.cassandra.service.StorageService.onChange(StorageService.java:1166)
[junit] at 
org.apache.cassandra.service.RelocateTest.testRelocationSuccess(RelocateTest.java:193)
[junit] 
[junit] 
[junit] Test org.apache.cassandra.service.RelocateTest FAILED
...
{noformat}


> system.peers.tokens is empty after node restart
> ---
>
> Key: CASSANDRA-5121
> URL: https://issues.apache.org/jira/browse/CASSANDRA-5121
> Project: Cassandra
>  Issue Type: Bug
>  Components: Core
>Affects Versions: 1.2.0
> Environment: Windows 8 / Java 1.6.0_37-b06
>Reporter: Pierre Chalamet
>Assignee: Sylvain Lebresne
>Priority: Minor
> Fix For: 1.2.1
>
> Attachments: 5121.txt
>
>
> Using a 2 nodes fresh cluster (127.0.0.1 & 127.0.0.2) running latest 1.2, I’m 
> querying system.peers to get the nodes of the cluster and their respective 
> token. But it seems there is a problem after either node restart.
> When both node starts up, querying system.peers seems ok:
> {code}
> 127.0.0.1> select * from system.peers;
> +-+--+---+---+-+-+--+---+
> | data_center | host_id  | peer  
> | rack  | release_version | rpc_address | schema_version  
>  | tokens|
> +=+==+===+===+=+=+==+===

[jira] [Commented] (CASSANDRA-5156) CQL: loosen useless versioning constraint

2013-01-18 Thread Eric Evans (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-5156?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13557790#comment-13557790
 ] 

Eric Evans commented on CASSANDRA-5156:
---

bq. Well, you do switch arguments . I though we agree initially that semver was 
probably overkill for us with your "As for the patch version (Z), I think 
you're right. I doesn't offer much value". So I was mainly arguing that even if 
don't follow http://semver.org/, I'd still rather keep a 3 number version 
rather than 2.

I don't think I switched arguments.  I assumed that at least one of your 
suggestions was to drop the patch version (Z), and that seemed reasonable to me 
on the basis that it would be easier to keep up with.  I realize now that 
wasn't the case; Sorry for the confusion

> CQL: loosen useless versioning constraint
> -
>
> Key: CASSANDRA-5156
> URL: https://issues.apache.org/jira/browse/CASSANDRA-5156
> Project: Cassandra
>  Issue Type: Improvement
>Reporter: Sylvain Lebresne
>Assignee: Sylvain Lebresne
>Priority: Trivial
> Fix For: 1.2.1
>
> Attachments: 5156.txt
>
>
> So far the CQL doc says the CQL language follows http://semver.org/. Meaning 
> that a version is X.Y.Z where:
> * X is the major version and denotes backward incompatible changes
> * Y is the minor version and denotes backward compatible changes
> * Z is the patch version and denotes backward *and* forward compatible 
> changes, i.e. change to the implementation.
> Now I don't think for CQL we have much use of the patch version. Not that 
> knowing when implementation fixes have been done is not useful but:
> # The Cassandra version number already kind of cover that.
> # While a patch version would be more precise in that it would only concern 
> CQL3 related changes, I have no illusion on our capacity in maintaining such 
> patch version accuratly (and frankly, I don't blame us).
> So instead of keeping a number that will end up having no usefulness 
> whatsoever, I suggest that we either:
> # remove it and have CQL3 version being just major and minor.
> # use that latter number as a sub-minor version, i.e. a version that only
> # denotes backward compatible changes, not forward ones. We would then bump 
> the two last digit at our discretion, to denote some form of "importance" of 
> the changes.
> I don't care much about which of the two we end up doing, but since we 
> already have a 3 numbers version and since I kind of like the idea of having 
> two numbers to convey a sense of importance of the changes, I'm attaching a 
> patch for the 2nd solution.
> Note that the patch removes the changes section from the doc, but that's 
> because I think it's useless in it's current form (on top of being 
> inaccurate).  I do plan on adding a new changes section that lists changes 
> between CQL minor version as soon as we have some of those.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[Cassandra Wiki] Trivial Update of "Casey89G" by Casey89G

2013-01-18 Thread Apache Wiki
Dear Wiki user,

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

The "Casey89G" page has been changed by Casey89G:
http://wiki.apache.org/cassandra/Casey89G?action=diff&rev1=4&rev2=5

- Unconditional Love - Yes, I know you're keen on your teenage daughter 
unconditionally but does one make time to show her this each day. This is 
essential since inside after dark long gaps used to make you victim of 
unhealthy food. The moment you start out utilizing the acai supplement, you'll 
start to have a peaceful sleep.<><><>Stop by my blog post :: 
[[http://www.phen375factsheet.com/|phen375 ingredients]]
+ Just to permit you to know, it might take from weekly to fourteen days before 
your body switches from burning carbohydrates as fuel source to 
fats.<>Then, as the startled RAF team looked on, they toasted him. Face the 
mirror in a wide stance, which in dance is known as second 
position.<><>Feel free to surf to my web-site ... 
[[http://Www.phen375Factsheet.com/|phen375]]
  


[Cassandra Wiki] Trivial Update of "Casey89G" by Casey89G

2013-01-18 Thread Apache Wiki
Dear Wiki user,

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

The "Casey89G" page has been changed by Casey89G:
http://wiki.apache.org/cassandra/Casey89G?action=diff&rev1=2&rev2=4

- The Chinese believe you will need to perform a 1000 steps each 
day.<><>Enemas are generally only given to get rid of stools from your 
colon for a colonoscopy or a major surgery regarding the gastrointestinal 
tract. I started a regime of vitamins, bodywork, massage, Jin Shin Jyutsu- kind 
of acupressure soaking in hot springs, etc.<><><>Here is my blog :: 
[[http://www.phen375factsheet.com/|http://www.phen375factsheet.com]]
+ Unconditional Love - Yes, I know you're keen on your teenage daughter 
unconditionally but does one make time to show her this each day. This is 
essential since inside after dark long gaps used to make you victim of 
unhealthy food. The moment you start out utilizing the acai supplement, you'll 
start to have a peaceful sleep.<><><>Stop by my blog post :: 
[[http://www.phen375factsheet.com/|phen375 ingredients]]
  


[jira] [Updated] (CASSANDRA-4446) nodetool drain sometimes doesn't mark commitlog fully flushed

2013-01-18 Thread Robert Coli (JIRA)

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

Robert Coli updated CASSANDRA-4446:
---

Attachment: CASSANDRA-4446--1.0.12_to_1.1.8.txt

> nodetool drain sometimes doesn't mark commitlog fully flushed
> -
>
> Key: CASSANDRA-4446
> URL: https://issues.apache.org/jira/browse/CASSANDRA-4446
> Project: Cassandra
>  Issue Type: Bug
>  Components: Core, Tools
> Environment: ubuntu 10.04 64bit
> Linux HOSTNAME 2.6.32-345-ec2 #48-Ubuntu SMP Wed May 2 19:29:55 UTC 2012 
> x86_64 GNU/Linux
> sun JVM
> cassandra 1.0.10 installed from apache deb
>Reporter: Robert Coli
>Assignee: Jonathan Ellis
>Priority: Minor
> Fix For: 1.2.1
>
> Attachments: 4446.txt, 
> cassandra.1.0.10.replaying.log.after.exception.during.drain.txt, 
> CASSANDRA-4446--1.0.12_to_1.1.8.txt
>
>
> I recently wiped a customer's QA cluster. I drained each node and verified 
> that they were drained. When I restarted the nodes, I saw the commitlog 
> replay create a memtable and then flush it. I have attached a sanitized log 
> snippet from a representative node at the time. 
> It appears to show the following :
> 1) Drain begins
> 2) Drain triggers flush
> 3) Flush triggers compaction
> 4) StorageService logs DRAINED message
> 5) compaction thread excepts
> 6) on restart, same CF creates a memtable
> 7) and then flushes it [1]
> The columnfamily involved in the replay in 7) is the CF for which the 
> compaction thread excepted in 5). This seems to suggest a timing issue 
> whereby the exception in 5) prevents the flush in 3) from marking all the 
> segments flushed, causing them to replay after restart.
> In case it might be relevant, I did an online change of compaction strategy 
> from Leveled to SizeTiered during the uptime period preceding this drain.
> [1] Isn't commitlog replay not supposed to automatically trigger a flush in 
> modern cassandra?

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (CASSANDRA-4446) nodetool drain sometimes doesn't mark commitlog fully flushed

2013-01-18 Thread Robert Coli (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-4446?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13557767#comment-13557767
 ] 

Robert Coli commented on CASSANDRA-4446:


How to reproduce it, from the multiple reports :

1) Drain and stop cluster with counters on 1.0.x
2) Start same cluster on 1.1.x
3) Notice commitlog replay of the counter columnfamily and that your counters 
have over-counted

Attached is a log from the latest reporter, 
CASSANDRA-4446--1.0.12_to_1.1.8.txt. It shows the following.

1) Drain starts and completes on 1.0.12
2) Cluster then starts on 1.1.8, and replays the commit log
3) As part of commitlog replay, it flushes various CFs including 
titan3/RMEntityCount/, which is a counter columnfamily; machine has 4gb of heap 
and the flush is while thrift is down and the node has not jumped state to 
normal, so it seems reasonable to conjecture this flush is part of commitlog 
replay
4) It then logs "10698 replayed mutations", which adds further support to the 
idea that these Counts are part of replay
5) Operator then noticed a significant percentage of records had overcounted in 
this columnfamily

> nodetool drain sometimes doesn't mark commitlog fully flushed
> -
>
> Key: CASSANDRA-4446
> URL: https://issues.apache.org/jira/browse/CASSANDRA-4446
> Project: Cassandra
>  Issue Type: Bug
>  Components: Core, Tools
> Environment: ubuntu 10.04 64bit
> Linux HOSTNAME 2.6.32-345-ec2 #48-Ubuntu SMP Wed May 2 19:29:55 UTC 2012 
> x86_64 GNU/Linux
> sun JVM
> cassandra 1.0.10 installed from apache deb
>Reporter: Robert Coli
>Assignee: Jonathan Ellis
>Priority: Minor
> Fix For: 1.2.1
>
> Attachments: 4446.txt, 
> cassandra.1.0.10.replaying.log.after.exception.during.drain.txt, 
> CASSANDRA-4446--1.0.12_to_1.1.8.txt
>
>
> I recently wiped a customer's QA cluster. I drained each node and verified 
> that they were drained. When I restarted the nodes, I saw the commitlog 
> replay create a memtable and then flush it. I have attached a sanitized log 
> snippet from a representative node at the time. 
> It appears to show the following :
> 1) Drain begins
> 2) Drain triggers flush
> 3) Flush triggers compaction
> 4) StorageService logs DRAINED message
> 5) compaction thread excepts
> 6) on restart, same CF creates a memtable
> 7) and then flushes it [1]
> The columnfamily involved in the replay in 7) is the CF for which the 
> compaction thread excepted in 5). This seems to suggest a timing issue 
> whereby the exception in 5) prevents the flush in 3) from marking all the 
> segments flushed, causing them to replay after restart.
> In case it might be relevant, I did an online change of compaction strategy 
> from Leveled to SizeTiered during the uptime period preceding this drain.
> [1] Isn't commitlog replay not supposed to automatically trigger a flush in 
> modern cassandra?

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Created] (CASSANDRA-5174) expose nodetool scrub for 2Is

2013-01-18 Thread Jason Brown (JIRA)
Jason Brown created CASSANDRA-5174:
--

 Summary: expose nodetool scrub for 2Is
 Key: CASSANDRA-5174
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5174
 Project: Cassandra
  Issue Type: Task
  Components: Core, Tools
Reporter: Jason Brown
Assignee: Jason Brown
Priority: Minor
 Fix For: 2.0


Continuation of #4464, where many other nodetool operations were added for 2Is. 
This ticket supports scrub fo 2Is and is in its own ticket due to the riskiness 
of deleting data on a bad bug.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-5174) expose nodetool scrub for 2Is

2013-01-18 Thread Jason Brown (JIRA)

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

Jason Brown updated CASSANDRA-5174:
---

Description: Continuation of CASSANDRA-4464, where many other nodetool 
operations were added for 2Is. This ticket supports scrub fo 2Is and is in its 
own ticket due to the riskiness of deleting data on a bad bug.  (was: 
Continuation of #4464, where many other nodetool operations were added for 2Is. 
This ticket supports scrub fo 2Is and is in its own ticket due to the riskiness 
of deleting data on a bad bug.)

> expose nodetool scrub for 2Is
> -
>
> Key: CASSANDRA-5174
> URL: https://issues.apache.org/jira/browse/CASSANDRA-5174
> Project: Cassandra
>  Issue Type: Task
>  Components: Core, Tools
>Reporter: Jason Brown
>Assignee: Jason Brown
>Priority: Minor
> Fix For: 2.0
>
>
> Continuation of CASSANDRA-4464, where many other nodetool operations were 
> added for 2Is. This ticket supports scrub fo 2Is and is in its own ticket due 
> to the riskiness of deleting data on a bad bug.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[cassandra-dbapi2] push by alek...@yeschenko.com - Fix tests on trunk on 2013-01-18 22:09 GMT

2013-01-18 Thread cassandra-dbapi2 . apache-extras . org

Revision: f04bf63edaa8
Author:   Aleksey Yeschenko 
Date: Fri Jan 18 14:08:17 2013
Log:  Fix tests on trunk

http://code.google.com/a/apache-extras.org/p/cassandra-dbapi2/source/detail?r=f04bf63edaa8

Modified:
 /cql/thrifteries.py

===
--- /cql/thrifteries.py Fri Jan 18 11:58:20 2013
+++ /cql/thrifteries.py Fri Jan 18 14:08:17 2013
@@ -158,11 +158,12 @@

 self.remote_thrift_version = tuple(map(int,  
self.client.describe_version().split('.')))


-if self.cql_version and self.remote_thrift_version <  
MIN_THRIFT_FOR_CL_IN_PROTOCOL:

+if self.cql_version:
 self.set_cql_version(self.cql_version)

 def set_cql_version(self, cql_version):
-self.client.set_cql_version(cql_version)
+if self.remote_thrift_version < MIN_THRIFT_FOR_CL_IN_PROTOCOL:
+self.client.set_cql_version(cql_version)
 try:
 self.cql_major_version = int(cql_version.split('.')[0])
 except ValueError:


[cassandra-dbapi2] push by alek...@yeschenko.com - don't call set_cql_version when connected to C* 1.2... on 2013-01-18 20:00 GMT

2013-01-18 Thread cassandra-dbapi2 . apache-extras . org

Revision: b4ef84e1d91b
Author:   Aleksey Yeschenko 
Date: Fri Jan 18 11:58:20 2013
Log:  don't call set_cql_version when connected to C* 1.2

A fix for CASSANDRA-5172.

http://code.google.com/a/apache-extras.org/p/cassandra-dbapi2/source/detail?r=b4ef84e1d91b

Modified:
 /cql/thrifteries.py

===
--- /cql/thrifteries.py Thu Oct 18 16:19:52 2012
+++ /cql/thrifteries.py Fri Jan 18 11:58:20 2013
@@ -158,7 +158,7 @@

 self.remote_thrift_version = tuple(map(int,  
self.client.describe_version().split('.')))


-if self.cql_version:
+if self.cql_version and self.remote_thrift_version <  
MIN_THRIFT_FOR_CL_IN_PROTOCOL:

 self.set_cql_version(self.cql_version)

 def set_cql_version(self, cql_version):


[jira] [Commented] (CASSANDRA-5129) newly bootstrapping nodes hang indefinitely in STATUS:BOOT while JOINING cluster

2013-01-18 Thread Joey Imbasciano (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-5129?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13557707#comment-13557707
 ] 

Joey Imbasciano commented on CASSANDRA-5129:


I can confirm this bug on CentOS 6.3 as well

> newly bootstrapping nodes hang indefinitely in STATUS:BOOT while JOINING 
> cluster  
> --
>
> Key: CASSANDRA-5129
> URL: https://issues.apache.org/jira/browse/CASSANDRA-5129
> Project: Cassandra
>  Issue Type: Bug
>  Components: Core
>Affects Versions: 1.2.0
> Environment: Ubuntu 12.04
>Reporter: Michael Kjellman
>
> bootstrapping a new node causes it to hang indefinitely in STATUS:BOOT
> Nodes streaming to the new node report 
> {code}
> Mode: NORMAL
>  Nothing streaming to /10.8.30.16
> Not receiving any streams.
> Pool NameActive   Pending  Completed
> Commandsn/a 01843990
> Responses   n/a 2 661750
> {code}
> the node being streamed to stuck in the JOINING state reports:
> {code}
> Mode: JOINING
> Not sending any streams.
>  Nothing streaming from /10.8.30.103
>  Nothing streaming from /10.8.30.102
> Pool NameActive   Pending  Completed
> Commandsn/a 0 10
> Responses   n/a 0 613577
> {code}
> it appears that the nodes in the "nothing streaming" state never sends a 
> "finished streaming" to the joining node.
> no exceptions are thrown during the streaming on either node while the node 
> is in this state.
> {code:name="full gossip state of bootstrapping node"}
> /10.8.30.16
>   NET_VERSION:6
>   RELEASE_VERSION:1.2.0
>   STATUS:BOOT,127605887595351923798765477786913079289
>   RACK:RAC1
>   RPC_ADDRESS:0.0.0.0
>   DC:DC1
>   SCHEMA:5cd8420d-ce3c-3625-8293-67558a24816b
>   HOST_ID:e20817ce-7454-4dc4-a1c6-b1dec35c4491
>   LOAD:1.11824041581E11
> {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-5151) Implement better way of eliminating compaction left overs.

2013-01-18 Thread Yuki Morishita (JIRA)

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

Yuki Morishita updated CASSANDRA-5151:
--

Attachment: 5151-v2.txt

Alright, CQL3 based v2 patch attached.

Below is newly introduced compaction_log schema:

{code}
CREATE TABLE compaction_log (
  id uuid PRIMARY KEY,
  keyspace_name text,
  columnfamily_name text,
  inputs set
) WITH COMMENT='unfinished compactions'
{code}

data in compaction_log gets created at the beginning of compaction and removed 
when finished. It only tracks compaction inputs and the node uses them combined 
with each sstable's ancestors to remove leftovers.

compaction_log does not store logs from system columnfamilies(should we skip 
auth and trace also?).

> Implement better way of eliminating compaction left overs.
> --
>
> Key: CASSANDRA-5151
> URL: https://issues.apache.org/jira/browse/CASSANDRA-5151
> Project: Cassandra
>  Issue Type: Bug
>Affects Versions: 1.1.3
>Reporter: Yuki Morishita
>Assignee: Yuki Morishita
> Fix For: 1.2.1
>
> Attachments: 5151-1.2.txt, 5151-v2.txt
>
>
> This is from discussion in CASSANDRA-5137. Currently we skip loading SSTables 
> that are left over from incomplete compaction to not over-count counter, but 
> the way we track compaction completion is not secure.
> One possible solution is to create system CF like:
> {code}
> create table compaction_log (
>   id uuid primary key,
>   inputs set,
>   outputs set
> );
> {code}
> to track incomplete compaction.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Resolved] (CASSANDRA-5170) ConcurrentModificationException in getBootstrapSource

2013-01-18 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis resolved CASSANDRA-5170.
---

Resolution: Fixed
  Reviewer: jbellis

committed

> ConcurrentModificationException in getBootstrapSource
> -
>
> Key: CASSANDRA-5170
> URL: https://issues.apache.org/jira/browse/CASSANDRA-5170
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Core
>Reporter: Jonathan Ellis
>Assignee: Kirk True
> Fix For: 1.1.10, 1.2.1
>
> Attachments: 5170.txt
>
>
> Via Kirk True on the dev list,
> java.util.ConcurrentModificationException
> at java.util.HashMap$HashIterator.nextEntry(HashMap.java:810)
> at java.util.HashMap$KeyIterator.next(HashMap.java:845)
> at 
> org.apache.cassandra.dht.BootStrapper.getBootstrapSource(BootStrapper.java:146)
> at 
> org.apache.cassandra.dht.BootStrapper.getBalancedToken(BootStrapper.java:135)
> at 
> org.apache.cassandra.dht.BootStrapper.getBootstrapTokens(BootStrapper.java:115)
> at 
> org.apache.cassandra.service.StorageService.joinTokenRing(StorageService.java:611)
> at 
> org.apache.cassandra.service.StorageService.initServer(StorageService.java:499)
> at 
> org.apache.cassandra.service.StorageService.initServer(StorageService.java:397)
> at 
> org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:309)
> at 
> org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:397)
> at CassandraServer.start(CassandraServer.java:415)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[5/6] git commit: merge from 1.1

2013-01-18 Thread jbellis
merge from 1.1


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

Branch: refs/heads/cassandra-1.2
Commit: a330716d4507079e3ae208c7b4a4c50f01ce6c8f
Parents: 17adf8e a7da029
Author: Jonathan Ellis 
Authored: Fri Jan 18 12:58:18 2013 -0800
Committer: Jonathan Ellis 
Committed: Fri Jan 18 12:58:18 2013 -0800

--
 CHANGES.txt|2 ++
 .../apache/cassandra/service/LoadBroadcaster.java  |6 --
 2 files changed, 6 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/a330716d/CHANGES.txt
--
diff --cc CHANGES.txt
index 86743ca,9cdb02a..2f054f7
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,53 -1,16 +1,55 @@@
 -1.1.10
 +1.2.1
 + * GossipingPropertyFileSnitch loads saved dc/rack info if needed 
(CASSANDRA-5133)
 + * drain should flush system CFs too (CASSANDRA-4446)
 + * add inter_dc_tcp_nodelay setting (CASSANDRA-5148)
 + * re-allow wrapping ranges for start_token/end_token range pairing 
(CASSANDRA-5106)
 + * fix validation compaction of empty rows (CASSADRA-5136)
 + * nodetool methods to enable/disable hint storage/delivery (CASSANDRA-4750)
 + * disallow bloom filter false positive chance of 0 (CASSANDRA-5013)
 + * add threadpool size adjustment methods to JMXEnabledThreadPoolExecutor and 
 +   CompactionManagerMBean (CASSANDRA-5044)
 + * fix hinting for dropped local writes (CASSANDRA-4753)
 + * off-heap cache doesn't need mutable column container (CASSANDRA-5057)
 + * apply disk_failure_policy to bad disks on initial directory creation 
 +   (CASSANDRA-4847)
 + * Optimize name-based queries to use ArrayBackedSortedColumns 
(CASSANDRA-5043)
 + * Fall back to old manifest if most recent is unparseable (CASSANDRA-5041)
 + * pool [Compressed]RandomAccessReader objects on the partitioned read path
 +   (CASSANDRA-4942)
 + * Add debug logging to list filenames processed by Directories.migrateFile 
 +   method (CASSANDRA-4939)
 + * Expose black-listed directories via JMX (CASSANDRA-4848)
 + * Log compaction merge counts (CASSANDRA-4894)
 + * Minimize byte array allocation by AbstractData{Input,Output} 
(CASSANDRA-5090)
 + * Add SSL support for the binary protocol (CASSANDRA-5031)
 + * Allow non-schema system ks modification for shuffle to work 
(CASSANDRA-5097)
 + * cqlsh: Add default limit to SELECT statements (CASSANDRA-4972)
 + * cqlsh: fix DESCRIBE for 1.1 cfs in CQL3 (CASSANDRA-5101)
 + * Correctly gossip with nodes >= 1.1.7 (CASSANDRA-5102)
 + * Ensure CL guarantees on digest mismatch (CASSANDRA-5113)
 + * Validate correctly selects on composite partition key (CASSANDRA-5122)
 + * Fix exception when adding collection (CASSANDRA-5117)
 + * Handle states for non-vnode clusters correctly (CASSANDRA-5127)
 + * Refuse unrecognized replication strategy options (CASSANDRA-4795)
 + * Pick the correct value validator in sstable2json for cql3 tables 
(CASSANDRA-5134)
 + * Validate login for describe_keyspace, describe_keyspaces and set_keyspace
 +   (CASSANDRA-5144)
 + * Fix inserting empty maps (CASSANDRA-5141)
 + * Don't remove tokens from System table for node we know (CASSANDRA-5121)
 + * fix streaming progress report for compresed files (CASSANDRA-5130)
 + * Coverage analysis for low-CL queries (CASSANDRA-4858)
 + * Stop interpreting dates as valid timeUUID value (CASSANDRA-4936)
 + * Adds E notation for floating point numbers (CASSANDRA-4927)
 + * Detect (and warn) unintentional use of the cql2 thrift methods when cql3 
was
 +   intended (CASSANDRA-5172)
 +Merged from 1.1:
+  * fix saved key cache not loading at startup (CASSANDRA-5166)
+  * fix ConcurrentModificationException in getBootstrapSource (CASSANDRA-5170)
 -
 -
 -1.1.9
   * Simplify CompressedRandomAccessReader to work around JDK FD bug 
(CASSANDRA-5088)
   * Improve handling a changing target throttle rate mid-compaction 
(CASSANDRA-5087)
 - * fix multithreaded compaction deadlock (CASSANDRA-4492)
 - * fix specifying and altering crc_check_chance (CASSANDRA-5053)
 - * Don't expire columns sooner than they should in 2ndary indexes 
(CASSANDRA-5079)
   * Pig: correctly decode row keys in widerow mode (CASSANDRA-5098)
   * nodetool repair command now prints progress (CASSANDRA-4767)
 + * Ensure Jackson dependency matches lib (CASSANDRA-5126)
   * fix user defined compaction to run against 1.1 data directory 
(CASSANDRA-5118)
   * Fix CQL3 BATCH authorization caching (CASSANDRA-5145)
   * fix get_count returns incorrect value with TTL (CASSANDRA-5099)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/a330716d/src/java/org/apache/cassandra/service/LoadBroa

[4/6] git commit: merge from 1.1

2013-01-18 Thread jbellis
merge from 1.1


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

Branch: refs/heads/trunk
Commit: a330716d4507079e3ae208c7b4a4c50f01ce6c8f
Parents: 17adf8e a7da029
Author: Jonathan Ellis 
Authored: Fri Jan 18 12:58:18 2013 -0800
Committer: Jonathan Ellis 
Committed: Fri Jan 18 12:58:18 2013 -0800

--
 CHANGES.txt|2 ++
 .../apache/cassandra/service/LoadBroadcaster.java  |6 --
 2 files changed, 6 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/a330716d/CHANGES.txt
--
diff --cc CHANGES.txt
index 86743ca,9cdb02a..2f054f7
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,53 -1,16 +1,55 @@@
 -1.1.10
 +1.2.1
 + * GossipingPropertyFileSnitch loads saved dc/rack info if needed 
(CASSANDRA-5133)
 + * drain should flush system CFs too (CASSANDRA-4446)
 + * add inter_dc_tcp_nodelay setting (CASSANDRA-5148)
 + * re-allow wrapping ranges for start_token/end_token range pairing 
(CASSANDRA-5106)
 + * fix validation compaction of empty rows (CASSADRA-5136)
 + * nodetool methods to enable/disable hint storage/delivery (CASSANDRA-4750)
 + * disallow bloom filter false positive chance of 0 (CASSANDRA-5013)
 + * add threadpool size adjustment methods to JMXEnabledThreadPoolExecutor and 
 +   CompactionManagerMBean (CASSANDRA-5044)
 + * fix hinting for dropped local writes (CASSANDRA-4753)
 + * off-heap cache doesn't need mutable column container (CASSANDRA-5057)
 + * apply disk_failure_policy to bad disks on initial directory creation 
 +   (CASSANDRA-4847)
 + * Optimize name-based queries to use ArrayBackedSortedColumns 
(CASSANDRA-5043)
 + * Fall back to old manifest if most recent is unparseable (CASSANDRA-5041)
 + * pool [Compressed]RandomAccessReader objects on the partitioned read path
 +   (CASSANDRA-4942)
 + * Add debug logging to list filenames processed by Directories.migrateFile 
 +   method (CASSANDRA-4939)
 + * Expose black-listed directories via JMX (CASSANDRA-4848)
 + * Log compaction merge counts (CASSANDRA-4894)
 + * Minimize byte array allocation by AbstractData{Input,Output} 
(CASSANDRA-5090)
 + * Add SSL support for the binary protocol (CASSANDRA-5031)
 + * Allow non-schema system ks modification for shuffle to work 
(CASSANDRA-5097)
 + * cqlsh: Add default limit to SELECT statements (CASSANDRA-4972)
 + * cqlsh: fix DESCRIBE for 1.1 cfs in CQL3 (CASSANDRA-5101)
 + * Correctly gossip with nodes >= 1.1.7 (CASSANDRA-5102)
 + * Ensure CL guarantees on digest mismatch (CASSANDRA-5113)
 + * Validate correctly selects on composite partition key (CASSANDRA-5122)
 + * Fix exception when adding collection (CASSANDRA-5117)
 + * Handle states for non-vnode clusters correctly (CASSANDRA-5127)
 + * Refuse unrecognized replication strategy options (CASSANDRA-4795)
 + * Pick the correct value validator in sstable2json for cql3 tables 
(CASSANDRA-5134)
 + * Validate login for describe_keyspace, describe_keyspaces and set_keyspace
 +   (CASSANDRA-5144)
 + * Fix inserting empty maps (CASSANDRA-5141)
 + * Don't remove tokens from System table for node we know (CASSANDRA-5121)
 + * fix streaming progress report for compresed files (CASSANDRA-5130)
 + * Coverage analysis for low-CL queries (CASSANDRA-4858)
 + * Stop interpreting dates as valid timeUUID value (CASSANDRA-4936)
 + * Adds E notation for floating point numbers (CASSANDRA-4927)
 + * Detect (and warn) unintentional use of the cql2 thrift methods when cql3 
was
 +   intended (CASSANDRA-5172)
 +Merged from 1.1:
+  * fix saved key cache not loading at startup (CASSANDRA-5166)
+  * fix ConcurrentModificationException in getBootstrapSource (CASSANDRA-5170)
 -
 -
 -1.1.9
   * Simplify CompressedRandomAccessReader to work around JDK FD bug 
(CASSANDRA-5088)
   * Improve handling a changing target throttle rate mid-compaction 
(CASSANDRA-5087)
 - * fix multithreaded compaction deadlock (CASSANDRA-4492)
 - * fix specifying and altering crc_check_chance (CASSANDRA-5053)
 - * Don't expire columns sooner than they should in 2ndary indexes 
(CASSANDRA-5079)
   * Pig: correctly decode row keys in widerow mode (CASSANDRA-5098)
   * nodetool repair command now prints progress (CASSANDRA-4767)
 + * Ensure Jackson dependency matches lib (CASSANDRA-5126)
   * fix user defined compaction to run against 1.1 data directory 
(CASSANDRA-5118)
   * Fix CQL3 BATCH authorization caching (CASSANDRA-5145)
   * fix get_count returns incorrect value with TTL (CASSANDRA-5099)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/a330716d/src/java/org/apache/cassandra/service/LoadBroadcaster.

[1/6] git commit: fix ConcurrentModificationException in getBootstrapSource

2013-01-18 Thread jbellis
fix ConcurrentModificationException in getBootstrapSource


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

Branch: refs/heads/cassandra-1.1
Commit: a7da0295d575124032c2f2a0a96ce45ebe2d5df6
Parents: be01197
Author: Jonathan Ellis 
Authored: Fri Jan 18 12:56:24 2013 -0800
Committer: Jonathan Ellis 
Committed: Fri Jan 18 12:56:49 2013 -0800

--
 CHANGES.txt|2 ++
 .../apache/cassandra/service/LoadBroadcaster.java  |6 --
 2 files changed, 6 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/a7da0295/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 2a19ed5..9cdb02a 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,5 +1,7 @@
 1.1.10
  * fix saved key cache not loading at startup (CASSANDRA-5166)
+ * fix ConcurrentModificationException in getBootstrapSource (CASSANDRA-5170)
+
 
 1.1.9
  * Simplify CompressedRandomAccessReader to work around JDK FD bug 
(CASSANDRA-5088)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/a7da0295/src/java/org/apache/cassandra/service/LoadBroadcaster.java
--
diff --git a/src/java/org/apache/cassandra/service/LoadBroadcaster.java 
b/src/java/org/apache/cassandra/service/LoadBroadcaster.java
index b3232fe..40e25ce 100644
--- a/src/java/org/apache/cassandra/service/LoadBroadcaster.java
+++ b/src/java/org/apache/cassandra/service/LoadBroadcaster.java
@@ -20,6 +20,8 @@ package org.apache.cassandra.service;
 
 import java.net.InetAddress;
 import java.util.*;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.ConcurrentMap;
 import java.util.concurrent.TimeUnit;
 
 import org.slf4j.Logger;
@@ -35,7 +37,7 @@ public class LoadBroadcaster implements 
IEndpointStateChangeSubscriber
 
 private static final Logger logger_ = 
LoggerFactory.getLogger(LoadBroadcaster.class);
 
-private Map loadInfo_ = new HashMap();
+private ConcurrentMap loadInfo_ = new 
ConcurrentHashMap();
 
 private LoadBroadcaster()
 {
@@ -71,7 +73,7 @@ public class LoadBroadcaster implements 
IEndpointStateChangeSubscriber
 
 public Map getLoadInfo()
 {
-return loadInfo_;
+return Collections.unmodifiableMap(loadInfo_);
 }
 
 public void startBroadcasting()



[6/6] git commit: Merge branch 'cassandra-1.2' into trunk

2013-01-18 Thread jbellis
Updated Branches:
  refs/heads/cassandra-1.1 be0119778 -> a7da0295d
  refs/heads/cassandra-1.2 17adf8e4f -> a330716d4
  refs/heads/trunk 262fadb27 -> 0d5738f1f


Merge branch 'cassandra-1.2' into trunk


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

Branch: refs/heads/trunk
Commit: 0d5738f1f30feb34c0465d8a662026b6776048d6
Parents: 262fadb a330716
Author: Jonathan Ellis 
Authored: Fri Jan 18 12:58:26 2013 -0800
Committer: Jonathan Ellis 
Committed: Fri Jan 18 12:58:26 2013 -0800

--
 CHANGES.txt|2 ++
 .../apache/cassandra/service/LoadBroadcaster.java  |6 --
 2 files changed, 6 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/0d5738f1/CHANGES.txt
--



[3/6] git commit: fix ConcurrentModificationException in getBootstrapSource

2013-01-18 Thread jbellis
fix ConcurrentModificationException in getBootstrapSource


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

Branch: refs/heads/trunk
Commit: a7da0295d575124032c2f2a0a96ce45ebe2d5df6
Parents: be01197
Author: Jonathan Ellis 
Authored: Fri Jan 18 12:56:24 2013 -0800
Committer: Jonathan Ellis 
Committed: Fri Jan 18 12:56:49 2013 -0800

--
 CHANGES.txt|2 ++
 .../apache/cassandra/service/LoadBroadcaster.java  |6 --
 2 files changed, 6 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/a7da0295/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 2a19ed5..9cdb02a 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,5 +1,7 @@
 1.1.10
  * fix saved key cache not loading at startup (CASSANDRA-5166)
+ * fix ConcurrentModificationException in getBootstrapSource (CASSANDRA-5170)
+
 
 1.1.9
  * Simplify CompressedRandomAccessReader to work around JDK FD bug 
(CASSANDRA-5088)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/a7da0295/src/java/org/apache/cassandra/service/LoadBroadcaster.java
--
diff --git a/src/java/org/apache/cassandra/service/LoadBroadcaster.java 
b/src/java/org/apache/cassandra/service/LoadBroadcaster.java
index b3232fe..40e25ce 100644
--- a/src/java/org/apache/cassandra/service/LoadBroadcaster.java
+++ b/src/java/org/apache/cassandra/service/LoadBroadcaster.java
@@ -20,6 +20,8 @@ package org.apache.cassandra.service;
 
 import java.net.InetAddress;
 import java.util.*;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.ConcurrentMap;
 import java.util.concurrent.TimeUnit;
 
 import org.slf4j.Logger;
@@ -35,7 +37,7 @@ public class LoadBroadcaster implements 
IEndpointStateChangeSubscriber
 
 private static final Logger logger_ = 
LoggerFactory.getLogger(LoadBroadcaster.class);
 
-private Map loadInfo_ = new HashMap();
+private ConcurrentMap loadInfo_ = new 
ConcurrentHashMap();
 
 private LoadBroadcaster()
 {
@@ -71,7 +73,7 @@ public class LoadBroadcaster implements 
IEndpointStateChangeSubscriber
 
 public Map getLoadInfo()
 {
-return loadInfo_;
+return Collections.unmodifiableMap(loadInfo_);
 }
 
 public void startBroadcasting()



[2/6] git commit: fix ConcurrentModificationException in getBootstrapSource

2013-01-18 Thread jbellis
fix ConcurrentModificationException in getBootstrapSource


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

Branch: refs/heads/cassandra-1.2
Commit: a7da0295d575124032c2f2a0a96ce45ebe2d5df6
Parents: be01197
Author: Jonathan Ellis 
Authored: Fri Jan 18 12:56:24 2013 -0800
Committer: Jonathan Ellis 
Committed: Fri Jan 18 12:56:49 2013 -0800

--
 CHANGES.txt|2 ++
 .../apache/cassandra/service/LoadBroadcaster.java  |6 --
 2 files changed, 6 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/a7da0295/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 2a19ed5..9cdb02a 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,5 +1,7 @@
 1.1.10
  * fix saved key cache not loading at startup (CASSANDRA-5166)
+ * fix ConcurrentModificationException in getBootstrapSource (CASSANDRA-5170)
+
 
 1.1.9
  * Simplify CompressedRandomAccessReader to work around JDK FD bug 
(CASSANDRA-5088)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/a7da0295/src/java/org/apache/cassandra/service/LoadBroadcaster.java
--
diff --git a/src/java/org/apache/cassandra/service/LoadBroadcaster.java 
b/src/java/org/apache/cassandra/service/LoadBroadcaster.java
index b3232fe..40e25ce 100644
--- a/src/java/org/apache/cassandra/service/LoadBroadcaster.java
+++ b/src/java/org/apache/cassandra/service/LoadBroadcaster.java
@@ -20,6 +20,8 @@ package org.apache.cassandra.service;
 
 import java.net.InetAddress;
 import java.util.*;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.ConcurrentMap;
 import java.util.concurrent.TimeUnit;
 
 import org.slf4j.Logger;
@@ -35,7 +37,7 @@ public class LoadBroadcaster implements 
IEndpointStateChangeSubscriber
 
 private static final Logger logger_ = 
LoggerFactory.getLogger(LoadBroadcaster.class);
 
-private Map loadInfo_ = new HashMap();
+private ConcurrentMap loadInfo_ = new 
ConcurrentHashMap();
 
 private LoadBroadcaster()
 {
@@ -71,7 +73,7 @@ public class LoadBroadcaster implements 
IEndpointStateChangeSubscriber
 
 public Map getLoadInfo()
 {
-return loadInfo_;
+return Collections.unmodifiableMap(loadInfo_);
 }
 
 public void startBroadcasting()



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

2013-01-18 Thread Karl Mueller (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-5068?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13557574#comment-13557574
 ] 

Karl Mueller commented on CASSANDRA-5068:
-

I'm also seeing this, running 1.1.8 :)

> CLONE - Once a host has been hinted to, log messages for it repeat every 10 
> mins even if no hints are delivered
> ---
>
> Key: CASSANDRA-5068
> URL: https://issues.apache.org/jira/browse/CASSANDRA-5068
> Project: Cassandra
>  Issue Type: Bug
>  Components: Core
>Affects Versions: 1.1.6, 1.2.0
> Environment: cassandra 1.1.6
> java 1.6.0_30
>Reporter: Peter Haggerty
>Assignee: Brandon Williams
>Priority: Minor
>  Labels: hinted, hintedhandoff, phantom
>
> We have "0 row" hinted handoffs every 10 minutes like clockwork. This impacts 
> our ability to monitor the cluster by adding persistent noise in the handoff 
> metric.
> Previous mentions of this issue are here:
> http://www.mail-archive.com/user@cassandra.apache.org/msg25982.html
> The hinted handoffs can be scrubbed away with
> nodetool -h 127.0.0.1 scrub system HintsColumnFamily
> but they return after anywhere from a few minutes to multiple hours later.
> These started to appear after an upgrade to 1.1.6 and haven't gone away 
> despite rolling cleanups, rolling restarts, multiple rounds of scrubbing, etc.
> A few things we've noticed about the handoffs:
> 1. The phantom handoff endpoint changes after a non-zero handoff comes through
> 2. Sometimes a non-zero handoff will be immediately followed by an "off 
> schedule" phantom handoff to the endpoint the phantom had been using before
> 3. The sstable2json output seems to include multiple sub-sections for each 
> handoff with the same "deletedAt" information.
> The phantom handoff endpoint changes after a non-zero handoff comes through:
>  INFO [HintedHandoff:1] 2012-12-11 06:57:35,093 HintedHandOffManager.java 
> (line 392) Finished hinted handoff of 0 rows to endpoint /10.10.10.1
>  INFO [HintedHandoff:1] 2012-12-11 07:07:35,092 HintedHandOffManager.java 
> (line 392) Finished hinted handoff of 0 rows to endpoint /10.10.10.1
>  INFO [HintedHandoff:1] 2012-12-11 07:07:37,915 HintedHandOffManager.java 
> (line 392) Finished hinted handoff of 1058 rows to endpoint /10.10.10.2
>  INFO [HintedHandoff:1] 2012-12-11 07:17:35,093 HintedHandOffManager.java 
> (line 392) Finished hinted handoff of 0 rows to endpoint /10.10.10.2
>  INFO [HintedHandoff:1] 2012-12-11 07:27:35,093 HintedHandOffManager.java 
> (line 392) Finished hinted handoff of 0 rows to endpoint /10.10.10.2
> Sometimes a non-zero handoff will be immediately followed by an "off 
> schedule" phantom handoff to the endpoint the phantom had been using before:
>  INFO [HintedHandoff:1] 2012-12-12 21:47:39,335 HintedHandOffManager.java 
> (line 392) Finished hinted handoff of 0 rows to endpoint /10.10.10.3
>  INFO [HintedHandoff:1] 2012-12-12 21:57:39,335 HintedHandOffManager.java 
> (line 392) Finished hinted handoff of 0 rows to endpoint /10.10.10.3
>  INFO [HintedHandoff:1] 2012-12-12 22:07:43,319 HintedHandOffManager.java 
> (line 392) Finished hinted handoff of 1416 rows to endpoint /10.10.10.4
>  INFO [HintedHandoff:1] 2012-12-12 22:07:43,320 HintedHandOffManager.java 
> (line 392) Finished hinted handoff of 0 rows to endpoint /10.10.10.3
>  INFO [HintedHandoff:1] 2012-12-12 22:17:39,357 HintedHandOffManager.java 
> (line 392) Finished hinted handoff of 0 rows to endpoint /10.10.10.4
>  INFO [HintedHandoff:1] 2012-12-12 22:27:39,337 HintedHandOffManager.java 
> (line 392) Finished hinted handoff of 0 rows to endpoint /10.10.10.4
> The first few entries from one of the json files:
> {
> "0aaa": {
> "ccf5dc203a2211e2e154da71a9bb": {
> "deletedAt": -9223372036854775808, 
> "subColumns": []
> }, 
> "ccf603303a2211e2e154da71a9bb": {
> "deletedAt": -9223372036854775808, 
> "subColumns": []
> }, 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


buildbot success in ASF Buildbot on cassandra-trunk

2013-01-18 Thread buildbot
The Buildbot has detected a restored build on builder cassandra-trunk while 
building cassandra.
Full details are available at:
 http://ci.apache.org/builders/cassandra-trunk/builds/2286

Buildbot URL: http://ci.apache.org/

Buildslave for this Build: portunus_ubuntu

Build Reason: scheduler
Build Source Stamp: [branch trunk] 262fadb27c568b801c0982000c017c0cb3bb9bb2
Blamelist: Brandon Williams 

Build succeeded!

sincerely,
 -The Buildbot





[2/3] git commit: fix RelocateTest

2013-01-18 Thread brandonwilliams
fix RelocateTest


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

Branch: refs/heads/trunk
Commit: 17adf8e4f72114d336140fac5157a35e63d1f53a
Parents: 43123d1
Author: Brandon Williams 
Authored: Fri Jan 18 13:58:50 2013 -0600
Committer: Brandon Williams 
Committed: Fri Jan 18 13:58:50 2013 -0600

--
 .../org/apache/cassandra/service/RelocateTest.java |2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/17adf8e4/test/unit/org/apache/cassandra/service/RelocateTest.java
--
diff --git a/test/unit/org/apache/cassandra/service/RelocateTest.java 
b/test/unit/org/apache/cassandra/service/RelocateTest.java
index dda79c3..510d254 100644
--- a/test/unit/org/apache/cassandra/service/RelocateTest.java
+++ b/test/unit/org/apache/cassandra/service/RelocateTest.java
@@ -32,6 +32,7 @@ import java.util.Map;
 import java.util.UUID;
 
 import org.apache.cassandra.SchemaLoader;
+import org.apache.cassandra.db.SystemTable;
 import org.apache.cassandra.exceptions.ConfigurationException;
 import org.apache.cassandra.config.KSMetaData;
 import org.apache.cassandra.config.Schema;
@@ -186,6 +187,7 @@ public class RelocateTest
 
 // Create a list of the endpoint's existing tokens, and add the 
relocatee to it.
 List tokens = new ArrayList(tmd.getTokens(relocator));
+SystemTable.updateTokens(tokens);
 tokens.add(relocatee);
 
 // Send a normal status, then ensure all is copesetic.



[1/3] git commit: fix RelocateTest

2013-01-18 Thread brandonwilliams
fix RelocateTest


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

Branch: refs/heads/cassandra-1.2
Commit: 17adf8e4f72114d336140fac5157a35e63d1f53a
Parents: 43123d1
Author: Brandon Williams 
Authored: Fri Jan 18 13:58:50 2013 -0600
Committer: Brandon Williams 
Committed: Fri Jan 18 13:58:50 2013 -0600

--
 .../org/apache/cassandra/service/RelocateTest.java |2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/17adf8e4/test/unit/org/apache/cassandra/service/RelocateTest.java
--
diff --git a/test/unit/org/apache/cassandra/service/RelocateTest.java 
b/test/unit/org/apache/cassandra/service/RelocateTest.java
index dda79c3..510d254 100644
--- a/test/unit/org/apache/cassandra/service/RelocateTest.java
+++ b/test/unit/org/apache/cassandra/service/RelocateTest.java
@@ -32,6 +32,7 @@ import java.util.Map;
 import java.util.UUID;
 
 import org.apache.cassandra.SchemaLoader;
+import org.apache.cassandra.db.SystemTable;
 import org.apache.cassandra.exceptions.ConfigurationException;
 import org.apache.cassandra.config.KSMetaData;
 import org.apache.cassandra.config.Schema;
@@ -186,6 +187,7 @@ public class RelocateTest
 
 // Create a list of the endpoint's existing tokens, and add the 
relocatee to it.
 List tokens = new ArrayList(tmd.getTokens(relocator));
+SystemTable.updateTokens(tokens);
 tokens.add(relocatee);
 
 // Send a normal status, then ensure all is copesetic.



[3/3] git commit: Merge branch 'cassandra-1.2' into trunk

2013-01-18 Thread brandonwilliams
Updated Branches:
  refs/heads/cassandra-1.2 43123d1cc -> 17adf8e4f
  refs/heads/trunk 47de14731 -> 262fadb27


Merge branch 'cassandra-1.2' into trunk


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

Branch: refs/heads/trunk
Commit: 262fadb27c568b801c0982000c017c0cb3bb9bb2
Parents: 47de147 17adf8e
Author: Brandon Williams 
Authored: Fri Jan 18 13:58:58 2013 -0600
Committer: Brandon Williams 
Committed: Fri Jan 18 13:58:58 2013 -0600

--
 .../org/apache/cassandra/service/RelocateTest.java |2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)
--




[jira] [Updated] (CASSANDRA-4464) expose 2I CFs to the rest of nodetool

2013-01-18 Thread Jason Brown (JIRA)

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

Jason Brown updated CASSANDRA-4464:
---

Attachment: 4464-v1.patch

After talking offline with @driftx, we've decided to wait until 2.0 to 
incorporate nodetool scrub for 2Is. I will open up a separate ticket for that 
work. The attached patch addresses the other nodetool commands Jonathan listed.

* upgradesstables - removed assert in CompactionManager.performSSTableRewrite() 
that checks if CF is index. Can now upgrade 2Is independently, or will 
automatically upgrade 2Is when doign the owning CF
* invalidate[key|row]cache - ks/cf args were removed in 1.1, thus, no change
* cfstats - now prints out 2I info, ordered below owning CF
* flush - can now flush 2Is independently.
* getsstables - I changed NodeProbe.getCfsProxy() so if cf name has dot 
(meaning it's a 2I), looks up mbean in IndexColumnFamiles
* rangekeysample - command doesn't take ks/cf as args, and only looks at 
regular CFs for output; thus, no change
* snapshot - now throws an exception when attempting to snapshot a 2I


> expose 2I CFs to the rest of nodetool
> -
>
> Key: CASSANDRA-4464
> URL: https://issues.apache.org/jira/browse/CASSANDRA-4464
> Project: Cassandra
>  Issue Type: New Feature
>  Components: Tools
>Reporter: Jonathan Ellis
>Assignee: Jason Brown
>Priority: Minor
> Fix For: 1.2.2
>
> Attachments: 4464.txt, 4464-v1.patch
>
>
> This was begun in CASSANDRA-4063.  We should extend it to scrub as well, and 
> probably compact since any sane way to do it for scrub should give the other 
> for free.
> Not sure how easy these will be since they go through CompactionManager via 
> StorageProxy.  I think getValidColumnFamilies could be updated to check for 
> index CFs with "dot notation."
> (Other operations like flush or snapshot don't make sense for 2I CFs in 
> isolation of their parent.)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


buildbot success in ASF Buildbot on cassandra-1.1

2013-01-18 Thread buildbot
The Buildbot has detected a restored build on builder cassandra-1.1 while 
building cassandra.
Full details are available at:
 http://ci.apache.org/builders/cassandra-1.1/builds/122

Buildbot URL: http://ci.apache.org/

Buildslave for this Build: portunus_ubuntu

Build Reason: scheduler
Build Source Stamp: [branch cassandra-1.1] 
be01197786a8122fc17ba457a2c77ffdfab2af07
Blamelist: Yuki Morishita 

Build succeeded!

sincerely,
 -The Buildbot





[5/6] git commit: Merge branch 'cassandra-1.1' into cassandra-1.2

2013-01-18 Thread yukim
Merge branch 'cassandra-1.1' into cassandra-1.2


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

Branch: refs/heads/cassandra-1.2
Commit: 43123d1cc3d3f60ecdd90a7ce588cb71517bc9ff
Parents: a71e526 be01197
Author: Yuki Morishita 
Authored: Fri Jan 18 13:18:25 2013 -0600
Committer: Yuki Morishita 
Committed: Fri Jan 18 13:18:25 2013 -0600

--

--




[2/6] git commit: fix test for CASSANDRA-5166

2013-01-18 Thread yukim
fix test for CASSANDRA-5166


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

Branch: refs/heads/cassandra-1.2
Commit: be01197786a8122fc17ba457a2c77ffdfab2af07
Parents: f930eb7
Author: Yuki Morishita 
Authored: Fri Jan 18 13:17:55 2013 -0600
Committer: Yuki Morishita 
Committed: Fri Jan 18 13:17:55 2013 -0600

--
 .../cassandra/io/sstable/SSTableReaderTest.java|7 ---
 1 files changed, 4 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/be011977/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 fd0c1c6..334179f 100644
--- a/test/unit/org/apache/cassandra/io/sstable/SSTableReaderTest.java
+++ b/test/unit/org/apache/cassandra/io/sstable/SSTableReaderTest.java
@@ -292,18 +292,19 @@ public class SSTableReaderTest extends SchemaLoader
 public void testLoadingSavedKeyCache() throws Exception
 {
 final String ks = "Keyspace1";
-final String cf = "Standard1";
+final String cf = "Standard4";
 CFMetaData meta = Schema.instance.getCFMetaData(ks, cf);
 Table.clear(ks);
 
 ByteBuffer key = ByteBufferUtil.bytes("key");
 CacheService.instance.keyCache.setCapacity(1024);
-File dir = Directories.create(ks, cf).getDirectoryForNewSSTables(100);
+Directories directories = Directories.create(ks, cf);
+File dir = directories.getDirectoryForNewSSTables(100);
 SSTableSimpleWriter writer = new SSTableSimpleWriter(dir, meta, 
StorageService.getPartitioner());
 writer.newRow(key);
 writer.addColumn(ByteBufferUtil.bytes("col"), 
ByteBufferUtil.EMPTY_BYTE_BUFFER, 1);
 writer.close();
-Descriptor desc = Descriptor.fromFilename(dir, 
String.format("%s-%s-%s-1-Data.db", ks, cf, Descriptor.CURRENT_VERSION)).left;
+Descriptor desc = 
directories.sstableLister().list().keySet().iterator().next();
 
 File cachePath = CacheService.instance.keyCache.getCachePath(ks, cf);
 SequentialWriter out = SequentialWriter.open(cachePath);



[1/6] git commit: fix test for CASSANDRA-5166

2013-01-18 Thread yukim
fix test for CASSANDRA-5166


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

Branch: refs/heads/cassandra-1.1
Commit: be01197786a8122fc17ba457a2c77ffdfab2af07
Parents: f930eb7
Author: Yuki Morishita 
Authored: Fri Jan 18 13:17:55 2013 -0600
Committer: Yuki Morishita 
Committed: Fri Jan 18 13:17:55 2013 -0600

--
 .../cassandra/io/sstable/SSTableReaderTest.java|7 ---
 1 files changed, 4 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/be011977/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 fd0c1c6..334179f 100644
--- a/test/unit/org/apache/cassandra/io/sstable/SSTableReaderTest.java
+++ b/test/unit/org/apache/cassandra/io/sstable/SSTableReaderTest.java
@@ -292,18 +292,19 @@ public class SSTableReaderTest extends SchemaLoader
 public void testLoadingSavedKeyCache() throws Exception
 {
 final String ks = "Keyspace1";
-final String cf = "Standard1";
+final String cf = "Standard4";
 CFMetaData meta = Schema.instance.getCFMetaData(ks, cf);
 Table.clear(ks);
 
 ByteBuffer key = ByteBufferUtil.bytes("key");
 CacheService.instance.keyCache.setCapacity(1024);
-File dir = Directories.create(ks, cf).getDirectoryForNewSSTables(100);
+Directories directories = Directories.create(ks, cf);
+File dir = directories.getDirectoryForNewSSTables(100);
 SSTableSimpleWriter writer = new SSTableSimpleWriter(dir, meta, 
StorageService.getPartitioner());
 writer.newRow(key);
 writer.addColumn(ByteBufferUtil.bytes("col"), 
ByteBufferUtil.EMPTY_BYTE_BUFFER, 1);
 writer.close();
-Descriptor desc = Descriptor.fromFilename(dir, 
String.format("%s-%s-%s-1-Data.db", ks, cf, Descriptor.CURRENT_VERSION)).left;
+Descriptor desc = 
directories.sstableLister().list().keySet().iterator().next();
 
 File cachePath = CacheService.instance.keyCache.getCachePath(ks, cf);
 SequentialWriter out = SequentialWriter.open(cachePath);



[4/6] git commit: Merge branch 'cassandra-1.1' into cassandra-1.2

2013-01-18 Thread yukim
Merge branch 'cassandra-1.1' into cassandra-1.2


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

Branch: refs/heads/trunk
Commit: 43123d1cc3d3f60ecdd90a7ce588cb71517bc9ff
Parents: a71e526 be01197
Author: Yuki Morishita 
Authored: Fri Jan 18 13:18:25 2013 -0600
Committer: Yuki Morishita 
Committed: Fri Jan 18 13:18:25 2013 -0600

--

--




[3/6] git commit: fix test for CASSANDRA-5166

2013-01-18 Thread yukim
fix test for CASSANDRA-5166


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

Branch: refs/heads/trunk
Commit: be01197786a8122fc17ba457a2c77ffdfab2af07
Parents: f930eb7
Author: Yuki Morishita 
Authored: Fri Jan 18 13:17:55 2013 -0600
Committer: Yuki Morishita 
Committed: Fri Jan 18 13:17:55 2013 -0600

--
 .../cassandra/io/sstable/SSTableReaderTest.java|7 ---
 1 files changed, 4 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/be011977/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 fd0c1c6..334179f 100644
--- a/test/unit/org/apache/cassandra/io/sstable/SSTableReaderTest.java
+++ b/test/unit/org/apache/cassandra/io/sstable/SSTableReaderTest.java
@@ -292,18 +292,19 @@ public class SSTableReaderTest extends SchemaLoader
 public void testLoadingSavedKeyCache() throws Exception
 {
 final String ks = "Keyspace1";
-final String cf = "Standard1";
+final String cf = "Standard4";
 CFMetaData meta = Schema.instance.getCFMetaData(ks, cf);
 Table.clear(ks);
 
 ByteBuffer key = ByteBufferUtil.bytes("key");
 CacheService.instance.keyCache.setCapacity(1024);
-File dir = Directories.create(ks, cf).getDirectoryForNewSSTables(100);
+Directories directories = Directories.create(ks, cf);
+File dir = directories.getDirectoryForNewSSTables(100);
 SSTableSimpleWriter writer = new SSTableSimpleWriter(dir, meta, 
StorageService.getPartitioner());
 writer.newRow(key);
 writer.addColumn(ByteBufferUtil.bytes("col"), 
ByteBufferUtil.EMPTY_BYTE_BUFFER, 1);
 writer.close();
-Descriptor desc = Descriptor.fromFilename(dir, 
String.format("%s-%s-%s-1-Data.db", ks, cf, Descriptor.CURRENT_VERSION)).left;
+Descriptor desc = 
directories.sstableLister().list().keySet().iterator().next();
 
 File cachePath = CacheService.instance.keyCache.getCachePath(ks, cf);
 SequentialWriter out = SequentialWriter.open(cachePath);



[6/6] git commit: Merge branch 'cassandra-1.2' into trunk

2013-01-18 Thread yukim
Updated Branches:
  refs/heads/cassandra-1.1 f930eb79c -> be0119778
  refs/heads/cassandra-1.2 a71e526e3 -> 43123d1cc
  refs/heads/trunk eaedd259c -> 47de14731


Merge branch 'cassandra-1.2' into trunk


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

Branch: refs/heads/trunk
Commit: 47de147310a1a4d945c57c293ccfc12bcf9429f3
Parents: eaedd25 43123d1
Author: Yuki Morishita 
Authored: Fri Jan 18 13:18:42 2013 -0600
Committer: Yuki Morishita 
Committed: Fri Jan 18 13:18:42 2013 -0600

--

--




[jira] [Resolved] (CASSANDRA-5171) Enhance Ec2Snitch gossip info.

2013-01-18 Thread Vijay (JIRA)

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

Vijay resolved CASSANDRA-5171.
--

Resolution: Fixed

Committed to 1.2 and trunk. Thanks!

> Enhance Ec2Snitch gossip info.
> --
>
> Key: CASSANDRA-5171
> URL: https://issues.apache.org/jira/browse/CASSANDRA-5171
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Core
>Affects Versions: 1.2.0
> Environment: EC2
>Reporter: Vijay
>Assignee: Vijay
>Priority: Trivial
> Fix For: 1.2.1
>
> Attachments: 0001-CASSANDRA-5171.patch
>
>
> EC2Snitch currently waits for the Gossip information to understand the 
> cluster information every time we restart. It will be nice to use already 
> available system table info similar to GPFS.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[1/4] git commit: Fix RoundTripTest

2013-01-18 Thread vijay
Fix RoundTripTest


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

Branch: refs/heads/trunk
Commit: 9dcec00dbbe19b4f8090eb023bb754021d228a19
Parents: 056f38c
Author: Sylvain Lebresne 
Authored: Fri Jan 18 19:29:57 2013 +0100
Committer: Sylvain Lebresne 
Committed: Fri Jan 18 19:29:57 2013 +0100

--
 .../apache/cassandra/db/marshal/RoundTripTest.java |   26 ---
 1 files changed, 0 insertions(+), 26 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/9dcec00d/test/unit/org/apache/cassandra/db/marshal/RoundTripTest.java
--
diff --git a/test/unit/org/apache/cassandra/db/marshal/RoundTripTest.java 
b/test/unit/org/apache/cassandra/db/marshal/RoundTripTest.java
index ef34ac5..282bfc3 100644
--- a/test/unit/org/apache/cassandra/db/marshal/RoundTripTest.java
+++ b/test/unit/org/apache/cassandra/db/marshal/RoundTripTest.java
@@ -118,32 +118,6 @@ public class RoundTripTest
 
 assert 
uuid.equals(TimeUUIDType.instance.compose(TimeUUIDType.instance.fromString(uuid.toString(;
 assert JdbcTimeUUID.instance.toString(uuid).equals(uuid.toString());
-
-TimeZone.setDefault(TimeZone.getTimeZone("America/New_York"));
-Calendar c = Calendar.getInstance();
-c.set(Calendar.YEAR, 2011);
-c.set(Calendar.MONTH, Calendar.MARCH);
-c.set(Calendar.DAY_OF_MONTH, 8);
-c.set(Calendar.HOUR_OF_DAY, 0);
-c.set(Calendar.MINUTE, 0);
-c.set(Calendar.SECOND, 0);
-c.set(Calendar.MILLISECOND, 0);
-Long ts = new Long(129956040L);
-assert ts.equals(c.getTimeInMillis()) : c.getTimeInMillis();
-
-// create a uuid with a known time.
-uuid = 
TimeUUIDType.instance.compose(TimeUUIDType.instance.fromString(ts.toString()));
-assert 
uuid.equals(TimeUUIDType.instance.compose(TimeUUIDType.instance.fromString(uuid.toString(;
-assert 
uuid.equals(TimeUUIDType.instance.compose(TimeUUIDType.instance.fromString("2011-03-08
 00:00")));
-assert 
uuid.equals(TimeUUIDType.instance.compose(TimeUUIDType.instance.fromString("2011-03-08
 00:00:00")));
-assert 
uuid.equals(TimeUUIDType.instance.compose(TimeUUIDType.instance.fromString("2011-03-08
 00:00-0500")));
-assert 
uuid.equals(TimeUUIDType.instance.compose(TimeUUIDType.instance.fromString("2011-03-08
 00:00:00-0500")));
-assert 
uuid.equals(TimeUUIDType.instance.compose(TimeUUIDType.instance.fromString("2011-03-08T00:00")));
-assert 
uuid.equals(TimeUUIDType.instance.compose(TimeUUIDType.instance.fromString("2011-03-08T00:00-0500")));
-assert 
uuid.equals(TimeUUIDType.instance.compose(TimeUUIDType.instance.fromString("2011-03-08T00:00:00")));
-assert 
uuid.equals(TimeUUIDType.instance.compose(TimeUUIDType.instance.fromString("2011-03-08T00:00:00-0500")));
-assert 
uuid.equals(TimeUUIDType.instance.compose(TimeUUIDType.instance.fromString("2011-03-08")));
-assert 
uuid.equals(TimeUUIDType.instance.compose(TimeUUIDType.instance.fromString("2011-03-08-0500")));
 }
 
 @Test



[3/4] git commit: Ec2Snitch - use systemtable when gossip info is not available Patch by Vijay, reviewed by Brandon Williams for CASSANDRA-5171

2013-01-18 Thread vijay
Ec2Snitch - use systemtable when gossip info is not available
Patch by Vijay, reviewed by Brandon Williams for CASSANDRA-5171

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

Branch: refs/heads/trunk
Commit: a71e526e3d1f69e46f25f3822341e631690b40a2
Parents: 26fdab3
Author: Vijay Parthasarathy 
Authored: Fri Jan 18 10:57:14 2013 -0800
Committer: Vijay Parthasarathy 
Committed: Fri Jan 18 10:57:14 2013 -0800

--
 .../org/apache/cassandra/locator/Ec2Snitch.java|   15 +++
 1 files changed, 15 insertions(+), 0 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/a71e526e/src/java/org/apache/cassandra/locator/Ec2Snitch.java
--
diff --git a/src/java/org/apache/cassandra/locator/Ec2Snitch.java 
b/src/java/org/apache/cassandra/locator/Ec2Snitch.java
index a28e2a6..f36449d 100644
--- a/src/java/org/apache/cassandra/locator/Ec2Snitch.java
+++ b/src/java/org/apache/cassandra/locator/Ec2Snitch.java
@@ -23,11 +23,13 @@ import java.io.IOException;
 import java.net.HttpURLConnection;
 import java.net.InetAddress;
 import java.net.URL;
+import java.util.Map;
 
 import com.google.common.base.Charsets;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import org.apache.cassandra.db.SystemTable;
 import org.apache.cassandra.exceptions.ConfigurationException;
 import org.apache.cassandra.gms.ApplicationState;
 import org.apache.cassandra.gms.EndpointState;
@@ -44,6 +46,7 @@ public class Ec2Snitch extends AbstractNetworkTopologySnitch
 protected static final String ZONE_NAME_QUERY_URL = 
"http://169.254.169.254/latest/meta-data/placement/availability-zone";;
 private static final String DEFAULT_DC = "UNKNOWN-DC";
 private static final String DEFAULT_RACK = "UNKNOWN-RACK";
+private Map> savedEndpoints;
 protected String ec2zone;
 protected String ec2region;
 
@@ -93,7 +96,13 @@ public class Ec2Snitch extends AbstractNetworkTopologySnitch
 return ec2zone;
 EndpointState state = 
Gossiper.instance.getEndpointStateForEndpoint(endpoint);
 if (state == null || state.getApplicationState(ApplicationState.RACK) 
== null)
+{
+if (savedEndpoints == null)
+savedEndpoints = SystemTable.loadDcRackInfo();
+if (savedEndpoints.containsKey(endpoint))
+return savedEndpoints.get(endpoint).get("rack");
 return DEFAULT_RACK;
+}
 return state.getApplicationState(ApplicationState.RACK).value;
 }
 
@@ -103,7 +112,13 @@ public class Ec2Snitch extends 
AbstractNetworkTopologySnitch
 return ec2region;
 EndpointState state = 
Gossiper.instance.getEndpointStateForEndpoint(endpoint);
 if (state == null || state.getApplicationState(ApplicationState.DC) == 
null)
+{
+if (savedEndpoints == null)
+savedEndpoints = SystemTable.loadDcRackInfo();
+if (savedEndpoints.containsKey(endpoint))
+return savedEndpoints.get(endpoint).get("data_center");
 return DEFAULT_DC;
+}
 return state.getApplicationState(ApplicationState.DC).value;
 }
 }



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

2013-01-18 Thread vijay
Updated Branches:
  refs/heads/trunk 689410b89 -> eaedd259c


Merge branch 'cassandra-1.2' into trunk


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

Branch: refs/heads/trunk
Commit: eaedd259c8b5ec584a964d1f4659f9fcf7133661
Parents: 689410b a71e526
Author: Vijay Parthasarathy 
Authored: Fri Jan 18 10:58:13 2013 -0800
Committer: Vijay Parthasarathy 
Committed: Fri Jan 18 10:58:13 2013 -0800

--
 .../org/apache/cassandra/locator/Ec2Snitch.java|   15 
 .../apache/cassandra/db/marshal/RoundTripTest.java |   26 ---
 2 files changed, 15 insertions(+), 26 deletions(-)
--




[2/4] git commit: Merge branch 'cassandra-1.2' of https://git-wip-us.apache.org/repos/asf/cassandra into cassandra-1.2

2013-01-18 Thread vijay
Merge branch 'cassandra-1.2' of 
https://git-wip-us.apache.org/repos/asf/cassandra into cassandra-1.2


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

Branch: refs/heads/trunk
Commit: 26fdab37802fcb6fe7dd875d8366545159d79be7
Parents: 9dcec00 43c9e81
Author: Sylvain Lebresne 
Authored: Fri Jan 18 19:30:08 2013 +0100
Committer: Sylvain Lebresne 
Committed: Fri Jan 18 19:30:08 2013 +0100

--
 src/java/org/apache/cassandra/db/SystemTable.java  |   18 ++-
 src/java/org/apache/cassandra/gms/Gossiper.java|   12 +++-
 .../apache/cassandra/service/StorageService.java   |   40 ---
 .../org/apache/cassandra/db/SystemTableTest.java   |2 +-
 4 files changed, 37 insertions(+), 35 deletions(-)
--




git commit: Ec2Snitch - use systemtable when gossip info is not available Patch by Vijay, reviewed by Brandon Williams for CASSANDRA-5171

2013-01-18 Thread vijay
Updated Branches:
  refs/heads/cassandra-1.2 26fdab378 -> a71e526e3


Ec2Snitch - use systemtable when gossip info is not available
Patch by Vijay, reviewed by Brandon Williams for CASSANDRA-5171

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

Branch: refs/heads/cassandra-1.2
Commit: a71e526e3d1f69e46f25f3822341e631690b40a2
Parents: 26fdab3
Author: Vijay Parthasarathy 
Authored: Fri Jan 18 10:57:14 2013 -0800
Committer: Vijay Parthasarathy 
Committed: Fri Jan 18 10:57:14 2013 -0800

--
 .../org/apache/cassandra/locator/Ec2Snitch.java|   15 +++
 1 files changed, 15 insertions(+), 0 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/a71e526e/src/java/org/apache/cassandra/locator/Ec2Snitch.java
--
diff --git a/src/java/org/apache/cassandra/locator/Ec2Snitch.java 
b/src/java/org/apache/cassandra/locator/Ec2Snitch.java
index a28e2a6..f36449d 100644
--- a/src/java/org/apache/cassandra/locator/Ec2Snitch.java
+++ b/src/java/org/apache/cassandra/locator/Ec2Snitch.java
@@ -23,11 +23,13 @@ import java.io.IOException;
 import java.net.HttpURLConnection;
 import java.net.InetAddress;
 import java.net.URL;
+import java.util.Map;
 
 import com.google.common.base.Charsets;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import org.apache.cassandra.db.SystemTable;
 import org.apache.cassandra.exceptions.ConfigurationException;
 import org.apache.cassandra.gms.ApplicationState;
 import org.apache.cassandra.gms.EndpointState;
@@ -44,6 +46,7 @@ public class Ec2Snitch extends AbstractNetworkTopologySnitch
 protected static final String ZONE_NAME_QUERY_URL = 
"http://169.254.169.254/latest/meta-data/placement/availability-zone";;
 private static final String DEFAULT_DC = "UNKNOWN-DC";
 private static final String DEFAULT_RACK = "UNKNOWN-RACK";
+private Map> savedEndpoints;
 protected String ec2zone;
 protected String ec2region;
 
@@ -93,7 +96,13 @@ public class Ec2Snitch extends AbstractNetworkTopologySnitch
 return ec2zone;
 EndpointState state = 
Gossiper.instance.getEndpointStateForEndpoint(endpoint);
 if (state == null || state.getApplicationState(ApplicationState.RACK) 
== null)
+{
+if (savedEndpoints == null)
+savedEndpoints = SystemTable.loadDcRackInfo();
+if (savedEndpoints.containsKey(endpoint))
+return savedEndpoints.get(endpoint).get("rack");
 return DEFAULT_RACK;
+}
 return state.getApplicationState(ApplicationState.RACK).value;
 }
 
@@ -103,7 +112,13 @@ public class Ec2Snitch extends 
AbstractNetworkTopologySnitch
 return ec2region;
 EndpointState state = 
Gossiper.instance.getEndpointStateForEndpoint(endpoint);
 if (state == null || state.getApplicationState(ApplicationState.DC) == 
null)
+{
+if (savedEndpoints == null)
+savedEndpoints = SystemTable.loadDcRackInfo();
+if (savedEndpoints.containsKey(endpoint))
+return savedEndpoints.get(endpoint).get("data_center");
 return DEFAULT_DC;
+}
 return state.getApplicationState(ApplicationState.DC).value;
 }
 }



[jira] [Commented] (CASSANDRA-1311) Triggers

2013-01-18 Thread B. Todd Burruss (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-1311?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13557470#comment-13557470
 ] 

B. Todd Burruss commented on CASSANDRA-1311:


in response to the previous comment, i added CASSANDRA-5173, regarding a 
feature that i needed at one time

> Triggers
> 
>
> Key: CASSANDRA-1311
> URL: https://issues.apache.org/jira/browse/CASSANDRA-1311
> Project: Cassandra
>  Issue Type: New Feature
>Reporter: Maxim Grinev
>Assignee: Vijay
> Fix For: 2.0
>
> Attachments: HOWTO-PatchAndRunTriggerExample.txt, 
> HOWTO-PatchAndRunTriggerExample-update1.txt, ImplementationDetails.pdf, 
> ImplementationDetails-update1.pdf, trunk-967053.txt, 
> trunk-984391-update1.txt, trunk-984391-update2.txt
>
>
> Asynchronous triggers is a basic mechanism to implement various use cases of 
> asynchronous execution of application code at database side. For example to 
> support indexes and materialized views, online analytics, push-based data 
> propagation.
> Please find the motivation, triggers description and list of applications:
> http://maxgrinev.com/2010/07/23/extending-cassandra-with-asynchronous-triggers/
> An example of using triggers for indexing:
> http://maxgrinev.com/2010/07/23/managing-indexes-in-cassandra-using-async-triggers/
> Implementation details are attached.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Created] (CASSANDRA-5173) Provide a mechanism to notify listeners when a mutation has occurred (or certain types of mutations have happened)

2013-01-18 Thread B. Todd Burruss (JIRA)
B. Todd Burruss created CASSANDRA-5173:
--

 Summary: Provide a mechanism to notify listeners when a mutation 
has occurred (or certain types of mutations have happened)
 Key: CASSANDRA-5173
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5173
 Project: Cassandra
  Issue Type: Improvement
Reporter: B. Todd Burruss
Priority: Minor


This is related to CASSANDRA-1311 but much less complicated.  I have had the 
desire in the past where my application needed to react to mutations on 
Cassandra that have come from other DCs.  Essentially using Cassandra as the 
storage system of record, but also using its replication as a "bus".

An example of a straightforward use case is a read through caching system that 
can be more intelligent about its data than Cassandra's built in caching - 
providing better performance.  One caching system per DC.  The DC to DC 
replication in Cassandra is nice to keep data in sync, but the external caching 
system must know when a mutation comes from another DC and mark its data as 
dirty - or do whatever.  Combine these notifications with TTLs on the cache and 
you have a fairly robust external caching integration with Cassandra!

To get this integration, the external cache would register a "listener" (in the 
same JVM as Cassandra) for the types of mutations it is interested in, and 
receive an event when the conditions are met.  after that it is the job of the 
listener to do what it needs.

I created a patch on 1.1.4, but then the business decided on another direction. 
 If this is still interesting to the community I can rebase to 1.2 and post the 
patch, but my use case has since passed and I will probably not have time to 
maintain it.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[2/2] git commit: Merge branch 'cassandra-1.2' of https://git-wip-us.apache.org/repos/asf/cassandra into cassandra-1.2

2013-01-18 Thread slebresne
Updated Branches:
  refs/heads/cassandra-1.2 43c9e8156 -> 26fdab378


Merge branch 'cassandra-1.2' of 
https://git-wip-us.apache.org/repos/asf/cassandra into cassandra-1.2


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

Branch: refs/heads/cassandra-1.2
Commit: 26fdab37802fcb6fe7dd875d8366545159d79be7
Parents: 9dcec00 43c9e81
Author: Sylvain Lebresne 
Authored: Fri Jan 18 19:30:08 2013 +0100
Committer: Sylvain Lebresne 
Committed: Fri Jan 18 19:30:08 2013 +0100

--
 src/java/org/apache/cassandra/db/SystemTable.java  |   18 ++-
 src/java/org/apache/cassandra/gms/Gossiper.java|   12 +++-
 .../apache/cassandra/service/StorageService.java   |   40 ---
 .../org/apache/cassandra/db/SystemTableTest.java   |2 +-
 4 files changed, 37 insertions(+), 35 deletions(-)
--




[1/2] git commit: Fix RoundTripTest

2013-01-18 Thread slebresne
Fix RoundTripTest


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

Branch: refs/heads/cassandra-1.2
Commit: 9dcec00dbbe19b4f8090eb023bb754021d228a19
Parents: 056f38c
Author: Sylvain Lebresne 
Authored: Fri Jan 18 19:29:57 2013 +0100
Committer: Sylvain Lebresne 
Committed: Fri Jan 18 19:29:57 2013 +0100

--
 .../apache/cassandra/db/marshal/RoundTripTest.java |   26 ---
 1 files changed, 0 insertions(+), 26 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/9dcec00d/test/unit/org/apache/cassandra/db/marshal/RoundTripTest.java
--
diff --git a/test/unit/org/apache/cassandra/db/marshal/RoundTripTest.java 
b/test/unit/org/apache/cassandra/db/marshal/RoundTripTest.java
index ef34ac5..282bfc3 100644
--- a/test/unit/org/apache/cassandra/db/marshal/RoundTripTest.java
+++ b/test/unit/org/apache/cassandra/db/marshal/RoundTripTest.java
@@ -118,32 +118,6 @@ public class RoundTripTest
 
 assert 
uuid.equals(TimeUUIDType.instance.compose(TimeUUIDType.instance.fromString(uuid.toString(;
 assert JdbcTimeUUID.instance.toString(uuid).equals(uuid.toString());
-
-TimeZone.setDefault(TimeZone.getTimeZone("America/New_York"));
-Calendar c = Calendar.getInstance();
-c.set(Calendar.YEAR, 2011);
-c.set(Calendar.MONTH, Calendar.MARCH);
-c.set(Calendar.DAY_OF_MONTH, 8);
-c.set(Calendar.HOUR_OF_DAY, 0);
-c.set(Calendar.MINUTE, 0);
-c.set(Calendar.SECOND, 0);
-c.set(Calendar.MILLISECOND, 0);
-Long ts = new Long(129956040L);
-assert ts.equals(c.getTimeInMillis()) : c.getTimeInMillis();
-
-// create a uuid with a known time.
-uuid = 
TimeUUIDType.instance.compose(TimeUUIDType.instance.fromString(ts.toString()));
-assert 
uuid.equals(TimeUUIDType.instance.compose(TimeUUIDType.instance.fromString(uuid.toString(;
-assert 
uuid.equals(TimeUUIDType.instance.compose(TimeUUIDType.instance.fromString("2011-03-08
 00:00")));
-assert 
uuid.equals(TimeUUIDType.instance.compose(TimeUUIDType.instance.fromString("2011-03-08
 00:00:00")));
-assert 
uuid.equals(TimeUUIDType.instance.compose(TimeUUIDType.instance.fromString("2011-03-08
 00:00-0500")));
-assert 
uuid.equals(TimeUUIDType.instance.compose(TimeUUIDType.instance.fromString("2011-03-08
 00:00:00-0500")));
-assert 
uuid.equals(TimeUUIDType.instance.compose(TimeUUIDType.instance.fromString("2011-03-08T00:00")));
-assert 
uuid.equals(TimeUUIDType.instance.compose(TimeUUIDType.instance.fromString("2011-03-08T00:00-0500")));
-assert 
uuid.equals(TimeUUIDType.instance.compose(TimeUUIDType.instance.fromString("2011-03-08T00:00:00")));
-assert 
uuid.equals(TimeUUIDType.instance.compose(TimeUUIDType.instance.fromString("2011-03-08T00:00:00-0500")));
-assert 
uuid.equals(TimeUUIDType.instance.compose(TimeUUIDType.instance.fromString("2011-03-08")));
-assert 
uuid.equals(TimeUUIDType.instance.compose(TimeUUIDType.instance.fromString("2011-03-08-0500")));
 }
 
 @Test



[jira] [Commented] (CASSANDRA-5151) Implement better way of eliminating compaction left overs.

2013-01-18 Thread Sylvain Lebresne (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-5151?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13557429#comment-13557429
 ] 

Sylvain Lebresne commented on CASSANDRA-5151:
-

That's true, but we don't store counters in the system tables (and I take on 
myself to veto whomever suggests to change that fact), so it's safe to always 
pick all sstables without consulting the compaction log. In other words I 
suggest special casing the system keyspace on startup so it don't bother with 
the compaction log. As far as I'm prefer, I prefer that many times to relying 
on an external file.

> Implement better way of eliminating compaction left overs.
> --
>
> Key: CASSANDRA-5151
> URL: https://issues.apache.org/jira/browse/CASSANDRA-5151
> Project: Cassandra
>  Issue Type: Bug
>Affects Versions: 1.1.3
>Reporter: Yuki Morishita
>Assignee: Yuki Morishita
> Fix For: 1.2.1
>
> Attachments: 5151-1.2.txt
>
>
> This is from discussion in CASSANDRA-5137. Currently we skip loading SSTables 
> that are left over from incomplete compaction to not over-count counter, but 
> the way we track compaction completion is not secure.
> One possible solution is to create system CF like:
> {code}
> create table compaction_log (
>   id uuid primary key,
>   inputs set,
>   outputs set
> );
> {code}
> to track incomplete compaction.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (CASSANDRA-1311) Triggers

2013-01-18 Thread rektide de la fey (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-1311?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13557422#comment-13557422
 ] 

rektide de la fey commented on CASSANDRA-1311:
--

Hi, this ticket seems well underway and I apologize if chiming in like this is 
inappropriate.

Rather than trying to define work to do as a part of the trigger (as 
conventional databases often do), my chief interest would be simply noting or 
recording certain conditions as they occur, in a way that external systems can 
themselves trigger responsive actions to be taken (hopefully in a low-latency 
fashion).

Decoupling the detection from the follow up processing will make for a far more 
flexible system, and allows for general reactivity in the Cassandra world, 
rather than trying to define a good enough suite of actions can be taken in the 
DB layer proper. Providing hooks which external applications can use to do 
asynchronous trigger actions will also be critical for responsive/reactive 
system design, freeing systems from having to create their own event logs, and 
allowing them to simply monitor what's going on inside the database.

The topic of finding out what execution engine to make, what to do when one is 
triggered, is a huge huge huge undertaking which will certainly not be done 
right. Please please please, decouple the problem into it's component pieces as 
I am requesting: a reactive trigger, which can detect changes and raise 
notices, and secondarily, an execution engine inside Cassandra which can 
subscribe to event sources and perform operations when changes are detected. 
It's vital that external applications have a means to detect & react to 
changes, and doing triggers internally only takes on too small & narcissistic a 
problem, and carries with it the weight of having to build an execution engine 
to do work on the trigger.

> Triggers
> 
>
> Key: CASSANDRA-1311
> URL: https://issues.apache.org/jira/browse/CASSANDRA-1311
> Project: Cassandra
>  Issue Type: New Feature
>Reporter: Maxim Grinev
>Assignee: Vijay
> Fix For: 2.0
>
> Attachments: HOWTO-PatchAndRunTriggerExample.txt, 
> HOWTO-PatchAndRunTriggerExample-update1.txt, ImplementationDetails.pdf, 
> ImplementationDetails-update1.pdf, trunk-967053.txt, 
> trunk-984391-update1.txt, trunk-984391-update2.txt
>
>
> Asynchronous triggers is a basic mechanism to implement various use cases of 
> asynchronous execution of application code at database side. For example to 
> support indexes and materialized views, online analytics, push-based data 
> propagation.
> Please find the motivation, triggers description and list of applications:
> http://maxgrinev.com/2010/07/23/extending-cassandra-with-asynchronous-triggers/
> An example of using triggers for indexing:
> http://maxgrinev.com/2010/07/23/managing-indexes-in-cassandra-using-async-triggers/
> Implementation details are attached.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (CASSANDRA-5151) Implement better way of eliminating compaction left overs.

2013-01-18 Thread Yuki Morishita (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-5151?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13557415#comment-13557415
 ] 

Yuki Morishita commented on CASSANDRA-5151:
---

Yes.

Storing compaction log in system keyspace can be done without problem.
But when the node starts up and tries to eliminate left overs based on query 
result from compaction log, there is a problem.

For example, the node goes down leaving system.schema_keyspaces' compaction 
unfinished and both original sstable(A) and produced sstable(A') remained in 
data dir. What we want when node restarts is that schema_keyspaces only 
references A and discards A'.
So we query compaction log from system ks to determine which sstables are left 
overs. But when we query system ks, cassandra opens whole columnfamilies under 
system ks, and schema_keyspaces already references both A and A' at this time. 
So even though we get the query result, we cannot do anything further.

> Implement better way of eliminating compaction left overs.
> --
>
> Key: CASSANDRA-5151
> URL: https://issues.apache.org/jira/browse/CASSANDRA-5151
> Project: Cassandra
>  Issue Type: Bug
>Affects Versions: 1.1.3
>Reporter: Yuki Morishita
>Assignee: Yuki Morishita
> Fix For: 1.2.1
>
> Attachments: 5151-1.2.txt
>
>
> This is from discussion in CASSANDRA-5137. Currently we skip loading SSTables 
> that are left over from incomplete compaction to not over-count counter, but 
> the way we track compaction completion is not secure.
> One possible solution is to create system CF like:
> {code}
> create table compaction_log (
>   id uuid primary key,
>   inputs set,
>   outputs set
> );
> {code}
> to track incomplete compaction.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-5107) node fails to start because host id is missing

2013-01-18 Thread Brandon Williams (JIRA)

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

Brandon Williams updated CASSANDRA-5107:


Reviewer: slebresne

> node fails to start because host id is missing
> --
>
> Key: CASSANDRA-5107
> URL: https://issues.apache.org/jira/browse/CASSANDRA-5107
> Project: Cassandra
>  Issue Type: Bug
>  Components: Core
>Affects Versions: 1.2.0
>Reporter: Brandon Williams
>Assignee: Brandon Williams
> Fix For: 1.2.1
>
> Attachments: 
> 0001-Preload-gossip-application-states-before-starting.txt
>
>
> I saw this once on dtestbot but couldn't figure it out, but now I've 
> encountered it myself:
> {noformat}
> ERROR 22:04:45,949 Exception encountered during startup
> java.lang.AssertionError
>at 
> org.apache.cassandra.locator.TokenMetadata.updateHostId(TokenMetadata.java:219)
>at 
> org.apache.cassandra.service.StorageService.initServer(StorageService.java:442)
>at 
> org.apache.cassandra.service.StorageService.initServer(StorageService.java:397)
>at 
> org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:309)
>at 
> org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:397)
>at 
> org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:440)
> java.lang.AssertionError
>at 
> org.apache.cassandra.locator.TokenMetadata.updateHostId(TokenMetadata.java:219)
>at 
> org.apache.cassandra.service.StorageService.initServer(StorageService.java:442)
>at 
> org.apache.cassandra.service.StorageService.initServer(StorageService.java:397)
>at 
> org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:309)
>at 
> org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:397)
>at 
> org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:440)
> Exception encountered during startup: null
> {noformat}
> Somehow our own hostid is null sometimes.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


buildbot failure in ASF Buildbot on cassandra-1.1

2013-01-18 Thread buildbot
The Buildbot has detected a new failure on builder cassandra-1.1 while building 
cassandra.
Full details are available at:
 http://ci.apache.org/builders/cassandra-1.1/builds/121

Buildbot URL: http://ci.apache.org/

Buildslave for this Build: portunus_ubuntu

Build Reason: scheduler
Build Source Stamp: [branch cassandra-1.1] 
f930eb79cd4567efaeca44142bf8ea93a181f37e
Blamelist: Yuki Morishita 

BUILD FAILED: failed shell

sincerely,
 -The Buildbot





[jira] [Commented] (CASSANDRA-5107) node fails to start because host id is missing

2013-01-18 Thread Brandon Williams (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-5107?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13557397#comment-13557397
 ] 

Brandon Williams commented on CASSANDRA-5107:
-

bq. Nit: the gossip info are not "pre-loaded", maybe they good for good measure 
(splitting start() into init() and start() would have allowed to reuse the 
gossipSnitchInfo as is

The problem with start/init is propagating the passed in generation, and we 
can't add states until we've added our local state, which is why I added a new 
start() signature instead.  I get what you're saying about gossipSnitchInfo, 
but it's also called from PFS.reloadConfiguration, and since 
addLocalApplicationState does notifications where this 'preload' does not, I 
didn't want to risk breaking anything there.

bq. Also, currently the "gossip snitch infos" comment are misplaced.

Actually I fixed that in a ninja-reupload. :)

Committed 0001, leaving this ticket open to see what happens.

> node fails to start because host id is missing
> --
>
> Key: CASSANDRA-5107
> URL: https://issues.apache.org/jira/browse/CASSANDRA-5107
> Project: Cassandra
>  Issue Type: Bug
>  Components: Core
>Affects Versions: 1.2.0
>Reporter: Brandon Williams
>Assignee: Brandon Williams
> Fix For: 1.2.1
>
> Attachments: 
> 0001-Preload-gossip-application-states-before-starting.txt
>
>
> I saw this once on dtestbot but couldn't figure it out, but now I've 
> encountered it myself:
> {noformat}
> ERROR 22:04:45,949 Exception encountered during startup
> java.lang.AssertionError
>at 
> org.apache.cassandra.locator.TokenMetadata.updateHostId(TokenMetadata.java:219)
>at 
> org.apache.cassandra.service.StorageService.initServer(StorageService.java:442)
>at 
> org.apache.cassandra.service.StorageService.initServer(StorageService.java:397)
>at 
> org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:309)
>at 
> org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:397)
>at 
> org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:440)
> java.lang.AssertionError
>at 
> org.apache.cassandra.locator.TokenMetadata.updateHostId(TokenMetadata.java:219)
>at 
> org.apache.cassandra.service.StorageService.initServer(StorageService.java:442)
>at 
> org.apache.cassandra.service.StorageService.initServer(StorageService.java:397)
>at 
> org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:309)
>at 
> org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:397)
>at 
> org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:440)
> Exception encountered during startup: null
> {noformat}
> Somehow our own hostid is null sometimes.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[2/3] git commit: Preload essential gossip states before startup. Patch by brandonwilliams, reviewed by slebresne for CASSANDRA-5107

2013-01-18 Thread brandonwilliams
Preload essential gossip states before startup.
Patch by brandonwilliams, reviewed by slebresne for CASSANDRA-5107


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

Branch: refs/heads/trunk
Commit: 43c9e8156a5b9ae3fd5fce07f885365538d6ca50
Parents: 4df8fdc
Author: Brandon Williams 
Authored: Fri Jan 18 11:49:47 2013 -0600
Committer: Brandon Williams 
Committed: Fri Jan 18 11:49:47 2013 -0600

--
 src/java/org/apache/cassandra/gms/Gossiper.java|   12 +++--
 .../apache/cassandra/service/StorageService.java   |   18 +++---
 2 files changed, 18 insertions(+), 12 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/43c9e815/src/java/org/apache/cassandra/gms/Gossiper.java
--
diff --git a/src/java/org/apache/cassandra/gms/Gossiper.java 
b/src/java/org/apache/cassandra/gms/Gossiper.java
index d550bb6..9ee2f61 100644
--- a/src/java/org/apache/cassandra/gms/Gossiper.java
+++ b/src/java/org/apache/cassandra/gms/Gossiper.java
@@ -995,11 +995,15 @@ public class Gossiper implements 
IFailureDetectionEventListener, GossiperMBean
 }
 }
 
+public void start(int generationNumber)
+{
+start(generationNumber, new HashMap());
+}
+
 /**
- * Start the gossiper with the generation # retrieved from the System
- * table
+ * Start the gossiper with the generation number, preloading the map of 
application states before starting
  */
-public void start(int generationNbr)
+public void start(int generationNbr, Map 
preloadLocalStates)
 {
 /* Get the seeds from the config and initialize them. */
 Set seedHosts = DatabaseDescriptor.getSeeds();
@@ -1013,6 +1017,8 @@ public class Gossiper implements 
IFailureDetectionEventListener, GossiperMBean
 /* initialize the heartbeat state for this localEndpoint */
 maybeInitializeLocalState(generationNbr);
 EndpointState localState = 
endpointStateMap.get(FBUtilities.getBroadcastAddress());
+for (Map.Entry entry : 
preloadLocalStates.entrySet())
+localState.addApplicationState(entry.getKey(), entry.getValue());
 
 //notify snitches that Gossiper is about to start
 DatabaseDescriptor.getEndpointSnitch().gossiperStarting();

http://git-wip-us.apache.org/repos/asf/cassandra/blob/43c9e815/src/java/org/apache/cassandra/service/StorageService.java
--
diff --git a/src/java/org/apache/cassandra/service/StorageService.java 
b/src/java/org/apache/cassandra/service/StorageService.java
index 4c0a9ce..2f178b6 100644
--- a/src/java/org/apache/cassandra/service/StorageService.java
+++ b/src/java/org/apache/cassandra/service/StorageService.java
@@ -524,24 +524,24 @@ public class StorageService extends 
NotificationBroadcasterSupport implements IE
 // have to start the gossip service before we can see any info on 
other nodes.  this is necessary
 // for bootstrap to get the load info it needs.
 // (we won't be part of the storage ring though until we add a 
counterId to our state, below.)
+Map appStates = new 
HashMap();
+appStates.put(ApplicationState.NET_VERSION, 
valueFactory.networkVersion());
+appStates.put(ApplicationState.HOST_ID, 
valueFactory.hostId(SystemTable.getLocalHostId()));
+appStates.put(ApplicationState.RPC_ADDRESS, 
valueFactory.rpcaddress(DatabaseDescriptor.getRpcAddress()));
+if (0 != DatabaseDescriptor.getReplaceTokens().size())
+appStates.put(ApplicationState.STATUS, 
valueFactory.hibernate(true));
+appStates.put(ApplicationState.RELEASE_VERSION, 
valueFactory.releaseVersion());
 Gossiper.instance.register(this);
 Gossiper.instance.register(migrationManager);
-Gossiper.instance.start(SystemTable.incrementAndGetGeneration()); // 
needed for node-ring gathering.
-// gossip network proto version
-
Gossiper.instance.addLocalApplicationState(ApplicationState.NET_VERSION, 
valueFactory.networkVersion());
-Gossiper.instance.addLocalApplicationState(ApplicationState.HOST_ID, 
valueFactory.hostId(SystemTable.getLocalHostId()));
+Gossiper.instance.start(SystemTable.incrementAndGetGeneration(), 
appStates); // needed for node-ring gathering.
 // gossip snitch infos (local DC and rack)
 gossipSnitchInfo();
+// gossip Schema.emptyVersion forcing immediate check for schema 
updates (see MigrationManager#maybeScheduleSchemaPull)
 Schema.instance.updateVersionAndAnnounce(); // En

[1/3] git commit: Preload essential gossip states before startup. Patch by brandonwilliams, reviewed by slebresne for CASSANDRA-5107

2013-01-18 Thread brandonwilliams
Preload essential gossip states before startup.
Patch by brandonwilliams, reviewed by slebresne for CASSANDRA-5107


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

Branch: refs/heads/cassandra-1.2
Commit: 43c9e8156a5b9ae3fd5fce07f885365538d6ca50
Parents: 4df8fdc
Author: Brandon Williams 
Authored: Fri Jan 18 11:49:47 2013 -0600
Committer: Brandon Williams 
Committed: Fri Jan 18 11:49:47 2013 -0600

--
 src/java/org/apache/cassandra/gms/Gossiper.java|   12 +++--
 .../apache/cassandra/service/StorageService.java   |   18 +++---
 2 files changed, 18 insertions(+), 12 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/43c9e815/src/java/org/apache/cassandra/gms/Gossiper.java
--
diff --git a/src/java/org/apache/cassandra/gms/Gossiper.java 
b/src/java/org/apache/cassandra/gms/Gossiper.java
index d550bb6..9ee2f61 100644
--- a/src/java/org/apache/cassandra/gms/Gossiper.java
+++ b/src/java/org/apache/cassandra/gms/Gossiper.java
@@ -995,11 +995,15 @@ public class Gossiper implements 
IFailureDetectionEventListener, GossiperMBean
 }
 }
 
+public void start(int generationNumber)
+{
+start(generationNumber, new HashMap());
+}
+
 /**
- * Start the gossiper with the generation # retrieved from the System
- * table
+ * Start the gossiper with the generation number, preloading the map of 
application states before starting
  */
-public void start(int generationNbr)
+public void start(int generationNbr, Map 
preloadLocalStates)
 {
 /* Get the seeds from the config and initialize them. */
 Set seedHosts = DatabaseDescriptor.getSeeds();
@@ -1013,6 +1017,8 @@ public class Gossiper implements 
IFailureDetectionEventListener, GossiperMBean
 /* initialize the heartbeat state for this localEndpoint */
 maybeInitializeLocalState(generationNbr);
 EndpointState localState = 
endpointStateMap.get(FBUtilities.getBroadcastAddress());
+for (Map.Entry entry : 
preloadLocalStates.entrySet())
+localState.addApplicationState(entry.getKey(), entry.getValue());
 
 //notify snitches that Gossiper is about to start
 DatabaseDescriptor.getEndpointSnitch().gossiperStarting();

http://git-wip-us.apache.org/repos/asf/cassandra/blob/43c9e815/src/java/org/apache/cassandra/service/StorageService.java
--
diff --git a/src/java/org/apache/cassandra/service/StorageService.java 
b/src/java/org/apache/cassandra/service/StorageService.java
index 4c0a9ce..2f178b6 100644
--- a/src/java/org/apache/cassandra/service/StorageService.java
+++ b/src/java/org/apache/cassandra/service/StorageService.java
@@ -524,24 +524,24 @@ public class StorageService extends 
NotificationBroadcasterSupport implements IE
 // have to start the gossip service before we can see any info on 
other nodes.  this is necessary
 // for bootstrap to get the load info it needs.
 // (we won't be part of the storage ring though until we add a 
counterId to our state, below.)
+Map appStates = new 
HashMap();
+appStates.put(ApplicationState.NET_VERSION, 
valueFactory.networkVersion());
+appStates.put(ApplicationState.HOST_ID, 
valueFactory.hostId(SystemTable.getLocalHostId()));
+appStates.put(ApplicationState.RPC_ADDRESS, 
valueFactory.rpcaddress(DatabaseDescriptor.getRpcAddress()));
+if (0 != DatabaseDescriptor.getReplaceTokens().size())
+appStates.put(ApplicationState.STATUS, 
valueFactory.hibernate(true));
+appStates.put(ApplicationState.RELEASE_VERSION, 
valueFactory.releaseVersion());
 Gossiper.instance.register(this);
 Gossiper.instance.register(migrationManager);
-Gossiper.instance.start(SystemTable.incrementAndGetGeneration()); // 
needed for node-ring gathering.
-// gossip network proto version
-
Gossiper.instance.addLocalApplicationState(ApplicationState.NET_VERSION, 
valueFactory.networkVersion());
-Gossiper.instance.addLocalApplicationState(ApplicationState.HOST_ID, 
valueFactory.hostId(SystemTable.getLocalHostId()));
+Gossiper.instance.start(SystemTable.incrementAndGetGeneration(), 
appStates); // needed for node-ring gathering.
 // gossip snitch infos (local DC and rack)
 gossipSnitchInfo();
+// gossip Schema.emptyVersion forcing immediate check for schema 
updates (see MigrationManager#maybeScheduleSchemaPull)
 Schema.instance.updateVersionAndAnnounce(

[3/3] git commit: Merge branch 'cassandra-1.2' into trunk

2013-01-18 Thread brandonwilliams
Updated Branches:
  refs/heads/cassandra-1.2 4df8fdcde -> 43c9e8156
  refs/heads/trunk 2226e0c94 -> 689410b89


Merge branch 'cassandra-1.2' into trunk


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

Branch: refs/heads/trunk
Commit: 689410b89dfcfe9bbc9baf9ecc441f695272f4e7
Parents: 2226e0c 43c9e81
Author: Brandon Williams 
Authored: Fri Jan 18 11:50:21 2013 -0600
Committer: Brandon Williams 
Committed: Fri Jan 18 11:50:21 2013 -0600

--
 src/java/org/apache/cassandra/gms/Gossiper.java|   12 --
 .../apache/cassandra/service/StorageService.java   |   17 +++
 2 files changed, 17 insertions(+), 12 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/689410b8/src/java/org/apache/cassandra/gms/Gossiper.java
--

http://git-wip-us.apache.org/repos/asf/cassandra/blob/689410b8/src/java/org/apache/cassandra/service/StorageService.java
--



[jira] [Commented] (CASSANDRA-5151) Implement better way of eliminating compaction left overs.

2013-01-18 Thread Jonathan Ellis (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-5151?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13557395#comment-13557395
 ] 

Jonathan Ellis commented on CASSANDRA-5151:
---

You're saying there's a problem with storing data about compacting system 
tables, in a system table?

I think you're right, but can you spell it out with an example?

> Implement better way of eliminating compaction left overs.
> --
>
> Key: CASSANDRA-5151
> URL: https://issues.apache.org/jira/browse/CASSANDRA-5151
> Project: Cassandra
>  Issue Type: Bug
>Affects Versions: 1.1.3
>Reporter: Yuki Morishita
>Assignee: Yuki Morishita
> Fix For: 1.2.1
>
> Attachments: 5151-1.2.txt
>
>
> This is from discussion in CASSANDRA-5137. Currently we skip loading SSTables 
> that are left over from incomplete compaction to not over-count counter, but 
> the way we track compaction completion is not secure.
> One possible solution is to create system CF like:
> {code}
> create table compaction_log (
>   id uuid primary key,
>   inputs set,
>   outputs set
> );
> {code}
> to track incomplete compaction.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[2/6] git commit: fix saved key cache not loading at startup; patch by yukim reviewed by jbellis for CASSANDRA-5166

2013-01-18 Thread yukim
fix saved key cache not loading at startup; patch by yukim reviewed by jbellis 
for CASSANDRA-5166


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

Branch: refs/heads/cassandra-1.2
Commit: f930eb79cd4567efaeca44142bf8ea93a181f37e
Parents: 1311649
Author: Yuki Morishita 
Authored: Fri Jan 18 11:47:01 2013 -0600
Committer: Yuki Morishita 
Committed: Fri Jan 18 11:47:01 2013 -0600

--
 CHANGES.txt|3 +
 .../apache/cassandra/io/sstable/SSTableReader.java |4 +-
 .../cassandra/io/sstable/SSTableReaderTest.java|   32 +++
 3 files changed, 38 insertions(+), 1 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/f930eb79/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index afee142..2a19ed5 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,3 +1,6 @@
+1.1.10
+ * fix saved key cache not loading at startup (CASSANDRA-5166)
+
 1.1.9
  * Simplify CompressedRandomAccessReader to work around JDK FD bug 
(CASSANDRA-5088)
  * Improve handling a changing target throttle rate mid-compaction 
(CASSANDRA-5087)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/f930eb79/src/java/org/apache/cassandra/io/sstable/SSTableReader.java
--
diff --git a/src/java/org/apache/cassandra/io/sstable/SSTableReader.java 
b/src/java/org/apache/cassandra/io/sstable/SSTableReader.java
index f3305b5..18d77ee 100644
--- a/src/java/org/apache/cassandra/io/sstable/SSTableReader.java
+++ b/src/java/org/apache/cassandra/io/sstable/SSTableReader.java
@@ -353,7 +353,9 @@ public class SSTableReader extends SSTable
  */
 private void load(boolean recreatebloom, Set 
keysToLoadInCache) throws IOException
 {
-boolean cacheLoading = keyCache != null && 
!keysToLoadInCache.isEmpty();
+boolean cacheLoading = !keysToLoadInCache.isEmpty();
+if (cacheLoading && keyCache == null)
+keyCache = CacheService.instance.keyCache;
 
 SegmentedFile.Builder ibuilder = 
SegmentedFile.getBuilder(DatabaseDescriptor.getIndexAccessMode());
 SegmentedFile.Builder dbuilder = compression

http://git-wip-us.apache.org/repos/asf/cassandra/blob/f930eb79/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 004dac8..fd0c1c6 100644
--- a/test/unit/org/apache/cassandra/io/sstable/SSTableReaderTest.java
+++ b/test/unit/org/apache/cassandra/io/sstable/SSTableReaderTest.java
@@ -35,7 +35,10 @@ import org.junit.Test;
 
 import org.apache.cassandra.SchemaLoader;
 import org.apache.cassandra.Util;
+import org.apache.cassandra.cache.KeyCacheKey;
+import org.apache.cassandra.config.CFMetaData;
 import org.apache.cassandra.config.DatabaseDescriptor;
+import org.apache.cassandra.config.Schema;
 import org.apache.cassandra.db.*;
 import org.apache.cassandra.db.columniterator.IdentityQueryFilter;
 import org.apache.cassandra.db.compaction.CompactionManager;
@@ -43,6 +46,7 @@ import org.apache.cassandra.db.filter.QueryPath;
 import org.apache.cassandra.dht.IPartitioner;
 import org.apache.cassandra.dht.Range;
 import org.apache.cassandra.dht.Token;
+import org.apache.cassandra.io.util.SequentialWriter;
 import org.apache.cassandra.service.CacheService;
 import org.apache.cassandra.io.util.FileDataInput;
 import org.apache.cassandra.io.util.FileUtils;
@@ -284,6 +288,34 @@ public class SSTableReaderTest extends SchemaLoader
 assert target.last.equals(lastKey);
 }
 
+@Test
+public void testLoadingSavedKeyCache() throws Exception
+{
+final String ks = "Keyspace1";
+final String cf = "Standard1";
+CFMetaData meta = Schema.instance.getCFMetaData(ks, cf);
+Table.clear(ks);
+
+ByteBuffer key = ByteBufferUtil.bytes("key");
+CacheService.instance.keyCache.setCapacity(1024);
+File dir = Directories.create(ks, cf).getDirectoryForNewSSTables(100);
+SSTableSimpleWriter writer = new SSTableSimpleWriter(dir, meta, 
StorageService.getPartitioner());
+writer.newRow(key);
+writer.addColumn(ByteBufferUtil.bytes("col"), 
ByteBufferUtil.EMPTY_BYTE_BUFFER, 1);
+writer.close();
+Descriptor desc = Descriptor.fromFilename(dir, 
String.format("%s-%s-%s-1-Data.db", ks, cf, Descriptor.CURRENT_VERSION)).left;
+
+File cachePath = CacheS

[6/6] git commit: Merge branch 'cassandra-1.2' into trunk

2013-01-18 Thread yukim
Updated Branches:
  refs/heads/cassandra-1.1 1311649b4 -> f930eb79c
  refs/heads/cassandra-1.2 e6b6eaa58 -> 4df8fdcde
  refs/heads/trunk 8b39a1615 -> 2226e0c94


Merge branch 'cassandra-1.2' into trunk


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

Branch: refs/heads/trunk
Commit: 2226e0c9466c34c41053c131adeaf90bbc17e46d
Parents: 8b39a16 4df8fdc
Author: Yuki Morishita 
Authored: Fri Jan 18 11:48:10 2013 -0600
Committer: Yuki Morishita 
Committed: Fri Jan 18 11:48:10 2013 -0600

--

--




[5/6] git commit: Merge branch 'cassandra-1.1' into cassandra-1.2

2013-01-18 Thread yukim
Merge branch 'cassandra-1.1' into cassandra-1.2


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

Branch: refs/heads/cassandra-1.2
Commit: 4df8fdcdeed627885608dd43f397d40f2e1074c3
Parents: e6b6eaa f930eb7
Author: Yuki Morishita 
Authored: Fri Jan 18 11:47:46 2013 -0600
Committer: Yuki Morishita 
Committed: Fri Jan 18 11:47:46 2013 -0600

--

--




[3/6] git commit: fix saved key cache not loading at startup; patch by yukim reviewed by jbellis for CASSANDRA-5166

2013-01-18 Thread yukim
fix saved key cache not loading at startup; patch by yukim reviewed by jbellis 
for CASSANDRA-5166


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

Branch: refs/heads/trunk
Commit: f930eb79cd4567efaeca44142bf8ea93a181f37e
Parents: 1311649
Author: Yuki Morishita 
Authored: Fri Jan 18 11:47:01 2013 -0600
Committer: Yuki Morishita 
Committed: Fri Jan 18 11:47:01 2013 -0600

--
 CHANGES.txt|3 +
 .../apache/cassandra/io/sstable/SSTableReader.java |4 +-
 .../cassandra/io/sstable/SSTableReaderTest.java|   32 +++
 3 files changed, 38 insertions(+), 1 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/f930eb79/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index afee142..2a19ed5 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,3 +1,6 @@
+1.1.10
+ * fix saved key cache not loading at startup (CASSANDRA-5166)
+
 1.1.9
  * Simplify CompressedRandomAccessReader to work around JDK FD bug 
(CASSANDRA-5088)
  * Improve handling a changing target throttle rate mid-compaction 
(CASSANDRA-5087)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/f930eb79/src/java/org/apache/cassandra/io/sstable/SSTableReader.java
--
diff --git a/src/java/org/apache/cassandra/io/sstable/SSTableReader.java 
b/src/java/org/apache/cassandra/io/sstable/SSTableReader.java
index f3305b5..18d77ee 100644
--- a/src/java/org/apache/cassandra/io/sstable/SSTableReader.java
+++ b/src/java/org/apache/cassandra/io/sstable/SSTableReader.java
@@ -353,7 +353,9 @@ public class SSTableReader extends SSTable
  */
 private void load(boolean recreatebloom, Set 
keysToLoadInCache) throws IOException
 {
-boolean cacheLoading = keyCache != null && 
!keysToLoadInCache.isEmpty();
+boolean cacheLoading = !keysToLoadInCache.isEmpty();
+if (cacheLoading && keyCache == null)
+keyCache = CacheService.instance.keyCache;
 
 SegmentedFile.Builder ibuilder = 
SegmentedFile.getBuilder(DatabaseDescriptor.getIndexAccessMode());
 SegmentedFile.Builder dbuilder = compression

http://git-wip-us.apache.org/repos/asf/cassandra/blob/f930eb79/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 004dac8..fd0c1c6 100644
--- a/test/unit/org/apache/cassandra/io/sstable/SSTableReaderTest.java
+++ b/test/unit/org/apache/cassandra/io/sstable/SSTableReaderTest.java
@@ -35,7 +35,10 @@ import org.junit.Test;
 
 import org.apache.cassandra.SchemaLoader;
 import org.apache.cassandra.Util;
+import org.apache.cassandra.cache.KeyCacheKey;
+import org.apache.cassandra.config.CFMetaData;
 import org.apache.cassandra.config.DatabaseDescriptor;
+import org.apache.cassandra.config.Schema;
 import org.apache.cassandra.db.*;
 import org.apache.cassandra.db.columniterator.IdentityQueryFilter;
 import org.apache.cassandra.db.compaction.CompactionManager;
@@ -43,6 +46,7 @@ import org.apache.cassandra.db.filter.QueryPath;
 import org.apache.cassandra.dht.IPartitioner;
 import org.apache.cassandra.dht.Range;
 import org.apache.cassandra.dht.Token;
+import org.apache.cassandra.io.util.SequentialWriter;
 import org.apache.cassandra.service.CacheService;
 import org.apache.cassandra.io.util.FileDataInput;
 import org.apache.cassandra.io.util.FileUtils;
@@ -284,6 +288,34 @@ public class SSTableReaderTest extends SchemaLoader
 assert target.last.equals(lastKey);
 }
 
+@Test
+public void testLoadingSavedKeyCache() throws Exception
+{
+final String ks = "Keyspace1";
+final String cf = "Standard1";
+CFMetaData meta = Schema.instance.getCFMetaData(ks, cf);
+Table.clear(ks);
+
+ByteBuffer key = ByteBufferUtil.bytes("key");
+CacheService.instance.keyCache.setCapacity(1024);
+File dir = Directories.create(ks, cf).getDirectoryForNewSSTables(100);
+SSTableSimpleWriter writer = new SSTableSimpleWriter(dir, meta, 
StorageService.getPartitioner());
+writer.newRow(key);
+writer.addColumn(ByteBufferUtil.bytes("col"), 
ByteBufferUtil.EMPTY_BYTE_BUFFER, 1);
+writer.close();
+Descriptor desc = Descriptor.fromFilename(dir, 
String.format("%s-%s-%s-1-Data.db", ks, cf, Descriptor.CURRENT_VERSION)).left;
+
+File cachePath = CacheService.i

[4/6] git commit: Merge branch 'cassandra-1.1' into cassandra-1.2

2013-01-18 Thread yukim
Merge branch 'cassandra-1.1' into cassandra-1.2


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

Branch: refs/heads/trunk
Commit: 4df8fdcdeed627885608dd43f397d40f2e1074c3
Parents: e6b6eaa f930eb7
Author: Yuki Morishita 
Authored: Fri Jan 18 11:47:46 2013 -0600
Committer: Yuki Morishita 
Committed: Fri Jan 18 11:47:46 2013 -0600

--

--




[1/6] git commit: fix saved key cache not loading at startup; patch by yukim reviewed by jbellis for CASSANDRA-5166

2013-01-18 Thread yukim
fix saved key cache not loading at startup; patch by yukim reviewed by jbellis 
for CASSANDRA-5166


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

Branch: refs/heads/cassandra-1.1
Commit: f930eb79cd4567efaeca44142bf8ea93a181f37e
Parents: 1311649
Author: Yuki Morishita 
Authored: Fri Jan 18 11:47:01 2013 -0600
Committer: Yuki Morishita 
Committed: Fri Jan 18 11:47:01 2013 -0600

--
 CHANGES.txt|3 +
 .../apache/cassandra/io/sstable/SSTableReader.java |4 +-
 .../cassandra/io/sstable/SSTableReaderTest.java|   32 +++
 3 files changed, 38 insertions(+), 1 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/f930eb79/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index afee142..2a19ed5 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,3 +1,6 @@
+1.1.10
+ * fix saved key cache not loading at startup (CASSANDRA-5166)
+
 1.1.9
  * Simplify CompressedRandomAccessReader to work around JDK FD bug 
(CASSANDRA-5088)
  * Improve handling a changing target throttle rate mid-compaction 
(CASSANDRA-5087)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/f930eb79/src/java/org/apache/cassandra/io/sstable/SSTableReader.java
--
diff --git a/src/java/org/apache/cassandra/io/sstable/SSTableReader.java 
b/src/java/org/apache/cassandra/io/sstable/SSTableReader.java
index f3305b5..18d77ee 100644
--- a/src/java/org/apache/cassandra/io/sstable/SSTableReader.java
+++ b/src/java/org/apache/cassandra/io/sstable/SSTableReader.java
@@ -353,7 +353,9 @@ public class SSTableReader extends SSTable
  */
 private void load(boolean recreatebloom, Set 
keysToLoadInCache) throws IOException
 {
-boolean cacheLoading = keyCache != null && 
!keysToLoadInCache.isEmpty();
+boolean cacheLoading = !keysToLoadInCache.isEmpty();
+if (cacheLoading && keyCache == null)
+keyCache = CacheService.instance.keyCache;
 
 SegmentedFile.Builder ibuilder = 
SegmentedFile.getBuilder(DatabaseDescriptor.getIndexAccessMode());
 SegmentedFile.Builder dbuilder = compression

http://git-wip-us.apache.org/repos/asf/cassandra/blob/f930eb79/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 004dac8..fd0c1c6 100644
--- a/test/unit/org/apache/cassandra/io/sstable/SSTableReaderTest.java
+++ b/test/unit/org/apache/cassandra/io/sstable/SSTableReaderTest.java
@@ -35,7 +35,10 @@ import org.junit.Test;
 
 import org.apache.cassandra.SchemaLoader;
 import org.apache.cassandra.Util;
+import org.apache.cassandra.cache.KeyCacheKey;
+import org.apache.cassandra.config.CFMetaData;
 import org.apache.cassandra.config.DatabaseDescriptor;
+import org.apache.cassandra.config.Schema;
 import org.apache.cassandra.db.*;
 import org.apache.cassandra.db.columniterator.IdentityQueryFilter;
 import org.apache.cassandra.db.compaction.CompactionManager;
@@ -43,6 +46,7 @@ import org.apache.cassandra.db.filter.QueryPath;
 import org.apache.cassandra.dht.IPartitioner;
 import org.apache.cassandra.dht.Range;
 import org.apache.cassandra.dht.Token;
+import org.apache.cassandra.io.util.SequentialWriter;
 import org.apache.cassandra.service.CacheService;
 import org.apache.cassandra.io.util.FileDataInput;
 import org.apache.cassandra.io.util.FileUtils;
@@ -284,6 +288,34 @@ public class SSTableReaderTest extends SchemaLoader
 assert target.last.equals(lastKey);
 }
 
+@Test
+public void testLoadingSavedKeyCache() throws Exception
+{
+final String ks = "Keyspace1";
+final String cf = "Standard1";
+CFMetaData meta = Schema.instance.getCFMetaData(ks, cf);
+Table.clear(ks);
+
+ByteBuffer key = ByteBufferUtil.bytes("key");
+CacheService.instance.keyCache.setCapacity(1024);
+File dir = Directories.create(ks, cf).getDirectoryForNewSSTables(100);
+SSTableSimpleWriter writer = new SSTableSimpleWriter(dir, meta, 
StorageService.getPartitioner());
+writer.newRow(key);
+writer.addColumn(ByteBufferUtil.bytes("col"), 
ByteBufferUtil.EMPTY_BYTE_BUFFER, 1);
+writer.close();
+Descriptor desc = Descriptor.fromFilename(dir, 
String.format("%s-%s-%s-1-Data.db", ks, cf, Descriptor.CURRENT_VERSION)).left;
+
+File cachePath = CacheS

[jira] [Commented] (CASSANDRA-5151) Implement better way of eliminating compaction left overs.

2013-01-18 Thread Yuki Morishita (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-5151?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13557385#comment-13557385
 ] 

Yuki Morishita commented on CASSANDRA-5151:
---

If we use CQL, we cannot clean up left-overs in system keyspace before opening 
it since columnfamilies under system keyspace is open at the time we issue CQL.

> Implement better way of eliminating compaction left overs.
> --
>
> Key: CASSANDRA-5151
> URL: https://issues.apache.org/jira/browse/CASSANDRA-5151
> Project: Cassandra
>  Issue Type: Bug
>Affects Versions: 1.1.3
>Reporter: Yuki Morishita
>Assignee: Yuki Morishita
> Fix For: 1.2.1
>
> Attachments: 5151-1.2.txt
>
>
> This is from discussion in CASSANDRA-5137. Currently we skip loading SSTables 
> that are left over from incomplete compaction to not over-count counter, but 
> the way we track compaction completion is not secure.
> One possible solution is to create system CF like:
> {code}
> create table compaction_log (
>   id uuid primary key,
>   inputs set,
>   outputs set
> );
> {code}
> to track incomplete compaction.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (CASSANDRA-5107) node fails to start because host id is missing

2013-01-18 Thread Sylvain Lebresne (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-5107?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13557384#comment-13557384
 ] 

Sylvain Lebresne commented on CASSANDRA-5107:
-

Nit: the gossip info are not "pre-loaded", maybe they good for good measure 
(splitting start() into init() and start() would have allowed to reuse the 
gossipSnitchInfo as is :), though I'm fine with duplicating the 2 lines of that 
function if you prefer). Also, currently the "gossip snitch infos" comment are 
misplaced.

But that's details, +1 in any case.

bq. I'm not convinced this is the cause

I'm not either, but I don't see anything else so far. Besides, I've seen dtest 
getting to a bit of crawl for some tests that were involving many nodes, so 
it's far fetched, but not impossible.

> node fails to start because host id is missing
> --
>
> Key: CASSANDRA-5107
> URL: https://issues.apache.org/jira/browse/CASSANDRA-5107
> Project: Cassandra
>  Issue Type: Bug
>  Components: Core
>Affects Versions: 1.2.0
>Reporter: Brandon Williams
>Assignee: Brandon Williams
> Fix For: 1.2.1
>
> Attachments: 
> 0001-Preload-gossip-application-states-before-starting.txt
>
>
> I saw this once on dtestbot but couldn't figure it out, but now I've 
> encountered it myself:
> {noformat}
> ERROR 22:04:45,949 Exception encountered during startup
> java.lang.AssertionError
>at 
> org.apache.cassandra.locator.TokenMetadata.updateHostId(TokenMetadata.java:219)
>at 
> org.apache.cassandra.service.StorageService.initServer(StorageService.java:442)
>at 
> org.apache.cassandra.service.StorageService.initServer(StorageService.java:397)
>at 
> org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:309)
>at 
> org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:397)
>at 
> org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:440)
> java.lang.AssertionError
>at 
> org.apache.cassandra.locator.TokenMetadata.updateHostId(TokenMetadata.java:219)
>at 
> org.apache.cassandra.service.StorageService.initServer(StorageService.java:442)
>at 
> org.apache.cassandra.service.StorageService.initServer(StorageService.java:397)
>at 
> org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:309)
>at 
> org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:397)
>at 
> org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:440)
> Exception encountered during startup: null
> {noformat}
> Somehow our own hostid is null sometimes.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-5107) node fails to start because host id is missing

2013-01-18 Thread Brandon Williams (JIRA)

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

Brandon Williams updated CASSANDRA-5107:


Attachment: (was: 
0001-Preload-gossip-application-states-before-starting.txt)

> node fails to start because host id is missing
> --
>
> Key: CASSANDRA-5107
> URL: https://issues.apache.org/jira/browse/CASSANDRA-5107
> Project: Cassandra
>  Issue Type: Bug
>  Components: Core
>Affects Versions: 1.2.0
>Reporter: Brandon Williams
>Assignee: Brandon Williams
> Fix For: 1.2.1
>
> Attachments: 
> 0001-Preload-gossip-application-states-before-starting.txt
>
>
> I saw this once on dtestbot but couldn't figure it out, but now I've 
> encountered it myself:
> {noformat}
> ERROR 22:04:45,949 Exception encountered during startup
> java.lang.AssertionError
>at 
> org.apache.cassandra.locator.TokenMetadata.updateHostId(TokenMetadata.java:219)
>at 
> org.apache.cassandra.service.StorageService.initServer(StorageService.java:442)
>at 
> org.apache.cassandra.service.StorageService.initServer(StorageService.java:397)
>at 
> org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:309)
>at 
> org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:397)
>at 
> org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:440)
> java.lang.AssertionError
>at 
> org.apache.cassandra.locator.TokenMetadata.updateHostId(TokenMetadata.java:219)
>at 
> org.apache.cassandra.service.StorageService.initServer(StorageService.java:442)
>at 
> org.apache.cassandra.service.StorageService.initServer(StorageService.java:397)
>at 
> org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:309)
>at 
> org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:397)
>at 
> org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:440)
> Exception encountered during startup: null
> {noformat}
> Somehow our own hostid is null sometimes.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-5107) node fails to start because host id is missing

2013-01-18 Thread Brandon Williams (JIRA)

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

Brandon Williams updated CASSANDRA-5107:


Attachment: 0001-Preload-gossip-application-states-before-starting.txt

> node fails to start because host id is missing
> --
>
> Key: CASSANDRA-5107
> URL: https://issues.apache.org/jira/browse/CASSANDRA-5107
> Project: Cassandra
>  Issue Type: Bug
>  Components: Core
>Affects Versions: 1.2.0
>Reporter: Brandon Williams
>Assignee: Brandon Williams
> Fix For: 1.2.1
>
> Attachments: 
> 0001-Preload-gossip-application-states-before-starting.txt
>
>
> I saw this once on dtestbot but couldn't figure it out, but now I've 
> encountered it myself:
> {noformat}
> ERROR 22:04:45,949 Exception encountered during startup
> java.lang.AssertionError
>at 
> org.apache.cassandra.locator.TokenMetadata.updateHostId(TokenMetadata.java:219)
>at 
> org.apache.cassandra.service.StorageService.initServer(StorageService.java:442)
>at 
> org.apache.cassandra.service.StorageService.initServer(StorageService.java:397)
>at 
> org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:309)
>at 
> org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:397)
>at 
> org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:440)
> java.lang.AssertionError
>at 
> org.apache.cassandra.locator.TokenMetadata.updateHostId(TokenMetadata.java:219)
>at 
> org.apache.cassandra.service.StorageService.initServer(StorageService.java:442)
>at 
> org.apache.cassandra.service.StorageService.initServer(StorageService.java:397)
>at 
> org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:309)
>at 
> org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:397)
>at 
> org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:440)
> Exception encountered during startup: null
> {noformat}
> Somehow our own hostid is null sometimes.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-5107) node fails to start because host id is missing

2013-01-18 Thread Brandon Williams (JIRA)

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

Brandon Williams updated CASSANDRA-5107:


Attachment: 0001-Preload-gossip-application-states-before-starting.txt

I'm not convinced this is the cause, but you're right that this seems dangerous 
regardless.  Patch to preload essential gossip states before starting the 
gossiper.

> node fails to start because host id is missing
> --
>
> Key: CASSANDRA-5107
> URL: https://issues.apache.org/jira/browse/CASSANDRA-5107
> Project: Cassandra
>  Issue Type: Bug
>  Components: Core
>Affects Versions: 1.2.0
>Reporter: Brandon Williams
>Assignee: Brandon Williams
> Fix For: 1.2.1
>
> Attachments: 
> 0001-Preload-gossip-application-states-before-starting.txt
>
>
> I saw this once on dtestbot but couldn't figure it out, but now I've 
> encountered it myself:
> {noformat}
> ERROR 22:04:45,949 Exception encountered during startup
> java.lang.AssertionError
>at 
> org.apache.cassandra.locator.TokenMetadata.updateHostId(TokenMetadata.java:219)
>at 
> org.apache.cassandra.service.StorageService.initServer(StorageService.java:442)
>at 
> org.apache.cassandra.service.StorageService.initServer(StorageService.java:397)
>at 
> org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:309)
>at 
> org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:397)
>at 
> org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:440)
> java.lang.AssertionError
>at 
> org.apache.cassandra.locator.TokenMetadata.updateHostId(TokenMetadata.java:219)
>at 
> org.apache.cassandra.service.StorageService.initServer(StorageService.java:442)
>at 
> org.apache.cassandra.service.StorageService.initServer(StorageService.java:397)
>at 
> org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:309)
>at 
> org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:397)
>at 
> org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:440)
> Exception encountered during startup: null
> {noformat}
> Somehow our own hostid is null sometimes.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[Cassandra Wiki] Trivial Update of "Casey89G" by Casey89G

2013-01-18 Thread Apache Wiki
Dear Wiki user,

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

The "Casey89G" page has been changed by Casey89G:
http://wiki.apache.org/cassandra/Casey89G?action=diff&rev1=1&rev2=2

- It's insidious nature and habits are actually revolting, but perhaps worse 
that it is life cycle could be the undeniable fact that humans may become 
infected with the tapeworm. If it advances it's going to usually move down 
first towards the inner thighs.<><>Susan's Girls-Only Weight Loss 
Guide," the best time and energy to combat obesity is within childhood, before 
destructive habits also have years to root.<><>Take a look at my site 
[[http://www.phen375factsheet.com/|phen375]]
+ The Chinese believe you will need to perform a 1000 steps each 
day.<><>Enemas are generally only given to get rid of stools from your 
colon for a colonoscopy or a major surgery regarding the gastrointestinal 
tract. I started a regime of vitamins, bodywork, massage, Jin Shin Jyutsu- kind 
of acupressure soaking in hot springs, etc.<><><>Here is my blog :: 
[[http://www.phen375factsheet.com/|http://www.phen375factsheet.com]]
  


[2/3] git commit: Remove endpoints from system.peers correctly. Patch by brandonwilliams reviewed by slebresne for CASSANDRA-5167

2013-01-18 Thread brandonwilliams
Remove endpoints from system.peers correctly.
Patch by brandonwilliams reviewed by slebresne for CASSANDRA-5167


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

Branch: refs/heads/trunk
Commit: e6b6eaa583e8fc15f03c3e27664bf7fc06b3af0a
Parents: 056f38c
Author: Brandon Williams 
Authored: Fri Jan 18 10:19:00 2013 -0600
Committer: Brandon Williams 
Committed: Fri Jan 18 10:19:00 2013 -0600

--
 src/java/org/apache/cassandra/db/SystemTable.java  |   18 +++-
 .../apache/cassandra/service/StorageService.java   |   22 +--
 .../org/apache/cassandra/db/SystemTableTest.java   |2 +-
 3 files changed, 19 insertions(+), 23 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/e6b6eaa5/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 84d6e78..8d4bef2 100644
--- a/src/java/org/apache/cassandra/db/SystemTable.java
+++ b/src/java/org/apache/cassandra/db/SystemTable.java
@@ -249,7 +249,7 @@ public class SystemTable
 {
 if (ep.equals(FBUtilities.getBroadcastAddress()))
 {
-removeTokens(tokens);
+removeEndpoint(ep);
 return;
 }
 
@@ -301,18 +301,10 @@ public class SystemTable
 /**
  * Remove stored tokens being used by another node
  */
-public static synchronized void removeTokens(Collection tokens)
+public static synchronized void removeEndpoint(InetAddress ep)
 {
-Set tokenSet = new HashSet(tokens);
-for (Map.Entry> entry : 
loadTokens().asMap().entrySet())
-{
-Set toRemove = Sets.intersection(tokenSet, 
((Set)entry.getValue())).immutableCopy();
-if (toRemove.isEmpty())
-continue;
-
-String req = "UPDATE system.%s SET tokens = tokens - %s WHERE peer 
= '%s'";
-processInternal(String.format(req, PEERS_CF, 
tokensAsSet(toRemove), entry.getKey().getHostAddress()));
-}
+String req = "DELETE FROM system.%s WHERE peer = '%s'";
+processInternal(String.format(req, PEERS_CF, ep.getHostAddress()));
 forceBlockingFlush(PEERS_CF);
 }
 
@@ -321,7 +313,7 @@ public class SystemTable
 */
 public static synchronized void updateTokens(Collection tokens)
 {
-assert !tokens.isEmpty() : "removeTokens should be used instead";
+assert !tokens.isEmpty() : "removeEndpoint should be used instead";
 String req = "INSERT INTO system.%s (key, tokens) VALUES ('%s', %s)";
 processInternal(String.format(req, LOCAL_CF, LOCAL_KEY, 
tokensAsSet(tokens)));
 forceBlockingFlush(LOCAL_CF);

http://git-wip-us.apache.org/repos/asf/cassandra/blob/e6b6eaa5/src/java/org/apache/cassandra/service/StorageService.java
--
diff --git a/src/java/org/apache/cassandra/service/StorageService.java 
b/src/java/org/apache/cassandra/service/StorageService.java
index e57cfe4..4c0a9ce 100644
--- a/src/java/org/apache/cassandra/service/StorageService.java
+++ b/src/java/org/apache/cassandra/service/StorageService.java
@@ -443,7 +443,7 @@ public class StorageService extends 
NotificationBroadcasterSupport implements IE
 if (ep.equals(FBUtilities.getBroadcastAddress()))
 {
 // entry has been mistakenly added, delete it
-SystemTable.removeTokens(loadedTokens.get(ep));
+SystemTable.removeEndpoint(ep);
 }
 else
 {
@@ -1387,7 +1387,7 @@ public class StorageService extends 
NotificationBroadcasterSupport implements IE
 
 tokenMetadata.updateNormalTokens(tokensToUpdateInMetadata, endpoint);
 for (InetAddress ep : endpointsToRemove)
-Gossiper.instance.removeEndpoint(ep);
+removeEndpoint(ep);
 if (!tokensToUpdateInSystemTable.isEmpty())
 SystemTable.updateTokens(endpoint, tokensToUpdateInSystemTable);
 if (!localTokensToRemove.isEmpty())
@@ -1549,13 +1549,14 @@ public class StorageService extends 
NotificationBroadcasterSupport implements IE
 }
 }
 else // now that the gossiper has told us about this nonexistent 
member, notify the gossiper to remove it
-Gossiper.instance.removeEndpoint(endpoint);
+removeEndpoint(endpoint);
 }
 
 private void excise(Collection tokens, InetAddress endpoint)
 {
+logger.inf

[1/3] git commit: Remove endpoints from system.peers correctly. Patch by brandonwilliams reviewed by slebresne for CASSANDRA-5167

2013-01-18 Thread brandonwilliams
Remove endpoints from system.peers correctly.
Patch by brandonwilliams reviewed by slebresne for CASSANDRA-5167


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

Branch: refs/heads/cassandra-1.2
Commit: e6b6eaa583e8fc15f03c3e27664bf7fc06b3af0a
Parents: 056f38c
Author: Brandon Williams 
Authored: Fri Jan 18 10:19:00 2013 -0600
Committer: Brandon Williams 
Committed: Fri Jan 18 10:19:00 2013 -0600

--
 src/java/org/apache/cassandra/db/SystemTable.java  |   18 +++-
 .../apache/cassandra/service/StorageService.java   |   22 +--
 .../org/apache/cassandra/db/SystemTableTest.java   |2 +-
 3 files changed, 19 insertions(+), 23 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/e6b6eaa5/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 84d6e78..8d4bef2 100644
--- a/src/java/org/apache/cassandra/db/SystemTable.java
+++ b/src/java/org/apache/cassandra/db/SystemTable.java
@@ -249,7 +249,7 @@ public class SystemTable
 {
 if (ep.equals(FBUtilities.getBroadcastAddress()))
 {
-removeTokens(tokens);
+removeEndpoint(ep);
 return;
 }
 
@@ -301,18 +301,10 @@ public class SystemTable
 /**
  * Remove stored tokens being used by another node
  */
-public static synchronized void removeTokens(Collection tokens)
+public static synchronized void removeEndpoint(InetAddress ep)
 {
-Set tokenSet = new HashSet(tokens);
-for (Map.Entry> entry : 
loadTokens().asMap().entrySet())
-{
-Set toRemove = Sets.intersection(tokenSet, 
((Set)entry.getValue())).immutableCopy();
-if (toRemove.isEmpty())
-continue;
-
-String req = "UPDATE system.%s SET tokens = tokens - %s WHERE peer 
= '%s'";
-processInternal(String.format(req, PEERS_CF, 
tokensAsSet(toRemove), entry.getKey().getHostAddress()));
-}
+String req = "DELETE FROM system.%s WHERE peer = '%s'";
+processInternal(String.format(req, PEERS_CF, ep.getHostAddress()));
 forceBlockingFlush(PEERS_CF);
 }
 
@@ -321,7 +313,7 @@ public class SystemTable
 */
 public static synchronized void updateTokens(Collection tokens)
 {
-assert !tokens.isEmpty() : "removeTokens should be used instead";
+assert !tokens.isEmpty() : "removeEndpoint should be used instead";
 String req = "INSERT INTO system.%s (key, tokens) VALUES ('%s', %s)";
 processInternal(String.format(req, LOCAL_CF, LOCAL_KEY, 
tokensAsSet(tokens)));
 forceBlockingFlush(LOCAL_CF);

http://git-wip-us.apache.org/repos/asf/cassandra/blob/e6b6eaa5/src/java/org/apache/cassandra/service/StorageService.java
--
diff --git a/src/java/org/apache/cassandra/service/StorageService.java 
b/src/java/org/apache/cassandra/service/StorageService.java
index e57cfe4..4c0a9ce 100644
--- a/src/java/org/apache/cassandra/service/StorageService.java
+++ b/src/java/org/apache/cassandra/service/StorageService.java
@@ -443,7 +443,7 @@ public class StorageService extends 
NotificationBroadcasterSupport implements IE
 if (ep.equals(FBUtilities.getBroadcastAddress()))
 {
 // entry has been mistakenly added, delete it
-SystemTable.removeTokens(loadedTokens.get(ep));
+SystemTable.removeEndpoint(ep);
 }
 else
 {
@@ -1387,7 +1387,7 @@ public class StorageService extends 
NotificationBroadcasterSupport implements IE
 
 tokenMetadata.updateNormalTokens(tokensToUpdateInMetadata, endpoint);
 for (InetAddress ep : endpointsToRemove)
-Gossiper.instance.removeEndpoint(ep);
+removeEndpoint(ep);
 if (!tokensToUpdateInSystemTable.isEmpty())
 SystemTable.updateTokens(endpoint, tokensToUpdateInSystemTable);
 if (!localTokensToRemove.isEmpty())
@@ -1549,13 +1549,14 @@ public class StorageService extends 
NotificationBroadcasterSupport implements IE
 }
 }
 else // now that the gossiper has told us about this nonexistent 
member, notify the gossiper to remove it
-Gossiper.instance.removeEndpoint(endpoint);
+removeEndpoint(endpoint);
 }
 
 private void excise(Collection tokens, InetAddress endpoint)
 {
+lo

[3/3] git commit: Merge branch 'cassandra-1.2' into trunk

2013-01-18 Thread brandonwilliams
Updated Branches:
  refs/heads/cassandra-1.2 056f38cc1 -> e6b6eaa58
  refs/heads/trunk 66b9d114e -> 8b39a1615


Merge branch 'cassandra-1.2' into trunk


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

Branch: refs/heads/trunk
Commit: 8b39a1615804e853541d46b9f79c8aeef55c8969
Parents: 66b9d11 e6b6eaa
Author: Brandon Williams 
Authored: Fri Jan 18 10:19:52 2013 -0600
Committer: Brandon Williams 
Committed: Fri Jan 18 10:19:52 2013 -0600

--
 src/java/org/apache/cassandra/db/SystemTable.java  |   18 +++-
 .../apache/cassandra/service/StorageService.java   |   22 +--
 .../org/apache/cassandra/db/SystemTableTest.java   |2 +-
 3 files changed, 19 insertions(+), 23 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/8b39a161/src/java/org/apache/cassandra/db/SystemTable.java
--

http://git-wip-us.apache.org/repos/asf/cassandra/blob/8b39a161/src/java/org/apache/cassandra/service/StorageService.java
--



[jira] [Commented] (CASSANDRA-5167) Node isn't removed from system.peers after 'nodetool removenode'

2013-01-18 Thread Sylvain Lebresne (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-5167?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13557312#comment-13557312
 ] 

Sylvain Lebresne commented on CASSANDRA-5167:
-

+1 with the nit that in excise I think we can call the new removeEndpoint 
instead of doing both call separately.

> Node isn't removed from system.peers after 'nodetool removenode'
> 
>
> Key: CASSANDRA-5167
> URL: https://issues.apache.org/jira/browse/CASSANDRA-5167
> Project: Cassandra
>  Issue Type: Bug
>Affects Versions: 1.2.0
> Environment: Ubuntu 12.10, Java 1.7.0_09 (OpenJDK)
>Reporter: Nicolai Gylling
>Assignee: Brandon Williams
>Priority: Minor
> Fix For: 1.2.1
>
> Attachments: 5167.txt, 5167-v2.txt
>
>
> In a 3 node live cluster - After a replacement of a dead node, the old node 
> remains in the system.peers table, even after running 'nodetool removenode 
> '.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[2/3] git commit: Detect (and warn) unintentional use of the cql2 thrift methods when cql3 was intended

2013-01-18 Thread slebresne
Detect (and warn) unintentional use of the cql2 thrift methods when cql3 was 
intended

patch by slebresne; reviewed by jbellis for CASSANDRA-5172


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

Branch: refs/heads/trunk
Commit: 056f38cc185702c865eb1d4a2f1ed1599300e1d3
Parents: 19972bd
Author: Sylvain Lebresne 
Authored: Fri Jan 18 17:03:23 2013 +0100
Committer: Sylvain Lebresne 
Committed: Fri Jan 18 17:03:23 2013 +0100

--
 CHANGES.txt|2 ++
 NEWS.txt   |5 +
 .../apache/cassandra/thrift/CassandraServer.java   |   11 ++-
 3 files changed, 17 insertions(+), 1 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/056f38cc/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 16172ec..86743ca 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -40,6 +40,8 @@
  * Coverage analysis for low-CL queries (CASSANDRA-4858)
  * Stop interpreting dates as valid timeUUID value (CASSANDRA-4936)
  * Adds E notation for floating point numbers (CASSANDRA-4927)
+ * Detect (and warn) unintentional use of the cql2 thrift methods when cql3 was
+   intended (CASSANDRA-5172)
 Merged from 1.1:
  * Simplify CompressedRandomAccessReader to work around JDK FD bug 
(CASSANDRA-5088)
  * Improve handling a changing target throttle rate mid-compaction 
(CASSANDRA-5087)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/056f38cc/NEWS.txt
--
diff --git a/NEWS.txt b/NEWS.txt
index 3902d05..e1e842c 100644
--- a/NEWS.txt
+++ b/NEWS.txt
@@ -21,6 +21,11 @@ Upgrading
   representation), but the new dateOf method can be used instead. Please
   refer to the reference documentation 
(http://cassandra.apache.org/doc/cql3/CQL.html)
   for more detail.
+- Calling the set_cql_version of the thrift interface with a version that
+  don't start with 2 now raise an error (instead of being a no-op). Not
+  raising an error in that case makes it hard for CQL3 client that haven't
+  upgraded to use the new thrift CQL3 methods to understand what is going
+  wrong.
 
 
 1.2

http://git-wip-us.apache.org/repos/asf/cassandra/blob/056f38cc/src/java/org/apache/cassandra/thrift/CassandraServer.java
--
diff --git a/src/java/org/apache/cassandra/thrift/CassandraServer.java 
b/src/java/org/apache/cassandra/thrift/CassandraServer.java
index 7e5faf9..ce533f4 100644
--- a/src/java/org/apache/cassandra/thrift/CassandraServer.java
+++ b/src/java/org/apache/cassandra/thrift/CassandraServer.java
@@ -1842,9 +1842,18 @@ public class CassandraServer implements Cassandra.Iface
 }
 }
 
+/*
+ * Deprecated, but if a client sets CQL2, it is a no-op for compatibility 
sake.
+ * If it sets CQL3 however, we throw an IRE because this mean the client
+ * hasn't been updated for Cassandra 1.2 and should start using the new
+ * execute_cql3_query, etc... and there is no point no warning it early.
+ */
 public void set_cql_version(String version) throws InvalidRequestException
 {
-// Deprecated, no-op
+if (version.trim().startsWith("2"))
+return;
+
+throw new InvalidRequestException("Invalid use of the CQL thrift 
interface. This most likely mean the client you are using has not been updated 
for Cassandra 1.2");
 }
 
 public ByteBuffer trace_next_query() throws TException



[1/3] git commit: Fix range merging to avoid creating wrapping ones

2013-01-18 Thread slebresne
Fix range merging to avoid creating wrapping ones


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

Branch: refs/heads/trunk
Commit: 19972bdd91d6f8117eb8baa957b547000e995de3
Parents: 9717002
Author: Sylvain Lebresne 
Authored: Fri Jan 18 15:19:04 2013 +0100
Committer: Sylvain Lebresne 
Committed: Fri Jan 18 15:19:04 2013 +0100

--
 .../org/apache/cassandra/service/StorageProxy.java |   10 ++
 1 files changed, 10 insertions(+), 0 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/19972bdd/src/java/org/apache/cassandra/service/StorageProxy.java
--
diff --git a/src/java/org/apache/cassandra/service/StorageProxy.java 
b/src/java/org/apache/cassandra/service/StorageProxy.java
index b541332..c234bd1 100644
--- a/src/java/org/apache/cassandra/service/StorageProxy.java
+++ b/src/java/org/apache/cassandra/service/StorageProxy.java
@@ -1146,6 +1146,16 @@ public class StorageProxy implements StorageProxyMBean
 nextEndpoints = getLiveSortedEndpoints(table, 
nextRange.right);
 nextFilteredEndpoints = 
consistency_level.filterForQuery(table, nextEndpoints);
 
+/*
+ * If the current range right is the min token, we should 
stop merging because CFS.getRangeSlice
+ * don't know how to deal with a wrapping range.
+ * Note: it would be slightly more efficient to have 
CFS.getRangeSlice on the destination nodes unwraps
+ * the range if necessary and deal with it. However, we 
can't start sending wrapped range without breaking
+ * wire compatibility, so It's likely easier not to bother;
+ */
+if (range.right.isMinimum())
+break;
+
 List merged = intersection(liveEndpoints, 
nextEndpoints);
 
 // Check if there is enough endpoint for the merge to be 
possible.



[3/3] git commit: Merge branch 'cassandra-1.2' into trunk

2013-01-18 Thread slebresne
Updated Branches:
  refs/heads/trunk 8646f9763 -> 66b9d114e


Merge branch 'cassandra-1.2' into trunk


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

Branch: refs/heads/trunk
Commit: 66b9d114e71ecfaf2e3e4e24ea901ed138d0ce06
Parents: 8646f97 056f38c
Author: Sylvain Lebresne 
Authored: Fri Jan 18 17:05:07 2013 +0100
Committer: Sylvain Lebresne 
Committed: Fri Jan 18 17:05:07 2013 +0100

--
 CHANGES.txt|2 ++
 NEWS.txt   |5 +
 .../org/apache/cassandra/service/StorageProxy.java |   10 ++
 .../apache/cassandra/thrift/CassandraServer.java   |   11 ++-
 4 files changed, 27 insertions(+), 1 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/66b9d114/CHANGES.txt
--

http://git-wip-us.apache.org/repos/asf/cassandra/blob/66b9d114/src/java/org/apache/cassandra/service/StorageProxy.java
--

http://git-wip-us.apache.org/repos/asf/cassandra/blob/66b9d114/src/java/org/apache/cassandra/thrift/CassandraServer.java
--



git commit: Detect (and warn) unintentional use of the cql2 thrift methods when cql3 was intended

2013-01-18 Thread slebresne
Updated Branches:
  refs/heads/cassandra-1.2 19972bdd9 -> 056f38cc1


Detect (and warn) unintentional use of the cql2 thrift methods when cql3 was 
intended

patch by slebresne; reviewed by jbellis for CASSANDRA-5172


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

Branch: refs/heads/cassandra-1.2
Commit: 056f38cc185702c865eb1d4a2f1ed1599300e1d3
Parents: 19972bd
Author: Sylvain Lebresne 
Authored: Fri Jan 18 17:03:23 2013 +0100
Committer: Sylvain Lebresne 
Committed: Fri Jan 18 17:03:23 2013 +0100

--
 CHANGES.txt|2 ++
 NEWS.txt   |5 +
 .../apache/cassandra/thrift/CassandraServer.java   |   11 ++-
 3 files changed, 17 insertions(+), 1 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/056f38cc/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 16172ec..86743ca 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -40,6 +40,8 @@
  * Coverage analysis for low-CL queries (CASSANDRA-4858)
  * Stop interpreting dates as valid timeUUID value (CASSANDRA-4936)
  * Adds E notation for floating point numbers (CASSANDRA-4927)
+ * Detect (and warn) unintentional use of the cql2 thrift methods when cql3 was
+   intended (CASSANDRA-5172)
 Merged from 1.1:
  * Simplify CompressedRandomAccessReader to work around JDK FD bug 
(CASSANDRA-5088)
  * Improve handling a changing target throttle rate mid-compaction 
(CASSANDRA-5087)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/056f38cc/NEWS.txt
--
diff --git a/NEWS.txt b/NEWS.txt
index 3902d05..e1e842c 100644
--- a/NEWS.txt
+++ b/NEWS.txt
@@ -21,6 +21,11 @@ Upgrading
   representation), but the new dateOf method can be used instead. Please
   refer to the reference documentation 
(http://cassandra.apache.org/doc/cql3/CQL.html)
   for more detail.
+- Calling the set_cql_version of the thrift interface with a version that
+  don't start with 2 now raise an error (instead of being a no-op). Not
+  raising an error in that case makes it hard for CQL3 client that haven't
+  upgraded to use the new thrift CQL3 methods to understand what is going
+  wrong.
 
 
 1.2

http://git-wip-us.apache.org/repos/asf/cassandra/blob/056f38cc/src/java/org/apache/cassandra/thrift/CassandraServer.java
--
diff --git a/src/java/org/apache/cassandra/thrift/CassandraServer.java 
b/src/java/org/apache/cassandra/thrift/CassandraServer.java
index 7e5faf9..ce533f4 100644
--- a/src/java/org/apache/cassandra/thrift/CassandraServer.java
+++ b/src/java/org/apache/cassandra/thrift/CassandraServer.java
@@ -1842,9 +1842,18 @@ public class CassandraServer implements Cassandra.Iface
 }
 }
 
+/*
+ * Deprecated, but if a client sets CQL2, it is a no-op for compatibility 
sake.
+ * If it sets CQL3 however, we throw an IRE because this mean the client
+ * hasn't been updated for Cassandra 1.2 and should start using the new
+ * execute_cql3_query, etc... and there is no point no warning it early.
+ */
 public void set_cql_version(String version) throws InvalidRequestException
 {
-// Deprecated, no-op
+if (version.trim().startsWith("2"))
+return;
+
+throw new InvalidRequestException("Invalid use of the CQL thrift 
interface. This most likely mean the client you are using has not been updated 
for Cassandra 1.2");
 }
 
 public ByteBuffer trace_next_query() throws TException



[jira] [Commented] (CASSANDRA-5107) node fails to start because host id is missing

2013-01-18 Thread Sylvain Lebresne (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-5107?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13557306#comment-13557306
 ] 

Sylvain Lebresne commented on CASSANDRA-5107:
-

Can't that be because we start gossiper before setting the applicationState 
(including the host_id)? Granted we have a 1 second delay before really 
starting the gossipTask, but if those stack traces come from the test bot, 
maybe sometime the machine is slow enough that you can have a whole second 
interruption of the thread initializing the server.

In any case, this feel dangerous to me. Maybe we could split Gossiper.start 
into a Gossiper.init(), followed by the addition of the applicationstate that 
we expect to be always there, and then we start it.

> node fails to start because host id is missing
> --
>
> Key: CASSANDRA-5107
> URL: https://issues.apache.org/jira/browse/CASSANDRA-5107
> Project: Cassandra
>  Issue Type: Bug
>  Components: Core
>Affects Versions: 1.2.0
>Reporter: Brandon Williams
>Assignee: Brandon Williams
> Fix For: 1.2.1
>
>
> I saw this once on dtestbot but couldn't figure it out, but now I've 
> encountered it myself:
> {noformat}
> ERROR 22:04:45,949 Exception encountered during startup
> java.lang.AssertionError
>at 
> org.apache.cassandra.locator.TokenMetadata.updateHostId(TokenMetadata.java:219)
>at 
> org.apache.cassandra.service.StorageService.initServer(StorageService.java:442)
>at 
> org.apache.cassandra.service.StorageService.initServer(StorageService.java:397)
>at 
> org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:309)
>at 
> org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:397)
>at 
> org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:440)
> java.lang.AssertionError
>at 
> org.apache.cassandra.locator.TokenMetadata.updateHostId(TokenMetadata.java:219)
>at 
> org.apache.cassandra.service.StorageService.initServer(StorageService.java:442)
>at 
> org.apache.cassandra.service.StorageService.initServer(StorageService.java:397)
>at 
> org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:309)
>at 
> org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:397)
>at 
> org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:440)
> Exception encountered during startup: null
> {noformat}
> Somehow our own hostid is null sometimes.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-5167) Node isn't removed from system.peers after 'nodetool removenode'

2013-01-18 Thread Brandon Williams (JIRA)

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

Brandon Williams updated CASSANDRA-5167:


Attachment: 5167-v2.txt

v2 incorporates both ideas.

> Node isn't removed from system.peers after 'nodetool removenode'
> 
>
> Key: CASSANDRA-5167
> URL: https://issues.apache.org/jira/browse/CASSANDRA-5167
> Project: Cassandra
>  Issue Type: Bug
>Affects Versions: 1.2.0
> Environment: Ubuntu 12.10, Java 1.7.0_09 (OpenJDK)
>Reporter: Nicolai Gylling
>Assignee: Brandon Williams
>Priority: Minor
> Fix For: 1.2.1
>
> Attachments: 5167.txt, 5167-v2.txt
>
>
> In a 3 node live cluster - After a replacement of a dead node, the old node 
> remains in the system.peers table, even after running 'nodetool removenode 
> '.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (CASSANDRA-5172) Detect (and warn) unintentional use of the cql2 thrift methods when cql3 was the intention

2013-01-18 Thread Jonathan Ellis (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-5172?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13557303#comment-13557303
 ] 

Jonathan Ellis commented on CASSANDRA-5172:
---

+1

> Detect (and warn) unintentional use of the cql2 thrift methods when cql3 was 
> the intention 
> ---
>
> Key: CASSANDRA-5172
> URL: https://issues.apache.org/jira/browse/CASSANDRA-5172
> Project: Cassandra
>  Issue Type: Improvement
>Affects Versions: 1.2.0
>Reporter: Sylvain Lebresne
>Assignee: Sylvain Lebresne
>Priority: Minor
> Fix For: 1.2.1
>
> Attachments: 5172.txt
>
>
> In 1.2.0 we've separated the thrift methods for CQL2 and CQL3 (due to 
> CASSANDRA-4734). In doing so, we've made set_cql_version a silent no-op.
> However it means that the 1.1 way of querying CQL3 now silently end up 
> calling CQL2 in 1.2.0. So I suggest that if someone calls set_cql_version, we 
> record the version set and warn if (throw an invalid exception) if someone 
> asks for CQL3 but later use the CQL2 methods.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-5172) Detect (and warn) unintentional use of the cql2 thrift methods when cql3 was the intention

2013-01-18 Thread Sylvain Lebresne (JIRA)

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

Sylvain Lebresne updated CASSANDRA-5172:


Attachment: 5172.txt

In fact I think we can just have set_cql_version complain if a client asks for 
CQL3. Indeed, a client that does so is a client that has not been upgraded to 
use the new thrift CQL3 methods and such client is guaranteed to not work 
correctly. So no point in letting him continue thinking everything is fine.

Patch attached to do that.

> Detect (and warn) unintentional use of the cql2 thrift methods when cql3 was 
> the intention 
> ---
>
> Key: CASSANDRA-5172
> URL: https://issues.apache.org/jira/browse/CASSANDRA-5172
> Project: Cassandra
>  Issue Type: Improvement
>Affects Versions: 1.2.0
>Reporter: Sylvain Lebresne
>Assignee: Sylvain Lebresne
>Priority: Minor
> Fix For: 1.2.1
>
> Attachments: 5172.txt
>
>
> In 1.2.0 we've separated the thrift methods for CQL2 and CQL3 (due to 
> CASSANDRA-4734). In doing so, we've made set_cql_version a silent no-op.
> However it means that the 1.1 way of querying CQL3 now silently end up 
> calling CQL2 in 1.2.0. So I suggest that if someone calls set_cql_version, we 
> record the version set and warn if (throw an invalid exception) if someone 
> asks for CQL3 but later use the CQL2 methods.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Reopened] (CASSANDRA-5107) node fails to start because host id is missing

2013-01-18 Thread Brandon Williams (JIRA)

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

Brandon Williams reopened CASSANDRA-5107:
-


It didn't :(  Here's another slightly different stacktrace where a remote 
node's hostId is missing:

{noformat}
 INFO [main] 2013-01-18 09:24:30,576 StorageService.java (line 1288) Node 
/127.0.0.3 state jump to normal
 INFO [main] 2013-01-18 09:24:30,583 StorageService.java (line 744) Startup 
completed! Now serving reads.
 WARN [main] 2013-01-18 09:24:30,597 Auth.java (line 131) Skipping default 
superuser setup: some nodes are not ready
 INFO [GossipStage:1] 2013-01-18 09:24:30,637 Gossiper.java (line 782) Node 
/127.0.0.1 has restarted, now UP
 INFO [GossipStage:1] 2013-01-18 09:24:30,637 Gossiper.java (line 750) 
InetAddress /127.0.0.1 is now UP
 INFO [GossipStage:1] 2013-01-18 09:24:30,639 StorageService.java (line 1288) 
Node /127.0.0.1 state jump to normal
 INFO [GossipStage:2] 2013-01-18 09:24:30,640 Gossiper.java (line 782) Node 
/127.0.0.2 has restarted, now UP
ERROR [GossipStage:1] 2013-01-18 09:24:30,641 CassandraDaemon.java (line 133) 
Exception in thread Thread[GossipStage:1,5,main]
java.lang.NullPointerException
at org.apache.cassandra.gms.Gossiper.getHostId(Gossiper.java:637)
at 
org.apache.cassandra.service.StorageService.handleStateNormal(StorageService.java:1304)
at 
org.apache.cassandra.service.StorageService.onChange(StorageService.java:1166)
at 
org.apache.cassandra.service.StorageService.onJoin(StorageService.java:1899)
at 
org.apache.cassandra.gms.Gossiper.handleMajorStateChange(Gossiper.java:802)
at org.apache.cassandra.gms.Gossiper.applyStateLocally(Gossiper.java:853)
at 
org.apache.cassandra.gms.GossipDigestAck2VerbHandler.doVerb(GossipDigestAck2VerbHandler.java:43)
at 
org.apache.cassandra.net.MessageDeliveryTask.run(MessageDeliveryTask.java:56)
at 
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
 INFO [GossipStage:2] 2013-01-18 09:24:30,642 Gossiper.java (line 750) 
InetAddress /127.0.0.2 is now UP
{noformat}

> node fails to start because host id is missing
> --
>
> Key: CASSANDRA-5107
> URL: https://issues.apache.org/jira/browse/CASSANDRA-5107
> Project: Cassandra
>  Issue Type: Bug
>  Components: Core
>Affects Versions: 1.2.0
>Reporter: Brandon Williams
>Assignee: Brandon Williams
> Fix For: 1.2.1
>
>
> I saw this once on dtestbot but couldn't figure it out, but now I've 
> encountered it myself:
> {noformat}
> ERROR 22:04:45,949 Exception encountered during startup
> java.lang.AssertionError
>at 
> org.apache.cassandra.locator.TokenMetadata.updateHostId(TokenMetadata.java:219)
>at 
> org.apache.cassandra.service.StorageService.initServer(StorageService.java:442)
>at 
> org.apache.cassandra.service.StorageService.initServer(StorageService.java:397)
>at 
> org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:309)
>at 
> org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:397)
>at 
> org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:440)
> java.lang.AssertionError
>at 
> org.apache.cassandra.locator.TokenMetadata.updateHostId(TokenMetadata.java:219)
>at 
> org.apache.cassandra.service.StorageService.initServer(StorageService.java:442)
>at 
> org.apache.cassandra.service.StorageService.initServer(StorageService.java:397)
>at 
> org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:309)
>at 
> org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:397)
>at 
> org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:440)
> Exception encountered during startup: null
> {noformat}
> Somehow our own hostid is null sometimes.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-5171) Enhance Ec2Snitch gossip info.

2013-01-18 Thread Brandon Williams (JIRA)

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

Brandon Williams updated CASSANDRA-5171:


Fix Version/s: (was: 1.2.0)
   1.2.1

> Enhance Ec2Snitch gossip info.
> --
>
> Key: CASSANDRA-5171
> URL: https://issues.apache.org/jira/browse/CASSANDRA-5171
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Core
>Affects Versions: 1.2.0
> Environment: EC2
>Reporter: Vijay
>Assignee: Vijay
>Priority: Trivial
> Fix For: 1.2.1
>
> Attachments: 0001-CASSANDRA-5171.patch
>
>
> EC2Snitch currently waits for the Gossip information to understand the 
> cluster information every time we restart. It will be nice to use already 
> available system table info similar to GPFS.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (CASSANDRA-5171) Enhance Ec2Snitch gossip info.

2013-01-18 Thread Brandon Williams (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-5171?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13557260#comment-13557260
 ] 

Brandon Williams commented on CASSANDRA-5171:
-

+1

> Enhance Ec2Snitch gossip info.
> --
>
> Key: CASSANDRA-5171
> URL: https://issues.apache.org/jira/browse/CASSANDRA-5171
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Core
>Affects Versions: 1.2.0
> Environment: EC2
>Reporter: Vijay
>Assignee: Vijay
>Priority: Trivial
> Fix For: 1.2.0
>
> Attachments: 0001-CASSANDRA-5171.patch
>
>
> EC2Snitch currently waits for the Gossip information to understand the 
> cluster information every time we restart. It will be nice to use already 
> available system table info similar to GPFS.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Created] (CASSANDRA-5172) Detect (and warn) unintentional use of the cql2 thrift methods when cql3 was the intention

2013-01-18 Thread Sylvain Lebresne (JIRA)
Sylvain Lebresne created CASSANDRA-5172:
---

 Summary: Detect (and warn) unintentional use of the cql2 thrift 
methods when cql3 was the intention 
 Key: CASSANDRA-5172
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5172
 Project: Cassandra
  Issue Type: Improvement
Affects Versions: 1.2.0
Reporter: Sylvain Lebresne
Assignee: Sylvain Lebresne
Priority: Minor
 Fix For: 1.2.1


In 1.2.0 we've separated the thrift methods for CQL2 and CQL3 (due to 
CASSANDRA-4734). In doing so, we've made set_cql_version a silent no-op.

However it means that the 1.1 way of querying CQL3 now silently end up calling 
CQL2 in 1.2.0. So I suggest that if someone calls set_cql_version, we record 
the version set and warn if (throw an invalid exception) if someone asks for 
CQL3 but later use the CQL2 methods.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Comment Edited] (CASSANDRA-5128) Stream hints on decommission

2013-01-18 Thread Jason Brown (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-5128?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13557246#comment-13557246
 ] 

Jason Brown edited comment on CASSANDRA-5128 at 1/18/13 2:41 PM:
-

Moved the logic of finding an alive host and streaming the hints into a new 
method, streamHints(), which is called by unbootstrap(). 

Also found a minor bug in Jonathan's patch:

{code}List candidates = new ArrayList
(StorageService.instance.getTokenMetadata().cloneAfterAllLeft().getAllEndpoints());{code}

TM.cloneAfterAllLeft() calls cloneOnlyTokenMap(), which sets up the 
tokenToEndpointMap field but not the endpointToHostIdMap. Then 
getAllEndpoints() is called on new TM, which refers to an empty 
endpointToHostIdMap map. Thus, in cloneOnlyTokenMap() I've added setting up the 
endpointToHostIdMap. I think it should be reasonably harmless.

  was (Author: jasobrown):
Moved the logic of finding an alive host into a new method, streamHints(), 
which is called by unbootstrap(). 

Also found a minor bug in Jonathan's patch:

{code}List candidates = new 
ArrayList(StorageService.instance.getTokenMetadata().cloneAfterAllLeft().getAllEndpoints());{code}

TM.cloneAfterAllLeft() calls cloneOnlyTokenMap(), which sets up the 
tokenToEndpointMap field but not the endpointToHostIdMap. Then 
getAllEndpoints() is called on new TM, which refers to an empty 
endpointToHostIdMap map. Thus, in cloneOnlyTokenMap() I've added setting up the 
endpointToHostIdMap. I think it should be reasonably harmless.
  
> Stream hints on decommission
> 
>
> Key: CASSANDRA-5128
> URL: https://issues.apache.org/jira/browse/CASSANDRA-5128
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Core
>Affects Versions: 1.2.1
>Reporter: Jason Brown
>Assignee: Jason Brown
>  Labels: decommission, hints
> Attachments: 0001-CASSANDRA-5128-stream-hints-on-decommission.patch, 
> 5128-v2.txt, 5128-v3.patch
>
>
> Looks like decommissioning a node (nodetool decommission) will stream all the 
> non-system table data out to it's appropriate peers 
> (StorageService.unbootstrap()), but hints will disappear with the node. Let's 
> send those hints to another peer (preferably in the same rack, and hopefully 
> at least the same datacenter) them to be replayed.
> The use case here is auto-scaling vnode clusters in ec2. When auto-scaling 
> down, I'd want to call decommission on the node to leave the ring (and be 
> terminated), and still have all of it's artifacts (data and hints) survive.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-5128) Stream hints on decommission

2013-01-18 Thread Jason Brown (JIRA)

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

Jason Brown updated CASSANDRA-5128:
---

Attachment: 5128-v3.patch

Moved the logic of finding an alive host into a new method, streamHints(), 
which is called by unbootstrap(). 

Also found a minor bug in Jonathan's patch:

{code}List candidates = new 
ArrayList(StorageService.instance.getTokenMetadata().cloneAfterAllLeft().getAllEndpoints());{code}

TM.cloneAfterAllLeft() calls cloneOnlyTokenMap(), which sets up the 
tokenToEndpointMap field but not the endpointToHostIdMap. Then 
getAllEndpoints() is called on new TM, which refers to an empty 
endpointToHostIdMap map. Thus, in cloneOnlyTokenMap() I've added setting up the 
endpointToHostIdMap. I think it should be reasonably harmless.

> Stream hints on decommission
> 
>
> Key: CASSANDRA-5128
> URL: https://issues.apache.org/jira/browse/CASSANDRA-5128
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Core
>Affects Versions: 1.2.1
>Reporter: Jason Brown
>Assignee: Jason Brown
>  Labels: decommission, hints
> Attachments: 0001-CASSANDRA-5128-stream-hints-on-decommission.patch, 
> 5128-v2.txt, 5128-v3.patch
>
>
> Looks like decommissioning a node (nodetool decommission) will stream all the 
> non-system table data out to it's appropriate peers 
> (StorageService.unbootstrap()), but hints will disappear with the node. Let's 
> send those hints to another peer (preferably in the same rack, and hopefully 
> at least the same datacenter) them to be replayed.
> The use case here is auto-scaling vnode clusters in ec2. When auto-scaling 
> down, I'd want to call decommission on the node to leave the ring (and be 
> terminated), and still have all of it's artifacts (data and hints) survive.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Resolved] (CASSANDRA-4858) Coverage analysis for low-CL queries

2013-01-18 Thread Sylvain Lebresne (JIRA)

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

Sylvain Lebresne resolved CASSANDRA-4858.
-

Resolution: Fixed

> Coverage analysis for low-CL queries
> 
>
> Key: CASSANDRA-4858
> URL: https://issues.apache.org/jira/browse/CASSANDRA-4858
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Core
>Reporter: Jonathan Ellis
>Assignee: Sylvain Lebresne
> Fix For: 1.2.1
>
> Attachments: 0001-CASSANDRA-4858.patch, 0001-CASSANDRA-4858-v2.patch, 
> 4858-cleanup.txt, 4858-v3-1.txt, 4858-v3-2.txt, 4858-v4.txt
>
>
> There are many cases where getRangeSlice creates more
> RangeSliceCommand than it should, because it always creates one for each range
> returned by getRestrictedRange.  Especially for CL.ONE this does not take
> the replication factor into account and is potentially pretty wasteful.
> A range slice at CL.ONE on a 3 node cluster with RF=3 should only
> ever create one RangeSliceCommand.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (CASSANDRA-4858) Coverage analysis for low-CL queries

2013-01-18 Thread Sylvain Lebresne (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-4858?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13557237#comment-13557237
 ] 

Sylvain Lebresne commented on CASSANDRA-4858:
-

You're right, we shouldn't merge if the right is the minimum token to avoid 
creating wrapping ranges since CFS.getRangeSlice don't know what to do with 
them. Committed simple fix as 19972bdd91d6f8117eb8baa957b547000e995de3.

> Coverage analysis for low-CL queries
> 
>
> Key: CASSANDRA-4858
> URL: https://issues.apache.org/jira/browse/CASSANDRA-4858
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Core
>Reporter: Jonathan Ellis
>Assignee: Sylvain Lebresne
> Fix For: 1.2.1
>
> Attachments: 0001-CASSANDRA-4858.patch, 0001-CASSANDRA-4858-v2.patch, 
> 4858-cleanup.txt, 4858-v3-1.txt, 4858-v3-2.txt, 4858-v4.txt
>
>
> There are many cases where getRangeSlice creates more
> RangeSliceCommand than it should, because it always creates one for each range
> returned by getRestrictedRange.  Especially for CL.ONE this does not take
> the replication factor into account and is potentially pretty wasteful.
> A range slice at CL.ONE on a 3 node cluster with RF=3 should only
> ever create one RangeSliceCommand.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


git commit: Fix range merging to avoid creating wrapping ones

2013-01-18 Thread slebresne
Updated Branches:
  refs/heads/cassandra-1.2 971700249 -> 19972bdd9


Fix range merging to avoid creating wrapping ones


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

Branch: refs/heads/cassandra-1.2
Commit: 19972bdd91d6f8117eb8baa957b547000e995de3
Parents: 9717002
Author: Sylvain Lebresne 
Authored: Fri Jan 18 15:19:04 2013 +0100
Committer: Sylvain Lebresne 
Committed: Fri Jan 18 15:19:04 2013 +0100

--
 .../org/apache/cassandra/service/StorageProxy.java |   10 ++
 1 files changed, 10 insertions(+), 0 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/19972bdd/src/java/org/apache/cassandra/service/StorageProxy.java
--
diff --git a/src/java/org/apache/cassandra/service/StorageProxy.java 
b/src/java/org/apache/cassandra/service/StorageProxy.java
index b541332..c234bd1 100644
--- a/src/java/org/apache/cassandra/service/StorageProxy.java
+++ b/src/java/org/apache/cassandra/service/StorageProxy.java
@@ -1146,6 +1146,16 @@ public class StorageProxy implements StorageProxyMBean
 nextEndpoints = getLiveSortedEndpoints(table, 
nextRange.right);
 nextFilteredEndpoints = 
consistency_level.filterForQuery(table, nextEndpoints);
 
+/*
+ * If the current range right is the min token, we should 
stop merging because CFS.getRangeSlice
+ * don't know how to deal with a wrapping range.
+ * Note: it would be slightly more efficient to have 
CFS.getRangeSlice on the destination nodes unwraps
+ * the range if necessary and deal with it. However, we 
can't start sending wrapped range without breaking
+ * wire compatibility, so It's likely easier not to bother;
+ */
+if (range.right.isMinimum())
+break;
+
 List merged = intersection(liveEndpoints, 
nextEndpoints);
 
 // Check if there is enough endpoint for the merge to be 
possible.



[1/5] git commit: Fix interpreting dates as valid timeuuid and introduce new methods to work with timeuuid

2013-01-18 Thread slebresne
Fix interpreting dates as valid timeuuid and introduce new methods to work with 
timeuuid

patch by slebresne; reviewed by thobbs for CASSANDRA-4936


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

Branch: refs/heads/trunk
Commit: 8be7e5c0eb6b0df2e28c5a1038ef0da0f7e0902e
Parents: d64dc2e
Author: Sylvain Lebresne 
Authored: Fri Jan 18 13:56:32 2013 +0100
Committer: Sylvain Lebresne 
Committed: Fri Jan 18 13:56:32 2013 +0100

--
 CHANGES.txt|1 +
 NEWS.txt   |   14 ++
 doc/cql3/CQL.textile   |   71 +-
 pylib/cqlshlib/formatting.py   |8 +-
 .../apache/cassandra/cql/AlterTableStatement.java  |2 +-
 .../cassandra/cql/CreateColumnFamilyStatement.java |2 +-
 src/java/org/apache/cassandra/cql/Term.java|2 +-
 src/java/org/apache/cassandra/cql3/Cql.g   |   16 ++-
 .../org/apache/cassandra/cql3/QueryProcessor.java  |2 +-
 .../cassandra/cql3/statements/SelectStatement.java |  107 --
 .../apache/cassandra/cql3/statements/Selector.java |   17 ++-
 .../apache/cassandra/db/marshal/AbstractType.java  |6 +
 .../apache/cassandra/db/marshal/TimeUUIDType.java  |   65 +-
 src/java/org/apache/cassandra/utils/UUIDGen.java   |   61 -
 14 files changed, 279 insertions(+), 95 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/8be7e5c0/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index f684d6b..c254bf9 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -38,6 +38,7 @@
  * Don't remove tokens from System table for node we know (CASSANDRA-5121)
  * fix streaming progress report for compresed files (CASSANDRA-5130)
  * Coverage analysis for low-CL queries (CASSANDRA-4858)
+ * Stop interpreting dates as valid timeUUID value (CASSANDRA-4936)
 Merged from 1.1:
  * Simplify CompressedRandomAccessReader to work around JDK FD bug 
(CASSANDRA-5088)
  * Improve handling a changing target throttle rate mid-compaction 
(CASSANDRA-5087)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/8be7e5c0/NEWS.txt
--
diff --git a/NEWS.txt b/NEWS.txt
index 37d8748..3902d05 100644
--- a/NEWS.txt
+++ b/NEWS.txt
@@ -8,6 +8,20 @@ upgrade, just in case you need to roll back to the previous 
version.
 (Cassandra version X + 1 will always be able to read data files created
 by version X, but the inverse is not necessarily the case.)
 
+1.2.1
+=
+
+Upgrading
+-
+- In CQL3, date string are no longer accepted as timeuuid value since a
+  date string is not a correct representation of a timeuuid. Instead, new
+  methods (minTimeuuid, maxTimeuuid, now, dateOf, unixTimestampOf) have 
been
+  introduced to make working on timeuuid from date string easy. cqlsh also
+  does not display timeuuid as date string (since this is a lossy
+  representation), but the new dateOf method can be used instead. Please
+  refer to the reference documentation 
(http://cassandra.apache.org/doc/cql3/CQL.html)
+  for more detail.
+
 
 1.2
 ===

http://git-wip-us.apache.org/repos/asf/cassandra/blob/8be7e5c0/doc/cql3/CQL.textile
--
diff --git a/doc/cql3/CQL.textile b/doc/cql3/CQL.textile
index da4eb90..93122b9 100644
--- a/doc/cql3/CQL.textile
+++ b/doc/cql3/CQL.textile
@@ -1,6 +1,6 @@
 
 
-h1. Cassandra Query Language (CQL) v3.0.0
+h1. Cassandra Query Language (CQL) v3.0.1
 
 
  
@@ -13,7 +13,7 @@ h2. CQL Syntax
 
 h3. Preamble
 
-This document describes the Cassandra Query Language (CQL) version 3. CQL v3 
is not backward compatible with CQL v2 and differs from it in numerous ways.
+This document describes the Cassandra Query Language (CQL) version 3. CQL v3 
is not backward compatible with CQL v2 and differs from it in numerous ways. 
Note that this document describes the last version of the languages. However, 
the "changes":#changes section provides the diff between the different versions 
of CQL v3.
 
 CQL v3 offers a model very close to SQL in the sense that data is put in 
_tables_ containing _rows_ of _columns_. For that reason, when used in this 
document, these terms (tables, rows and columns) have the same definition than 
they have in SQL. But please note that as such, they do *not* refer to the 
concept of rows and columns found in the internal implementation of Cassandra 
and in the thrift and CQL v2 API.
 
@@ -697,16 +697,16 @@ p. The following tab

[4/5] git commit: Add missing mention of 4927 in CQL3 changelog

2013-01-18 Thread slebresne
Add missing mention of 4927 in CQL3 changelog


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

Branch: refs/heads/trunk
Commit: 9717002498e361f889b7498c419b22513095f73a
Parents: 07ebbe5
Author: Sylvain Lebresne 
Authored: Fri Jan 18 14:38:50 2013 +0100
Committer: Sylvain Lebresne 
Committed: Fri Jan 18 14:38:50 2013 +0100

--
 doc/cql3/CQL.textile |1 +
 1 files changed, 1 insertions(+), 0 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/97170024/doc/cql3/CQL.textile
--
diff --git a/doc/cql3/CQL.textile b/doc/cql3/CQL.textile
index ac674e3..a4d803c 100644
--- a/doc/cql3/CQL.textile
+++ b/doc/cql3/CQL.textile
@@ -964,6 +964,7 @@ The following describes the addition/changes brought for 
each version of CQL.
 h3. 3.0.1
 
 - "Date strings":#usingdates (and timestamps) are no longer accepted as valid 
@timeuuid@ values. Doing so was a bug in the sense that date string are not 
valid @timeuuid@, and it was thus resulting in "confusing 
behaviors":https://issues.apache.org/jira/browse/CASSANDRA-4936.  However, the 
following new methods have been added to help working with @timeuuid@: @now@, 
@minTimeuuid@, @maxTimeuuid@ , @dateOf@ and @unixTimestampOf@. See the "section 
dedicated to these methods":#usingtimeuuid for more detail.
+- "Float constants"#constants now support the exponent notation. In other 
words, @4.2E10@ is now a valid floating point value.
 
 
 h2. Versioning



[5/5] git commit: Merge branch 'cassandra-1.2' into trunk

2013-01-18 Thread slebresne
Updated Branches:
  refs/heads/trunk 8cb7bc4af -> 8646f9763


Merge branch 'cassandra-1.2' into trunk


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

Branch: refs/heads/trunk
Commit: 8646f976331be6d024cfbc8fca10616601ea8953
Parents: 6b02851 9717002
Author: Sylvain Lebresne 
Authored: Fri Jan 18 14:38:59 2013 +0100
Committer: Sylvain Lebresne 
Committed: Fri Jan 18 14:38:59 2013 +0100

--
 CHANGES.txt  |1 +
 doc/cql3/CQL.textile |3 ++-
 src/java/org/apache/cassandra/cql3/Cql.g |7 ++-
 3 files changed, 9 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/8646f976/CHANGES.txt
--



[3/5] git commit: Support E notation for floating point numbers

2013-01-18 Thread slebresne
Support E notation for floating point numbers

patch by michalm; reviewed by slebresne for CASSANDRA-4927


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

Branch: refs/heads/trunk
Commit: 07ebbe552a4210907b405428e5babab6c47ea6f5
Parents: 8be7e5c
Author: Sylvain Lebresne 
Authored: Fri Jan 18 14:35:23 2013 +0100
Committer: Sylvain Lebresne 
Committed: Fri Jan 18 14:35:23 2013 +0100

--
 CHANGES.txt  |1 +
 doc/cql3/CQL.textile |2 +-
 src/java/org/apache/cassandra/cql3/Cql.g |7 ++-
 3 files changed, 8 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/07ebbe55/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index c254bf9..16172ec 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -39,6 +39,7 @@
  * fix streaming progress report for compresed files (CASSANDRA-5130)
  * Coverage analysis for low-CL queries (CASSANDRA-4858)
  * Stop interpreting dates as valid timeUUID value (CASSANDRA-4936)
+ * Adds E notation for floating point numbers (CASSANDRA-4927)
 Merged from 1.1:
  * Simplify CompressedRandomAccessReader to work around JDK FD bug 
(CASSANDRA-5088)
  * Improve handling a changing target throttle rate mid-compaction 
(CASSANDRA-5087)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/07ebbe55/doc/cql3/CQL.textile
--
diff --git a/doc/cql3/CQL.textile b/doc/cql3/CQL.textile
index 93122b9..ac674e3 100644
--- a/doc/cql3/CQL.textile
+++ b/doc/cql3/CQL.textile
@@ -49,7 +49,7 @@ h3(#constants). Constants
 
 CQL defines 4 kinds of _implicitly-typed constants_: strings, numbers, uuids 
and booleans:
 * A string constant is an arbitrary sequence of characters characters enclosed 
by single-quote(@'@). One can include a single-quote in a string by repeating 
it, e.g. @'It''s raining today'@. Those are not to be confused with quoted 
identifiers that use double-quotes.
-* Numeric constants are either integer constant defined by @-?[0-9]+@ or a 
float constant defined by @-?[0-9]+.[0-9]*@.
+* Numeric constants are either integer constant defined by @'-'?[0-9]+@ or a 
float constant defined by @'-'?[0-9]+('.'[0-9]*)?([eE][+-]?[0-9+])?@.
 * A "UUID":http://en.wikipedia.org/wiki/Universally_unique_identifier constant 
is defined by @hex{8}-hex{4}-hex{4}-hex{4}-hex{12}@ where @hex@ is an 
hexadecimal character, e.g. @[0-9a-fA-F]@ and @{4}@ is the number of such 
characters.
 * A boolean constant is either @true@ or @false@ up to case-insensitivity 
(i.e. @True@ is a valid boolean constant).
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/07ebbe55/src/java/org/apache/cassandra/cql3/Cql.g
--
diff --git a/src/java/org/apache/cassandra/cql3/Cql.g 
b/src/java/org/apache/cassandra/cql3/Cql.g
index b866bd1..7f587f1 100644
--- a/src/java/org/apache/cassandra/cql3/Cql.g
+++ b/src/java/org/apache/cassandra/cql3/Cql.g
@@ -1006,6 +1006,10 @@ fragment HEX
 : ('A'..'F' | 'a'..'f' | '0'..'9')
 ;
 
+fragment EXPONENT
+: E ('+' | '-')? DIGIT+
+;
+
 INTEGER
 : '-'? DIGIT+
 ;
@@ -1019,7 +1023,8 @@ QMARK
  * to support multiple (see @lexer::members near the top of the grammar).
  */
 FLOAT
-: INTEGER '.' DIGIT*
+: INTEGER EXPONENT
+| INTEGER '.' DIGIT* EXPONENT?
 ;
 
 IDENT



[2/5] git commit: Merge branch 'cassandra-1.2' into trunk

2013-01-18 Thread slebresne
Merge branch 'cassandra-1.2' into trunk

Conflicts:
src/java/org/apache/cassandra/cql3/statements/SelectStatement.java


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

Branch: refs/heads/trunk
Commit: 6b02851b8da1611fde54405d56e6abc0a0ee4d10
Parents: 8cb7bc4 8be7e5c
Author: Sylvain Lebresne 
Authored: Fri Jan 18 14:00:20 2013 +0100
Committer: Sylvain Lebresne 
Committed: Fri Jan 18 14:00:20 2013 +0100

--
 CHANGES.txt|1 +
 NEWS.txt   |   14 ++
 doc/cql3/CQL.textile   |   71 +-
 pylib/cqlshlib/formatting.py   |8 +-
 .../apache/cassandra/cql/AlterTableStatement.java  |2 +-
 .../cassandra/cql/CreateColumnFamilyStatement.java |2 +-
 src/java/org/apache/cassandra/cql/Term.java|2 +-
 src/java/org/apache/cassandra/cql3/Cql.g   |   16 ++-
 .../org/apache/cassandra/cql3/QueryProcessor.java  |2 +-
 .../cassandra/cql3/statements/SelectStatement.java |  107 --
 .../apache/cassandra/cql3/statements/Selector.java |   17 ++-
 .../apache/cassandra/db/marshal/AbstractType.java  |6 +
 .../apache/cassandra/db/marshal/TimeUUIDType.java  |   65 +-
 src/java/org/apache/cassandra/utils/UUIDGen.java   |   61 -
 14 files changed, 279 insertions(+), 95 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/6b02851b/CHANGES.txt
--

http://git-wip-us.apache.org/repos/asf/cassandra/blob/6b02851b/src/java/org/apache/cassandra/cql/AlterTableStatement.java
--

http://git-wip-us.apache.org/repos/asf/cassandra/blob/6b02851b/src/java/org/apache/cassandra/cql/CreateColumnFamilyStatement.java
--

http://git-wip-us.apache.org/repos/asf/cassandra/blob/6b02851b/src/java/org/apache/cassandra/cql3/QueryProcessor.java
--

http://git-wip-us.apache.org/repos/asf/cassandra/blob/6b02851b/src/java/org/apache/cassandra/cql3/statements/SelectStatement.java
--
diff --cc src/java/org/apache/cassandra/cql3/statements/SelectStatement.java
index 4888c37,1cf6d01..f875254
--- a/src/java/org/apache/cassandra/cql3/statements/SelectStatement.java
+++ b/src/java/org/apache/cassandra/cql3/statements/SelectStatement.java
@@@ -919,15 -935,17 +918,17 @@@ public class SelectStatement implement
  case COLUMN_METADATA:
  if (name.type.isCollection())
  {
 -List> collection = 
columns.getCollection(name.name.key);
 +List> collection = 
columns.getCollection(name.name.key);
- if (collection == null)
- cqlRows.addColumnValue(null);
- else
- 
cqlRows.addColumnValue(((CollectionType)name.type).serialize(collection));
- break;
+ ByteBuffer value = collection == null
+  ? null
+  : 
((CollectionType)name.type).serialize(collection);
+ addReturnValue(cqlRows, selector, value);
+ }
+ else
+ {
 -IColumn c = columns.getSimple(name.name.key);
++Column c = columns.getSimple(name.name.key);
+ addReturnValue(cqlRows, selector, c);
  }
- Column c = columns.getSimple(name.name.key);
- addReturnValue(cqlRows, selector, c);
  break;
  default:
  throw new AssertionError();

http://git-wip-us.apache.org/repos/asf/cassandra/blob/6b02851b/src/java/org/apache/cassandra/db/marshal/AbstractType.java
--



git commit: Add missing mention of 4927 in CQL3 changelog

2013-01-18 Thread slebresne
Updated Branches:
  refs/heads/cassandra-1.2 07ebbe552 -> 971700249


Add missing mention of 4927 in CQL3 changelog


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

Branch: refs/heads/cassandra-1.2
Commit: 9717002498e361f889b7498c419b22513095f73a
Parents: 07ebbe5
Author: Sylvain Lebresne 
Authored: Fri Jan 18 14:38:50 2013 +0100
Committer: Sylvain Lebresne 
Committed: Fri Jan 18 14:38:50 2013 +0100

--
 doc/cql3/CQL.textile |1 +
 1 files changed, 1 insertions(+), 0 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/97170024/doc/cql3/CQL.textile
--
diff --git a/doc/cql3/CQL.textile b/doc/cql3/CQL.textile
index ac674e3..a4d803c 100644
--- a/doc/cql3/CQL.textile
+++ b/doc/cql3/CQL.textile
@@ -964,6 +964,7 @@ The following describes the addition/changes brought for 
each version of CQL.
 h3. 3.0.1
 
 - "Date strings":#usingdates (and timestamps) are no longer accepted as valid 
@timeuuid@ values. Doing so was a bug in the sense that date string are not 
valid @timeuuid@, and it was thus resulting in "confusing 
behaviors":https://issues.apache.org/jira/browse/CASSANDRA-4936.  However, the 
following new methods have been added to help working with @timeuuid@: @now@, 
@minTimeuuid@, @maxTimeuuid@ , @dateOf@ and @unixTimestampOf@. See the "section 
dedicated to these methods":#usingtimeuuid for more detail.
+- "Float constants"#constants now support the exponent notation. In other 
words, @4.2E10@ is now a valid floating point value.
 
 
 h2. Versioning



git commit: Support E notation for floating point numbers

2013-01-18 Thread slebresne
Updated Branches:
  refs/heads/cassandra-1.2 8be7e5c0e -> 07ebbe552


Support E notation for floating point numbers

patch by michalm; reviewed by slebresne for CASSANDRA-4927


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

Branch: refs/heads/cassandra-1.2
Commit: 07ebbe552a4210907b405428e5babab6c47ea6f5
Parents: 8be7e5c
Author: Sylvain Lebresne 
Authored: Fri Jan 18 14:35:23 2013 +0100
Committer: Sylvain Lebresne 
Committed: Fri Jan 18 14:35:23 2013 +0100

--
 CHANGES.txt  |1 +
 doc/cql3/CQL.textile |2 +-
 src/java/org/apache/cassandra/cql3/Cql.g |7 ++-
 3 files changed, 8 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/07ebbe55/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index c254bf9..16172ec 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -39,6 +39,7 @@
  * fix streaming progress report for compresed files (CASSANDRA-5130)
  * Coverage analysis for low-CL queries (CASSANDRA-4858)
  * Stop interpreting dates as valid timeUUID value (CASSANDRA-4936)
+ * Adds E notation for floating point numbers (CASSANDRA-4927)
 Merged from 1.1:
  * Simplify CompressedRandomAccessReader to work around JDK FD bug 
(CASSANDRA-5088)
  * Improve handling a changing target throttle rate mid-compaction 
(CASSANDRA-5087)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/07ebbe55/doc/cql3/CQL.textile
--
diff --git a/doc/cql3/CQL.textile b/doc/cql3/CQL.textile
index 93122b9..ac674e3 100644
--- a/doc/cql3/CQL.textile
+++ b/doc/cql3/CQL.textile
@@ -49,7 +49,7 @@ h3(#constants). Constants
 
 CQL defines 4 kinds of _implicitly-typed constants_: strings, numbers, uuids 
and booleans:
 * A string constant is an arbitrary sequence of characters characters enclosed 
by single-quote(@'@). One can include a single-quote in a string by repeating 
it, e.g. @'It''s raining today'@. Those are not to be confused with quoted 
identifiers that use double-quotes.
-* Numeric constants are either integer constant defined by @-?[0-9]+@ or a 
float constant defined by @-?[0-9]+.[0-9]*@.
+* Numeric constants are either integer constant defined by @'-'?[0-9]+@ or a 
float constant defined by @'-'?[0-9]+('.'[0-9]*)?([eE][+-]?[0-9+])?@.
 * A "UUID":http://en.wikipedia.org/wiki/Universally_unique_identifier constant 
is defined by @hex{8}-hex{4}-hex{4}-hex{4}-hex{12}@ where @hex@ is an 
hexadecimal character, e.g. @[0-9a-fA-F]@ and @{4}@ is the number of such 
characters.
 * A boolean constant is either @true@ or @false@ up to case-insensitivity 
(i.e. @True@ is a valid boolean constant).
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/07ebbe55/src/java/org/apache/cassandra/cql3/Cql.g
--
diff --git a/src/java/org/apache/cassandra/cql3/Cql.g 
b/src/java/org/apache/cassandra/cql3/Cql.g
index b866bd1..7f587f1 100644
--- a/src/java/org/apache/cassandra/cql3/Cql.g
+++ b/src/java/org/apache/cassandra/cql3/Cql.g
@@ -1006,6 +1006,10 @@ fragment HEX
 : ('A'..'F' | 'a'..'f' | '0'..'9')
 ;
 
+fragment EXPONENT
+: E ('+' | '-')? DIGIT+
+;
+
 INTEGER
 : '-'? DIGIT+
 ;
@@ -1019,7 +1023,8 @@ QMARK
  * to support multiple (see @lexer::members near the top of the grammar).
  */
 FLOAT
-: INTEGER '.' DIGIT*
+: INTEGER EXPONENT
+| INTEGER '.' DIGIT* EXPONENT?
 ;
 
 IDENT



git commit: Fix interpreting dates as valid timeuuid and introduce new methods to work with timeuuid

2013-01-18 Thread slebresne
Updated Branches:
  refs/heads/cassandra-1.2 d64dc2eb3 -> 8be7e5c0e


Fix interpreting dates as valid timeuuid and introduce new methods to work with 
timeuuid

patch by slebresne; reviewed by thobbs for CASSANDRA-4936


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

Branch: refs/heads/cassandra-1.2
Commit: 8be7e5c0eb6b0df2e28c5a1038ef0da0f7e0902e
Parents: d64dc2e
Author: Sylvain Lebresne 
Authored: Fri Jan 18 13:56:32 2013 +0100
Committer: Sylvain Lebresne 
Committed: Fri Jan 18 13:56:32 2013 +0100

--
 CHANGES.txt|1 +
 NEWS.txt   |   14 ++
 doc/cql3/CQL.textile   |   71 +-
 pylib/cqlshlib/formatting.py   |8 +-
 .../apache/cassandra/cql/AlterTableStatement.java  |2 +-
 .../cassandra/cql/CreateColumnFamilyStatement.java |2 +-
 src/java/org/apache/cassandra/cql/Term.java|2 +-
 src/java/org/apache/cassandra/cql3/Cql.g   |   16 ++-
 .../org/apache/cassandra/cql3/QueryProcessor.java  |2 +-
 .../cassandra/cql3/statements/SelectStatement.java |  107 --
 .../apache/cassandra/cql3/statements/Selector.java |   17 ++-
 .../apache/cassandra/db/marshal/AbstractType.java  |6 +
 .../apache/cassandra/db/marshal/TimeUUIDType.java  |   65 +-
 src/java/org/apache/cassandra/utils/UUIDGen.java   |   61 -
 14 files changed, 279 insertions(+), 95 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/8be7e5c0/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index f684d6b..c254bf9 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -38,6 +38,7 @@
  * Don't remove tokens from System table for node we know (CASSANDRA-5121)
  * fix streaming progress report for compresed files (CASSANDRA-5130)
  * Coverage analysis for low-CL queries (CASSANDRA-4858)
+ * Stop interpreting dates as valid timeUUID value (CASSANDRA-4936)
 Merged from 1.1:
  * Simplify CompressedRandomAccessReader to work around JDK FD bug 
(CASSANDRA-5088)
  * Improve handling a changing target throttle rate mid-compaction 
(CASSANDRA-5087)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/8be7e5c0/NEWS.txt
--
diff --git a/NEWS.txt b/NEWS.txt
index 37d8748..3902d05 100644
--- a/NEWS.txt
+++ b/NEWS.txt
@@ -8,6 +8,20 @@ upgrade, just in case you need to roll back to the previous 
version.
 (Cassandra version X + 1 will always be able to read data files created
 by version X, but the inverse is not necessarily the case.)
 
+1.2.1
+=
+
+Upgrading
+-
+- In CQL3, date string are no longer accepted as timeuuid value since a
+  date string is not a correct representation of a timeuuid. Instead, new
+  methods (minTimeuuid, maxTimeuuid, now, dateOf, unixTimestampOf) have 
been
+  introduced to make working on timeuuid from date string easy. cqlsh also
+  does not display timeuuid as date string (since this is a lossy
+  representation), but the new dateOf method can be used instead. Please
+  refer to the reference documentation 
(http://cassandra.apache.org/doc/cql3/CQL.html)
+  for more detail.
+
 
 1.2
 ===

http://git-wip-us.apache.org/repos/asf/cassandra/blob/8be7e5c0/doc/cql3/CQL.textile
--
diff --git a/doc/cql3/CQL.textile b/doc/cql3/CQL.textile
index da4eb90..93122b9 100644
--- a/doc/cql3/CQL.textile
+++ b/doc/cql3/CQL.textile
@@ -1,6 +1,6 @@
 
 
-h1. Cassandra Query Language (CQL) v3.0.0
+h1. Cassandra Query Language (CQL) v3.0.1
 
 
  
@@ -13,7 +13,7 @@ h2. CQL Syntax
 
 h3. Preamble
 
-This document describes the Cassandra Query Language (CQL) version 3. CQL v3 
is not backward compatible with CQL v2 and differs from it in numerous ways.
+This document describes the Cassandra Query Language (CQL) version 3. CQL v3 
is not backward compatible with CQL v2 and differs from it in numerous ways. 
Note that this document describes the last version of the languages. However, 
the "changes":#changes section provides the diff between the different versions 
of CQL v3.
 
 CQL v3 offers a model very close to SQL in the sense that data is put in 
_tables_ containing _rows_ of _columns_. For that reason, when used in this 
document, these terms (tables, rows and columns) have the same definition than 
they have in SQL. But please note that as such, they do *not* refer to the 
concept of rows and columns found in the internal implementation of Cassandra 

[jira] [Commented] (CASSANDRA-5165) Need to trim DC and RACK names in cassandra-topology.properties file

2013-01-18 Thread Alexey Zotov (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-5165?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13557137#comment-13557137
 ] 

Alexey Zotov commented on CASSANDRA-5165:
-

Thanks!

> Need to trim DC and RACK names in cassandra-topology.properties file
> 
>
> Key: CASSANDRA-5165
> URL: https://issues.apache.org/jira/browse/CASSANDRA-5165
> Project: Cassandra
>  Issue Type: Bug
>  Components: Core
>Affects Versions: 1.1.6
> Environment: cassandra-1.1.6 (DataStax distribution).
>Reporter: Alexey Zotov
>Assignee: Alexey Zotov
>Priority: Minor
>  Labels: snitch
> Fix For: 1.2.1
>
> Attachments: cassandra-1.2-5165_trim_spaces.txt
>
>
> Some misprints in cassandra-topology.properties file can be painful for 
> debugging. For example extra symbols at the end of line like a space. So 
> difference between "DC1:RACK1" and "DC1:RACK1 " couldn't be detected using 
> nodetool ring command.
> I think that symbols like a space shouldn't be allowed in DC/RACK names.  So 
> I suggest to trim them.
> The patch has been attached.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


svn commit: r1435062 - in /cassandra/site: publish/download/index.html src/settings.py

2013-01-18 Thread slebresne
Author: slebresne
Date: Fri Jan 18 09:54:17 2013
New Revision: 1435062

URL: http://svn.apache.org/viewvc?rev=1435062&view=rev
Log:
Update website for 1.1.9 release

Modified:
cassandra/site/publish/download/index.html
cassandra/site/src/settings.py

Modified: cassandra/site/publish/download/index.html
URL: 
http://svn.apache.org/viewvc/cassandra/site/publish/download/index.html?rev=1435062&r1=1435061&r2=1435062&view=diff
==
--- cassandra/site/publish/download/index.html (original)
+++ cassandra/site/publish/download/index.html Fri Jan 18 09:54:17 2013
@@ -111,16 +111,16 @@
   
   Previous stable branches of Cassandra continue to see periodic maintenance
   for some time after a new major release is made. The lastest release on the
-  1.1 branch is 1.1.8 (released on
-  2012-12-20).
+  1.1 branch is 1.1.9 (released on
+  2013-01-18).
   
 
   
 
-http://www.apache.org/dyn/closer.cgi?path=/cassandra/1.1.8/apache-cassandra-1.1.8-bin.tar.gz";>apache-cassandra-1.1.8-bin.tar.gz
-[http://www.apache.org/dist/cassandra/1.1.8/apache-cassandra-1.1.8-bin.tar.gz.asc";>PGP]
-[http://www.apache.org/dist/cassandra/1.1.8/apache-cassandra-1.1.8-bin.tar.gz.md5";>MD5]
-[http://www.apache.org/dist/cassandra/1.1.8/apache-cassandra-1.1.8-bin.tar.gz.sha1";>SHA1]
+http://www.apache.org/dyn/closer.cgi?path=/cassandra/1.1.9/apache-cassandra-1.1.9-bin.tar.gz";>apache-cassandra-1.1.9-bin.tar.gz
+[http://www.apache.org/dist/cassandra/1.1.9/apache-cassandra-1.1.9-bin.tar.gz.asc";>PGP]
+[http://www.apache.org/dist/cassandra/1.1.9/apache-cassandra-1.1.9-bin.tar.gz.md5";>MD5]
+[http://www.apache.org/dist/cassandra/1.1.9/apache-cassandra-1.1.9-bin.tar.gz.sha1";>SHA1]
 
   
   
@@ -163,10 +163,10 @@
 
   
 
-http://www.apache.org/dyn/closer.cgi?path=/cassandra/1.1.8/apache-cassandra-1.1.8-src.tar.gz";>apache-cassandra-1.1.8-src.tar.gz
-[http://www.apache.org/dist/cassandra/1.1.8/apache-cassandra-1.1.8-src.tar.gz.asc";>PGP]
-[http://www.apache.org/dist/cassandra/1.1.8/apache-cassandra-1.1.8-src.tar.gz.md5";>MD5]
-[http://www.apache.org/dist/cassandra/1.1.8/apache-cassandra-1.1.8-src.tar.gz.sha1";>SHA1]
+http://www.apache.org/dyn/closer.cgi?path=/cassandra/1.1.9/apache-cassandra-1.1.9-src.tar.gz";>apache-cassandra-1.1.9-src.tar.gz
+[http://www.apache.org/dist/cassandra/1.1.9/apache-cassandra-1.1.9-src.tar.gz.asc";>PGP]
+[http://www.apache.org/dist/cassandra/1.1.9/apache-cassandra-1.1.9-src.tar.gz.md5";>MD5]
+[http://www.apache.org/dist/cassandra/1.1.9/apache-cassandra-1.1.9-src.tar.gz.sha1";>SHA1]
 
   
   

Modified: cassandra/site/src/settings.py
URL: 
http://svn.apache.org/viewvc/cassandra/site/src/settings.py?rev=1435062&r1=1435061&r2=1435062&view=diff
==
--- cassandra/site/src/settings.py (original)
+++ cassandra/site/src/settings.py Fri Jan 18 09:54:17 2013
@@ -92,8 +92,8 @@ SITE_POST_PROCESSORS = {
 }
 
 class CassandraDef(object):
-oldstable_version = '1.1.8'
-oldstable_release_date = '2012-12-20'
+oldstable_version = '1.1.9'
+oldstable_release_date = '2013-01-18'
 oldstable_exists = True
 veryoldstable_version = '1.0.12'
 veryoldstable_release_date = '2012-10-04'




[jira] [Commented] (CASSANDRA-5167) Node isn't removed from system.peers after 'nodetool removenode'

2013-01-18 Thread Sylvain Lebresne (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-5167?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13557084#comment-13557084
 ] 

Sylvain Lebresne commented on CASSANDRA-5167:
-

bq. I'm not sure why we ever made a 'removeTokens' method instead of 
'removeEndpoint'

That slightly confused me too in CASSANDRA-4351, though I went for the lazy 
option of maintaining behavior blindly.

So definitely agreed on the idea. Two tiny remark on the patch though:
* in SS.handleStateRemoving, we call Gossiper.instance.removeEndpoint() but 
shouldn't we called SystemTable.removeEndpoint() too? In fact, it seems to me 
we may want to group both in a small utility method since at least when we call 
the Gossiper one, I think we always should call SystemTable one.
* in SS.handleStateNormal, ST.removeEndpoint should probably only be call if 
{{!isClient}} like in SS.excise().

> Node isn't removed from system.peers after 'nodetool removenode'
> 
>
> Key: CASSANDRA-5167
> URL: https://issues.apache.org/jira/browse/CASSANDRA-5167
> Project: Cassandra
>  Issue Type: Bug
>Affects Versions: 1.2.0
> Environment: Ubuntu 12.10, Java 1.7.0_09 (OpenJDK)
>Reporter: Nicolai Gylling
>Assignee: Brandon Williams
>Priority: Minor
> Fix For: 1.2.1
>
> Attachments: 5167.txt
>
>
> In a 3 node live cluster - After a replacement of a dead node, the old node 
> remains in the system.peers table, even after running 'nodetool removenode 
> '.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


Git Push Summary

2013-01-18 Thread slebresne
Updated Tags:  refs/tags/1.1.9-tentative [deleted] 7eb47c50c


Git Push Summary

2013-01-18 Thread slebresne
Updated Tags:  refs/tags/cassandra-1.1.9 [created] c22aaeebd