[jira] [Commented] (CASSANDRA-5121) system.peers.tokens is empty after node restart
[ 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
[ 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
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
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
[ 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
[ 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
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
[ 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
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
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
[ 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.
[ 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
[ 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
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
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
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
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
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
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
[ 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
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
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
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
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
[ 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
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
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
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
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
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
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
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.
[ 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
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
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
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
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
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
[ 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)
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
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
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.
[ 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
[ 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.
[ 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
[ 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
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
[ 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
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
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
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.
[ 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
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
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
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
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
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
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.
[ 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
[ 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
[ 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
[ 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
[ 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
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
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
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
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'
[ 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
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
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
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
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
[ 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'
[ 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
[ 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
[ 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
[ 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.
[ 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.
[ 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
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
[ 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
[ 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
[ 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
[ 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
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
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
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
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
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
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
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
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
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
[ 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
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'
[ 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
Updated Tags: refs/tags/1.1.9-tentative [deleted] 7eb47c50c
Git Push Summary
Updated Tags: refs/tags/cassandra-1.1.9 [created] c22aaeebd