Author: jbellis
Date: Tue May 17 22:12:59 2011
New Revision: 1104597
URL: http://svn.apache.org/viewvc?rev=1104597&view=rev
Log:
merge from 0.8
Removed:
cassandra/branches/cassandra-0.8.1/doc/cql/CQL.html
Modified:
cassandra/branches/cassandra-0.8.1/ (props changed)
cassandra/branches/cassandra-0.8.1/CHANGES.txt
cassandra/branches/cassandra-0.8.1/NEWS.txt
cassandra/branches/cassandra-0.8.1/build.xml
cassandra/branches/cassandra-0.8.1/conf/cassandra.yaml
cassandra/branches/cassandra-0.8.1/contrib/ (props changed)
cassandra/branches/cassandra-0.8.1/debian/changelog
cassandra/branches/cassandra-0.8.1/debian/init
cassandra/branches/cassandra-0.8.1/debian/rules
cassandra/branches/cassandra-0.8.1/doc/cql/CQL.textile
cassandra/branches/cassandra-0.8.1/drivers/py/cqlsh
cassandra/branches/cassandra-0.8.1/drivers/py/setup.py
cassandra/branches/cassandra-0.8.1/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java
(props changed)
cassandra/branches/cassandra-0.8.1/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java
(props changed)
cassandra/branches/cassandra-0.8.1/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java
(props changed)
cassandra/branches/cassandra-0.8.1/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java
(props changed)
cassandra/branches/cassandra-0.8.1/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java
(props changed)
cassandra/branches/cassandra-0.8.1/src/java/org/apache/cassandra/cli/Cli.g
cassandra/branches/cassandra-0.8.1/src/java/org/apache/cassandra/cli/CliClient.java
cassandra/branches/cassandra-0.8.1/src/java/org/apache/cassandra/cql/Cql.g
cassandra/branches/cassandra-0.8.1/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
cassandra/branches/cassandra-0.8.1/src/java/org/apache/cassandra/db/CompactionManager.java
cassandra/branches/cassandra-0.8.1/src/java/org/apache/cassandra/db/HintedHandOffManager.java
cassandra/branches/cassandra-0.8.1/src/java/org/apache/cassandra/io/sstable/SSTable.java
cassandra/branches/cassandra-0.8.1/src/java/org/apache/cassandra/io/util/BufferedRandomAccessFile.java
cassandra/branches/cassandra-0.8.1/src/resources/org/apache/cassandra/cli/CliHelp.yaml
cassandra/branches/cassandra-0.8.1/test/unit/org/apache/cassandra/cli/CliTest.java
Propchange: cassandra/branches/cassandra-0.8.1/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue May 17 22:12:59 2011
@@ -1,7 +1,7 @@
/cassandra/branches/cassandra-0.6:922689-1052356,1052358-1053452,1053454,1053456-1081914,1083000
-/cassandra/branches/cassandra-0.7:1026516-1102046,1102337
+/cassandra/branches/cassandra-0.7:1026516-1104371
/cassandra/branches/cassandra-0.7.0:1053690-1055654
-/cassandra/branches/cassandra-0.8:1090935-1102339,1102345
+/cassandra/branches/cassandra-0.8:1090935-1104595
/cassandra/tags/cassandra-0.7.0-rc3:1051699-1053689
/incubator/cassandra/branches/cassandra-0.3:774578-796573
/incubator/cassandra/branches/cassandra-0.4:810145-834239,834349-834350
Modified: cassandra/branches/cassandra-0.8.1/CHANGES.txt
URL:
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8.1/CHANGES.txt?rev=1104597&r1=1104596&r2=1104597&view=diff
==============================================================================
--- cassandra/branches/cassandra-0.8.1/CHANGES.txt (original)
+++ cassandra/branches/cassandra-0.8.1/CHANGES.txt Tue May 17 22:12:59 2011
@@ -10,6 +10,14 @@
(CASSANDRA-2583)
+0.8-?
+ * adjust hinted handoff page size to avoid OOM with large columns
+ (CASSANDRA-2652)
+ * update CQL consistency levels (CASSANDRA-2566)
+ * mark BRAF buffer invalid post-flush so we don't re-flush partial
+ buffers again, especially on CL writes (CASSANDRA-2660)
+
+
0.8.0-rc1
* faster flushes and compaction from fixing excessively pessimistic
rebuffering in BRAF (CASSANDRA-2581)
@@ -37,8 +45,10 @@
* initialize local ep state prior to gossip startup if needed (CASSANDRA-2638)
* fix counter increment lost after restart (CASSANDRA-2642)
* add quote-escaping via backslash to CLI (CASSANDRA-2623)
- * fig pig example script (CASSANDRA-2487)
+ * fix pig example script (CASSANDRA-2487)
* fix dynamic snitch race in adding latencies (CASSANDRA-2618)
+ * Start/stop cassandra after more important services such as mdadm in
+ debian packaging (CASSANDRA-2481)
0.8.0-beta2
Modified: cassandra/branches/cassandra-0.8.1/NEWS.txt
URL:
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8.1/NEWS.txt?rev=1104597&r1=1104596&r2=1104597&view=diff
==============================================================================
--- cassandra/branches/cassandra-0.8.1/NEWS.txt (original)
+++ cassandra/branches/cassandra-0.8.1/NEWS.txt Tue May 17 22:12:59 2011
@@ -62,6 +62,15 @@ JMX
- By default, JMX now listens on port 7199.
+0.7.6
+=====
+
+Upgrading
+---------
+ - Nothing specific to 0.7.6, but see 0.7.3 Upgrading if upgrading
+ from earlier than 0.7.1.
+
+
0.7.5
=====
Modified: cassandra/branches/cassandra-0.8.1/build.xml
URL:
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8.1/build.xml?rev=1104597&r1=1104596&r2=1104597&view=diff
==============================================================================
--- cassandra/branches/cassandra-0.8.1/build.xml (original)
+++ cassandra/branches/cassandra-0.8.1/build.xml Tue May 17 22:12:59 2011
@@ -221,6 +221,19 @@
<arg value="${build.src.gen-java}/org/apache/cassandra/cql/" />
</java>
</target>
+
+ <target name="generate-cql-html" depends="maven-ant-tasks-init"
description="Generate HTML from textile source">
+ <artifact:dependencies pathId="wikitext.classpath">
+ <dependency groupId="com.datastax.wikitext"
artifactId="wikitext-core-ant" version="1.3"/>
+ <dependency groupId="org.fusesource.wikitext"
artifactId="textile-core" version="1.3"/>
+ </artifact:dependencies>
+ <taskdef classpathref="wikitext.classpath"
resource="wikitexttasks.properties" />
+ <wikitext-to-html markupLanguage="Textile">
+ <fileset dir="${basedir}">
+ <include name="doc/cql/*.textile"/>
+ </fileset>
+ </wikitext-to-html>
+ </target>
<target name="scm-svn-info" description="Determines the current Subversion
URL with peg revision"
if="scm.provider.svn">
Modified: cassandra/branches/cassandra-0.8.1/conf/cassandra.yaml
URL:
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8.1/conf/cassandra.yaml?rev=1104597&r1=1104596&r2=1104597&view=diff
==============================================================================
--- cassandra/branches/cassandra-0.8.1/conf/cassandra.yaml (original)
+++ cassandra/branches/cassandra-0.8.1/conf/cassandra.yaml Tue May 17 22:12:59
2011
@@ -102,6 +102,7 @@ seed_provider:
- class_name: org.apache.cassandra.locator.SimpleSeedProvider
parameters:
# seeds is actually a comma-delimited list of addresses.
+ # Ex: "<ip1>,<ip2>,<ip3>"
- seeds: "127.0.0.1"
# emergency pressure valve: each time heap usage after a full (CMS)
Propchange: cassandra/branches/cassandra-0.8.1/contrib/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue May 17 22:12:59 2011
@@ -1,7 +1,7 @@
/cassandra/branches/cassandra-0.6/contrib:922689-1052356,1052358-1053452,1053454,1053456-1068009
-/cassandra/branches/cassandra-0.7/contrib:1026516-1102046,1102337
+/cassandra/branches/cassandra-0.7/contrib:1026516-1104371
/cassandra/branches/cassandra-0.7.0/contrib:1053690-1055654
-/cassandra/branches/cassandra-0.8/contrib:1090935-1102339,1102345
+/cassandra/branches/cassandra-0.8/contrib:1090935-1104595
/cassandra/tags/cassandra-0.7.0-rc3/contrib:1051699-1053689
/incubator/cassandra/branches/cassandra-0.3/contrib:774578-796573
/incubator/cassandra/branches/cassandra-0.4/contrib:810145-810987,810994-834239,834349-834350
Modified: cassandra/branches/cassandra-0.8.1/debian/changelog
URL:
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8.1/debian/changelog?rev=1104597&r1=1104596&r2=1104597&view=diff
==============================================================================
--- cassandra/branches/cassandra-0.8.1/debian/changelog (original)
+++ cassandra/branches/cassandra-0.8.1/debian/changelog Tue May 17 22:12:59 2011
@@ -2,7 +2,7 @@ cassandra (0.8.0~rc1) unstable; urgency=
* Release candidate
- -- Eric Evans <[email protected]> Tue, 10 May 2011 19:09:27 -0500
+ -- Eric Evans <[email protected]> Thu, 12 May 2011 18:35:26 -0500
cassandra (0.8.0~beta2) unstable; urgency=low
Modified: cassandra/branches/cassandra-0.8.1/debian/init
URL:
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8.1/debian/init?rev=1104597&r1=1104596&r2=1104597&view=diff
==============================================================================
--- cassandra/branches/cassandra-0.8.1/debian/init (original)
+++ cassandra/branches/cassandra-0.8.1/debian/init Tue May 17 22:12:59 2011
@@ -1,8 +1,10 @@
#! /bin/sh
### BEGIN INIT INFO
# Provides: cassandra
-# Required-Start: $remote_fs
-# Required-Stop: $remote_fs
+# Required-Start: $remote_fs $network $named $time
+# Required-Stop: $remote_fs $network $named $time
+# Should-Start: ntp mdadm
+# Should-Stop: ntp mdadm
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: distributed storage system for structured data
Modified: cassandra/branches/cassandra-0.8.1/debian/rules
URL:
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8.1/debian/rules?rev=1104597&r1=1104596&r2=1104597&view=diff
==============================================================================
--- cassandra/branches/cassandra-0.8.1/debian/rules (original)
+++ cassandra/branches/cassandra-0.8.1/debian/rules Tue May 17 22:12:59 2011
@@ -51,7 +51,7 @@ binary-indep: build install
dh_testdir
dh_testroot
dh_installchangelogs
- dh_installinit
+ dh_installinit -u'start 50 2 3 4 5 . stop 50 0 1 6'
dh_installdocs README.txt CHANGES.txt NEWS.txt
dh_compress
dh_fixperms
Modified: cassandra/branches/cassandra-0.8.1/doc/cql/CQL.textile
URL:
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8.1/doc/cql/CQL.textile?rev=1104597&r1=1104596&r2=1104597&view=diff
==============================================================================
--- cassandra/branches/cassandra-0.8.1/doc/cql/CQL.textile (original)
+++ cassandra/branches/cassandra-0.8.1/doc/cql/CQL.textile Tue May 17 22:12:59
2011
@@ -299,12 +299,12 @@ bc.
Consistency level specifications are made up the keyword @USING@, followed by
a consistency level identifier. Valid consistency levels are as follows:
-* @CONSISTENCY ZERO@
+* @CONSISTENCY ANY@
* @CONSISTENCY ONE@ (default)
* @CONSISTENCY QUORUM@
* @CONSISTENCY ALL@
-* @CONSISTENCY DCQUORUM@
-* @CONSISTENCY DCQUORUMSYNC@
+* @CONSISTENCY LOCAL_QUORUM@
+* @CONSISTENCY EACH_QUORUM@
h3(#terms). Term specification
Modified: cassandra/branches/cassandra-0.8.1/drivers/py/cqlsh
URL:
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8.1/drivers/py/cqlsh?rev=1104597&r1=1104596&r2=1104597&view=diff
==============================================================================
--- cassandra/branches/cassandra-0.8.1/drivers/py/cqlsh (original)
+++ cassandra/branches/cassandra-0.8.1/drivers/py/cqlsh Tue May 17 22:12:59 2011
@@ -30,7 +30,7 @@ try:
except ImportError:
sys.path.append(os.path.abspath(os.path.dirname(__file__)))
import cql
-from cql.results import ResultSet
+from cql.cursor import _COUNT_DESCRIPTION
HISTORY = os.path.join(os.path.expanduser('~'), '.cqlsh')
CQLTYPES = ("bytes", "ascii", "utf8", "timeuuid", "uuid", "long", "int")
@@ -131,7 +131,9 @@ class Shell(cmd.Cmd):
self.cursor.execute(statement)
- if isinstance(self.cursor.result, ResultSet):
+ if self.cursor.description is _COUNT_DESCRIPTION:
+ if self.cursor.result: print self.cursor.result[0]
+ else:
for x in range(self.cursor.rowcount):
row = self.cursor.fetchone()
self.printout(repr(row[0]), BLUE, False)
@@ -142,8 +144,6 @@ class Shell(cmd.Cmd):
self.printout(",", newline=False)
self.printout(repr(value), YELLOW, False)
self.printout("")
- else:
- if self.cursor.result: print self.cursor.result[0]
def emptyline(self):
pass
Modified: cassandra/branches/cassandra-0.8.1/drivers/py/setup.py
URL:
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8.1/drivers/py/setup.py?rev=1104597&r1=1104596&r2=1104597&view=diff
==============================================================================
--- cassandra/branches/cassandra-0.8.1/drivers/py/setup.py (original)
+++ cassandra/branches/cassandra-0.8.1/drivers/py/setup.py Tue May 17 22:12:59
2011
@@ -20,7 +20,7 @@ from os.path import abspath, join, dirna
setup(
name="cql",
- version="1.0.1",
+ version="1.0.2",
description="Cassandra Query Language driver",
long_description=open(abspath(join(dirname(__file__), 'README'))).read(),
url="http://cassandra.apache.org",
Propchange:
cassandra/branches/cassandra-0.8.1/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue May 17 22:12:59 2011
@@ -1,7 +1,7 @@
/cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:922689-1052356,1052358-1053452,1053454,1053456-1081914,1083000
-/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1026516-1102046,1102337
+/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1026516-1104371
/cassandra/branches/cassandra-0.7.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1053690-1055654
-/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1090935-1102339,1102345
+/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1090935-1104595
/cassandra/tags/cassandra-0.7.0-rc3/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1051699-1053689
/incubator/cassandra/branches/cassandra-0.3/interface/gen-java/org/apache/cassandra/service/Cassandra.java:774578-796573
/incubator/cassandra/branches/cassandra-0.4/interface/gen-java/org/apache/cassandra/service/Cassandra.java:810145-834239,834349-834350
Propchange:
cassandra/branches/cassandra-0.8.1/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue May 17 22:12:59 2011
@@ -1,7 +1,7 @@
/cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:922689-1052356,1052358-1053452,1053454,1053456-1081914,1083000
-/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1026516-1102046,1102337
+/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1026516-1104371
/cassandra/branches/cassandra-0.7.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1053690-1055654
-/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1090935-1102339,1102345
+/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1090935-1104595
/cassandra/tags/cassandra-0.7.0-rc3/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1051699-1053689
/incubator/cassandra/branches/cassandra-0.3/interface/gen-java/org/apache/cassandra/service/column_t.java:774578-792198
/incubator/cassandra/branches/cassandra-0.4/interface/gen-java/org/apache/cassandra/service/Column.java:810145-834239,834349-834350
Propchange:
cassandra/branches/cassandra-0.8.1/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue May 17 22:12:59 2011
@@ -1,7 +1,7 @@
/cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java:922689-1052356,1052358-1053452,1053454,1053456-1081914,1083000
-/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java:1026516-1102046,1102337
+/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java:1026516-1104371
/cassandra/branches/cassandra-0.7.0/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java:1053690-1055654
-/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java:1090935-1102339,1102345
+/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java:1090935-1104595
/cassandra/tags/cassandra-0.7.0-rc3/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java:1051699-1053689
/incubator/cassandra/branches/cassandra-0.3/interface/gen-java/org/apache/cassandra/service/InvalidRequestException.java:774578-796573
/incubator/cassandra/branches/cassandra-0.4/interface/gen-java/org/apache/cassandra/service/InvalidRequestException.java:810145-834239,834349-834350
Propchange:
cassandra/branches/cassandra-0.8.1/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue May 17 22:12:59 2011
@@ -1,7 +1,7 @@
/cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java:922689-1052356,1052358-1053452,1053454,1053456-1081914,1083000
-/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java:1026516-1102046,1102337
+/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java:1026516-1104371
/cassandra/branches/cassandra-0.7.0/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java:1053690-1055654
-/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java:1090935-1102339,1102345
+/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java:1090935-1104595
/cassandra/tags/cassandra-0.7.0-rc3/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java:1051699-1053689
/incubator/cassandra/branches/cassandra-0.3/interface/gen-java/org/apache/cassandra/service/NotFoundException.java:774578-796573
/incubator/cassandra/branches/cassandra-0.4/interface/gen-java/org/apache/cassandra/service/NotFoundException.java:810145-834239,834349-834350
Propchange:
cassandra/branches/cassandra-0.8.1/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue May 17 22:12:59 2011
@@ -1,7 +1,7 @@
/cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java:922689-1052356,1052358-1053452,1053454,1053456-1081914,1083000
-/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java:1026516-1102046,1102337
+/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java:1026516-1104371
/cassandra/branches/cassandra-0.7.0/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java:1053690-1055654
-/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java:1090935-1102339,1102345
+/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java:1090935-1104595
/cassandra/tags/cassandra-0.7.0-rc3/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java:1051699-1053689
/incubator/cassandra/branches/cassandra-0.3/interface/gen-java/org/apache/cassandra/service/superColumn_t.java:774578-792198
/incubator/cassandra/branches/cassandra-0.4/interface/gen-java/org/apache/cassandra/service/SuperColumn.java:810145-834239,834349-834350
Modified:
cassandra/branches/cassandra-0.8.1/src/java/org/apache/cassandra/cli/Cli.g
URL:
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8.1/src/java/org/apache/cassandra/cli/Cli.g?rev=1104597&r1=1104596&r2=1104597&view=diff
==============================================================================
--- cassandra/branches/cassandra-0.8.1/src/java/org/apache/cassandra/cli/Cli.g
(original)
+++ cassandra/branches/cassandra-0.8.1/src/java/org/apache/cassandra/cli/Cli.g
Tue May 17 22:12:59 2011
@@ -603,10 +603,57 @@ Identifier
// literals
StringLiteral
- :
- '\'' (~'\'')* '\'' ( '\'' (~'\'')* '\'' )*
+ : '\'' SingleStringCharacter* '\''
;
+fragment SingleStringCharacter
+ : ~('\'' | '\\')
+ | '\\' EscapeSequence
+ ;
+
+fragment EscapeSequence
+ : CharacterEscapeSequence
+ | '0'
+ | HexEscapeSequence
+ | UnicodeEscapeSequence
+ ;
+
+fragment CharacterEscapeSequence
+ : SingleEscapeCharacter
+ | NonEscapeCharacter
+ ;
+
+fragment NonEscapeCharacter
+ : ~(EscapeCharacter)
+ ;
+
+fragment SingleEscapeCharacter
+ : '\'' | '"' | '\\' | 'b' | 'f' | 'n' | 'r' | 't' | 'v'
+ ;
+
+fragment EscapeCharacter
+ : SingleEscapeCharacter
+ | DecimalDigit
+ | 'x'
+ | 'u'
+ ;
+
+fragment HexEscapeSequence
+ : 'x' HexDigit HexDigit
+ ;
+
+fragment UnicodeEscapeSequence
+ : 'u' HexDigit HexDigit HexDigit HexDigit
+ ;
+
+fragment HexDigit
+ : DecimalDigit | ('a'..'f') | ('A'..'F')
+ ;
+
+fragment DecimalDigit
+ : ('0'..'9')
+ ;
+
//
// syntactic elements
//
Modified:
cassandra/branches/cassandra-0.8.1/src/java/org/apache/cassandra/cli/CliClient.java
URL:
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8.1/src/java/org/apache/cassandra/cli/CliClient.java?rev=1104597&r1=1104596&r2=1104597&view=diff
==============================================================================
---
cassandra/branches/cassandra-0.8.1/src/java/org/apache/cassandra/cli/CliClient.java
(original)
+++
cassandra/branches/cassandra-0.8.1/src/java/org/apache/cassandra/cli/CliClient.java
Tue May 17 22:12:59 2011
@@ -61,13 +61,14 @@ public class CliClient
*/
public enum Function
{
- BYTES (BytesType.instance),
- INTEGER (IntegerType.instance),
- LONG (LongType.instance),
- LEXICALUUID (LexicalUUIDType.instance),
- TIMEUUID (TimeUUIDType.instance),
- UTF8 (UTF8Type.instance),
- ASCII (AsciiType.instance);
+ BYTES (BytesType.instance),
+ INTEGER (IntegerType.instance),
+ LONG (LongType.instance),
+ LEXICALUUID (LexicalUUIDType.instance),
+ TIMEUUID (TimeUUIDType.instance),
+ UTF8 (UTF8Type.instance),
+ ASCII (AsciiType.instance),
+ COUNTERCOLUMN (CounterColumnType.instance);
private AbstractType validator;
@@ -1376,6 +1377,9 @@ public class CliClient
return;
}
+ // making string representation look property e.g.
o.a.c.db.marshal.UTF8Type
+ defaultType = comparator.getClass().getName();
+
if (assumptionElement.equals("COMPARATOR"))
{
columnFamily.setComparator_type(defaultType);
Modified:
cassandra/branches/cassandra-0.8.1/src/java/org/apache/cassandra/cql/Cql.g
URL:
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8.1/src/java/org/apache/cassandra/cql/Cql.g?rev=1104597&r1=1104596&r2=1104597&view=diff
==============================================================================
--- cassandra/branches/cassandra-0.8.1/src/java/org/apache/cassandra/cql/Cql.g
(original)
+++ cassandra/branches/cassandra-0.8.1/src/java/org/apache/cassandra/cql/Cql.g
Tue May 17 22:12:59 2011
@@ -440,9 +440,10 @@ K_USING: U S I N G;
K_CONSISTENCY: C O N S I S T E N C Y;
K_LEVEL: ( O N E
| Q U O R U M
- | A L L
- | D C Q U O R U M
- | D C Q U O R U M S Y N C
+ | A L L
+ | A N Y
+ | L O C A L '_' Q U O R U M
+ | E A C H '_' Q U O R U M
)
;
K_USE: U S E;
Modified:
cassandra/branches/cassandra-0.8.1/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
URL:
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8.1/src/java/org/apache/cassandra/db/ColumnFamilyStore.java?rev=1104597&r1=1104596&r2=1104597&view=diff
==============================================================================
---
cassandra/branches/cassandra-0.8.1/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
(original)
+++
cassandra/branches/cassandra-0.8.1/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
Tue May 17 22:12:59 2011
@@ -461,6 +461,7 @@ public class ColumnFamilyStore implement
*/
public static void scrubDataDirectories(String table, String columnFamily)
{
+ logger.info("Removing compacted SSTable files (see
http://wiki.apache.org/cassandra/MemtableSSTable)");
for (Map.Entry<Descriptor,Set<Component>> sstableFiles : files(table,
columnFamily, true).entrySet())
{
Descriptor desc = sstableFiles.getKey();
Modified:
cassandra/branches/cassandra-0.8.1/src/java/org/apache/cassandra/db/CompactionManager.java
URL:
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8.1/src/java/org/apache/cassandra/db/CompactionManager.java?rev=1104597&r1=1104596&r2=1104597&view=diff
==============================================================================
---
cassandra/branches/cassandra-0.8.1/src/java/org/apache/cassandra/db/CompactionManager.java
(original)
+++
cassandra/branches/cassandra-0.8.1/src/java/org/apache/cassandra/db/CompactionManager.java
Tue May 17 22:12:59 2011
@@ -845,19 +845,19 @@ public class CompactionManager implement
totalkeysWritten++;
}
else
- {
- cfs.invalidateCachedRow(row.getKey());
- if (!indexedColumns.isEmpty() || isCommutative)
+ {
+ cfs.invalidateCachedRow(row.getKey());
+ if (!indexedColumns.isEmpty() || isCommutative)
{
while (row.hasNext())
{
IColumn column = row.next();
if (column instanceof CounterColumn)
-
renewer.maybeRenew((CounterColumn)column);
+ renewer.maybeRenew((CounterColumn)
column);
if (indexedColumns.contains(column.name()))
Table.cleanupIndexEntry(cfs,
row.getKey().key, column);
}
- }
+ }
}
}
}
Modified:
cassandra/branches/cassandra-0.8.1/src/java/org/apache/cassandra/db/HintedHandOffManager.java
URL:
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8.1/src/java/org/apache/cassandra/db/HintedHandOffManager.java?rev=1104597&r1=1104596&r2=1104597&view=diff
==============================================================================
---
cassandra/branches/cassandra-0.8.1/src/java/org/apache/cassandra/db/HintedHandOffManager.java
(original)
+++
cassandra/branches/cassandra-0.8.1/src/java/org/apache/cassandra/db/HintedHandOffManager.java
Tue May 17 22:12:59 2011
@@ -115,7 +115,7 @@ public class HintedHandOffManager implem
logger_.debug("Created HHOM instance, registered MBean.");
}
- private static boolean sendMessage(InetAddress endpoint, String tableName,
String cfName, ByteBuffer key) throws IOException
+ private static boolean sendRow(InetAddress endpoint, String tableName,
String cfName, ByteBuffer key) throws IOException
{
if (!Gossiper.instance.isKnownEndpoint(endpoint))
{
@@ -130,10 +130,21 @@ public class HintedHandOffManager implem
Table table = Table.open(tableName);
DecoratedKey<?> dkey =
StorageService.getPartitioner().decorateKey(key);
ColumnFamilyStore cfs = table.getColumnFamilyStore(cfName);
+
+ int pageSize = PAGE_SIZE;
+ // send less columns per page if they are very large
+ if (cfs.getMeanColumns() > 0)
+ {
+ int averageColumnSize = (int) (cfs.getMeanRowSize() /
cfs.getMeanColumns());
+ pageSize = Math.min(PAGE_SIZE,
DatabaseDescriptor.getInMemoryCompactionLimit() / averageColumnSize);
+ pageSize = Math.max(2, pageSize); // page size of 1 does not allow
actual paging b/c of >= behavior on startColumn
+ logger_.debug("average hinted-row column size is {}; using
pageSize of {}", averageColumnSize, pageSize);
+ }
+
ByteBuffer startColumn = ByteBufferUtil.EMPTY_BYTE_BUFFER;
while (true)
{
- QueryFilter filter = QueryFilter.getSliceFilter(dkey, new
QueryPath(cfs.getColumnFamilyName()), startColumn,
ByteBufferUtil.EMPTY_BYTE_BUFFER, false, PAGE_SIZE);
+ QueryFilter filter = QueryFilter.getSliceFilter(dkey, new
QueryPath(cfs.getColumnFamilyName()), startColumn,
ByteBufferUtil.EMPTY_BYTE_BUFFER, false, pageSize);
ColumnFamily cf = cfs.getColumnFamily(filter);
if (pagingFinished(cf, startColumn))
break;
@@ -326,7 +337,7 @@ public class HintedHandOffManager implem
for (IColumn tableCF : tableCFs)
{
String[] parts = getTableAndCFNames(tableCF.name());
- if (sendMessage(endpoint, parts[0], parts[1],
keyColumn.name()))
+ if (sendRow(endpoint, parts[0], parts[1],
keyColumn.name()))
{
deleteHintKey(endpointAsUTF8, keyColumn.name(),
tableCF.name(), tableCF.timestamp());
rowsReplayed++;
Modified:
cassandra/branches/cassandra-0.8.1/src/java/org/apache/cassandra/io/sstable/SSTable.java
URL:
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8.1/src/java/org/apache/cassandra/io/sstable/SSTable.java?rev=1104597&r1=1104596&r2=1104597&view=diff
==============================================================================
---
cassandra/branches/cassandra-0.8.1/src/java/org/apache/cassandra/io/sstable/SSTable.java
(original)
+++
cassandra/branches/cassandra-0.8.1/src/java/org/apache/cassandra/io/sstable/SSTable.java
Tue May 17 22:12:59 2011
@@ -156,7 +156,7 @@ public abstract class SSTable
{
throw new IOError(e);
}
- logger.info("Deleted " + desc);
+ logger.debug("Deleted {}", desc);
return true;
}
Modified:
cassandra/branches/cassandra-0.8.1/src/java/org/apache/cassandra/io/util/BufferedRandomAccessFile.java
URL:
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8.1/src/java/org/apache/cassandra/io/util/BufferedRandomAccessFile.java?rev=1104597&r1=1104596&r2=1104597&view=diff
==============================================================================
---
cassandra/branches/cassandra-0.8.1/src/java/org/apache/cassandra/io/util/BufferedRandomAccessFile.java
(original)
+++
cassandra/branches/cassandra-0.8.1/src/java/org/apache/cassandra/io/util/BufferedRandomAccessFile.java
Tue May 17 22:12:59 2011
@@ -128,6 +128,9 @@ public class BufferedRandomAccessFile ex
fd = CLibrary.getfd(this.getFD());
}
+ /**
+ * Flush (flush()) whatever writes are pending, and block until the data
has been persistently committed (fsync()).
+ */
public void sync() throws IOException
{
if (syncNeeded)
@@ -150,6 +153,11 @@ public class BufferedRandomAccessFile ex
}
}
+ /**
+ * If we are dirty, flush dirty contents to the operating system. Does not
imply fsync().
+ *
+ * Currently, for implementation reasons, this also invalidates the buffer.
+ */
public void flush() throws IOException
{
if (isDirty)
@@ -181,6 +189,9 @@ public class BufferedRandomAccessFile ex
}
+ // Remember that we wrote, so we don't write it again on next
flush().
+ resetBuffer();
+
isDirty = false;
}
}
@@ -220,16 +231,18 @@ public class BufferedRandomAccessFile ex
reBuffer();
}
+ private void resetBuffer()
+ {
+ bufferOffset = current;
+ validBufferBytes = 0;
+ }
+
private void reBuffer() throws IOException
{
flush(); // synchronizing buffer and file on disk
-
- bufferOffset = current;
+ resetBuffer();
if (bufferOffset >= channel.size())
- {
- validBufferBytes = 0;
return;
- }
if (bufferOffset < minBufferOffset)
minBufferOffset = bufferOffset;
Modified:
cassandra/branches/cassandra-0.8.1/src/resources/org/apache/cassandra/cli/CliHelp.yaml
URL:
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8.1/src/resources/org/apache/cassandra/cli/CliHelp.yaml?rev=1104597&r1=1104596&r2=1104597&view=diff
==============================================================================
---
cassandra/branches/cassandra-0.8.1/src/resources/org/apache/cassandra/cli/CliHelp.yaml
(original)
+++
cassandra/branches/cassandra-0.8.1/src/resources/org/apache/cassandra/cli/CliHelp.yaml
Tue May 17 22:12:59 2011
@@ -1074,13 +1074,13 @@ commands:
- type: Validator type to use when processing values.
Supported values are:
- - AsciiType
- - BytesType
- - CounterColumnType (distributed counter column)
- - IntegerType (a generic variable-length integer type)
- - LexicalUUIDType
- - LongType
- - UTF8Type
+ - ascii
+ - bytes
+ - counterColumn (distributed counter column)
+ - integer (a generic variable-length integer type)
+ - lexicalUUID
+ - long
+ - utf8
It is also valid to specify the fully-qualified class name to a
class that
extends org.apache.Cassandra.db.marshal.AbstractType.
Modified:
cassandra/branches/cassandra-0.8.1/test/unit/org/apache/cassandra/cli/CliTest.java
URL:
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8.1/test/unit/org/apache/cassandra/cli/CliTest.java?rev=1104597&r1=1104596&r2=1104597&view=diff
==============================================================================
---
cassandra/branches/cassandra-0.8.1/test/unit/org/apache/cassandra/cli/CliTest.java
(original)
+++
cassandra/branches/cassandra-0.8.1/test/unit/org/apache/cassandra/cli/CliTest.java
Tue May 17 22:12:59 2011
@@ -40,9 +40,14 @@ public class CliTest extends CleanupHelp
"create column family CF1 with comparator=UTF8Type and
column_metadata=[{ column_name:world, validation_class:IntegerType,
index_type:0, index_name:IdxName }, { column_name:world2,
validation_class:LongType, index_type:KEYS, index_name:LongIdxName}];",
"assume CF1 keys as utf8;",
"set CF1[hello][world] = 123848374878933948398384;",
+ "set CF1[hello][test_quote] = 'value\\'';",
+ "set CF1['k\\'ey'][VALUE] = 'VAL';",
+ "set CF1['k\\'ey'][VALUE] = 'VAL\\'';",
"set CF1[hello][-31337] = 'some string value';",
"get CF1[hello][-31337];",
"get CF1[hello][world];",
+ "get CF1[hello][test_quote];",
+ "get CF1['k\\'ey'][VALUE]",
"set CF1[hello][-31337] = -23876;",
"set CF1[hello][-31337] = long(-23876);",
"set CF1[hello][world2] = 15;",