[jira] [Commented] (CASSANDRA-4117) show keyspaces command in cli causes error and does not show keyspaces other than system
[ https://issues.apache.org/jira/browse/CASSANDRA-4117?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13246994#comment-13246994 ] Manoj Kanta Mainali commented on CASSANDRA-4117: I figured out to print the whole stack trace and here it is: java.lang.IllegalArgumentException at java.nio.Buffer.limit(Buffer.java:249) at org.apache.cassandra.db.marshal.AbstractCompositeType.getBytes(AbstractCompositeType.java:51) at org.apache.cassandra.db.marshal.AbstractCompositeType.getWithShortLength(AbstractCompositeType.java:60) at org.apache.cassandra.db.marshal.AbstractCompositeType.getString(AbstractCompositeType.java:140) at org.apache.cassandra.cli.CliClient.describeColumnFamily(CliClient.java:2020) at org.apache.cassandra.cli.CliClient.describeKeySpace(CliClient.java:1943) at org.apache.cassandra.cli.CliClient.executeShowKeySpaces(CliClient.java:1542) at org.apache.cassandra.cli.CliClient.executeCLIStatement(CliClient.java:246) at org.apache.cassandra.cli.CliMain.processStatementInteractive(CliMain.java:219) at org.apache.cassandra.cli.CliMain.main(CliMain.java:346) > show keyspaces command in cli causes error and does not show keyspaces other > than system > > > Key: CASSANDRA-4117 > URL: https://issues.apache.org/jira/browse/CASSANDRA-4117 > Project: Cassandra > Issue Type: Bug >Affects Versions: 1.1.0 >Reporter: Manoj Kanta Mainali >Priority: Minor > > I have been working with 1.1.0-beta2 version and I am not able to see the > created keyspaces via show keyspaces in cli. > After initiating the cassandra-cli, I did the following > 1. create keyspace foo; > 2. use foo; > 3. create column family foo; > 4. show keyspaces; > Only the result for the system keyspace is shown. > I added some debug statements in the code and I can see that in the > executeShowKeySpaces in CliClient, the size of keySpaces retrieved is equal > to the number of keyspaces in the cluster,i.e. in my case equal to 2, however > only null is displayed after printing the system keyspaces. > I added a try catch statement around the for loop in the method and printed > the exception messages in the cli and got following > When printing the exception e itself : > java.lang.IllegalArgumentException > When printing the e.getStackTrace()[0] and e.getStackTrace()[1]: > java.nio.Buffer.limit(Buffer.java:249) > org.apache.cassandra.db.marshal.AbstractCompositeType.getBytes(AbstractCompositeType.java:51) > I would love to post the whole stack trace, but at the moment I am not sure > how I can do that through sessionState.out.println -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Created] (CASSANDRA-4117) show keyspaces command in cli causes error and does not show keyspaces other than system
show keyspaces command in cli causes error and does not show keyspaces other than system Key: CASSANDRA-4117 URL: https://issues.apache.org/jira/browse/CASSANDRA-4117 Project: Cassandra Issue Type: Bug Affects Versions: 1.1.0 Reporter: Manoj Kanta Mainali Priority: Minor I have been working with 1.1.0-beta2 version and I am not able to see the created keyspaces via show keyspaces in cli. After initiating the cassandra-cli, I did the following 1. create keyspace foo; 2. use foo; 3. create column family foo; 4. show keyspaces; Only the result for the system keyspace is shown. I added some debug statements in the code and I can see that in the executeShowKeySpaces in CliClient, the size of keySpaces retrieved is equal to the number of keyspaces in the cluster,i.e. in my case equal to 2, however only null is displayed after printing the system keyspaces. I added a try catch statement around the for loop in the method and printed the exception messages in the cli and got following When printing the exception e itself : java.lang.IllegalArgumentException When printing the e.getStackTrace()[0] and e.getStackTrace()[1]: java.nio.Buffer.limit(Buffer.java:249) org.apache.cassandra.db.marshal.AbstractCompositeType.getBytes(AbstractCompositeType.java:51) I would love to post the whole stack trace, but at the moment I am not sure how I can do that through sessionState.out.println -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (CASSANDRA-4104) Cassandra appears to hang when JNA enabled and heapsize > free memory
[ https://issues.apache.org/jira/browse/CASSANDRA-4104?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13246931#comment-13246931 ] Joaquin Casares commented on CASSANDRA-4104: I did manage to see this with 512MB of RAM and a heap space of 256MB. -f didn't help and output.log wasn't written yet. I do agree this is out of scope since Cassandra shouldn't be run on such a small system. Hopefully in the future mlockall or Java will error out a bit nicer. > Cassandra appears to hang when JNA enabled and heapsize > free memory > - > > Key: CASSANDRA-4104 > URL: https://issues.apache.org/jira/browse/CASSANDRA-4104 > Project: Cassandra > Issue Type: Bug >Affects Versions: 1.0.8 >Reporter: Joaquin Casares >Priority: Minor > Labels: datastax_qa > > When JNA is enabled heapsize is larger than free memory, all that is printed > out is the classpath, then the printouts stop. > If you hit enter again, you get the commandline, but no Cassandra process is > running. > Tested on both OpenJDK and Oracle Java. > {noformat} > datastax@datastax-image:~/repos/cassandra$ free -m > total used free sharedbuffers cached > Mem: 2008740 1267 0 3 54 > -/+ buffers/cache:682 1326 > Swap:0 0 0 > datastax@datastax-image:~/repos/cassandra$ sudo bin/cassandra > datastax@datastax-image:~/repos/cassandra$ INFO 14:31:32,520 Logging > initialized > INFO 14:31:32,533 JVM vendor/version: Java HotSpot(TM) 64-Bit Server > VM/1.6.0_31 > INFO 14:31:32,534 Heap size: 1247805440/1247805440 > INFO 14:31:32,534 Classpath: > bin/../conf:bin/../build/classes/main:bin/../build/classes/thrift:bin/../lib/antlr-3.2.jar:bin/../lib/avro-1.4.0-fixes.jar:bin/../lib/avro-1.4.0-sources-fixes.jar:bin/../lib/commons-cli-1.1.jar:bin/../lib/commons-codec-1.2.jar:bin/../lib/commons-lang-2.4.jar:bin/../lib/compress-lzf-0.8.4.jar:bin/../lib/concurrentlinkedhashmap-lru-1.2.jar:bin/../lib/guava-r08.jar:bin/../lib/high-scale-lib-1.1.2.jar:bin/../lib/jackson-core-asl-1.4.0.jar:bin/../lib/jackson-mapper-asl-1.4.0.jar:bin/../lib/jamm-0.2.5.jar:bin/../lib/jline-0.9.94.jar:bin/../lib/jna.jar:bin/../lib/json-simple-1.1.jar:bin/../lib/libthrift-0.6.jar:bin/../lib/log4j-1.2.16.jar:bin/../lib/servlet-api-2.5-20081211.jar:bin/../lib/slf4j-api-1.6.1.jar:bin/../lib/slf4j-log4j12-1.6.1.jar:bin/../lib/snakeyaml-1.6.jar:bin/../lib/snappy-java-1.0.4.1.jar:bin/../lib/jamm-0.2.5.jar > datastax@datastax-image:~/repos/cassandra$ ps auwx | grep cass > datastax 18374 1.0 0.0 13448 904 pts/2S+ 14:32 0:00 grep > --color=auto cass > {noformat} -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (CASSANDRA-4115) UNREACHABLE schema after decommissioning a non-seed node
[ https://issues.apache.org/jira/browse/CASSANDRA-4115?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13246921#comment-13246921 ] Tyler Patterson commented on CASSANDRA-4115: I tested and got it on branch 1.0.9-tentative and release 1.0.8. I added unavailable_schema_test.py to the master branch of dtest. > UNREACHABLE schema after decommissioning a non-seed node > > > Key: CASSANDRA-4115 > URL: https://issues.apache.org/jira/browse/CASSANDRA-4115 > Project: Cassandra > Issue Type: Bug > Environment: ccm using the following unavailable_schema_test.py dtest. >Reporter: Tyler Patterson >Assignee: Brandon Williams >Priority: Minor > > decommission a non-seed node, sleep 30 seconds, then use thrift to check the > schema. UNREACHABLE is listed: > {'75dc4c07-3c1a-3013-ad7d-11fb34208465': ['127.0.0.1'], > 'UNREACHABLE': ['127.0.0.2']} -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (CASSANDRA-2897) Secondary indexes without read-before-write
[ https://issues.apache.org/jira/browse/CASSANDRA-2897?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13246789#comment-13246789 ] Jonathan Ellis commented on CASSANDRA-2897: --- To summarize, I think an implementation of this would look something like this: # Get rid of the synchronized oldIndexColumns code in Table.apply; on write, all we need to do is add an index entry for the newly-written value # Index read code (ColumnFamilyStore.getIndexedIterator) will need to double-check the rows returned by the index to make sure the column value still matches the indexed one; if it does not, delete the index entry so we don't keep making the same mistake # (The hard part, as described in the immediately previous comment) Change AbstractCompactionRow write implementations to delete old index entries as well; that is, we create index tombstones for each column value that is NOT the one retained after the compaction merge. Specifically, PrecompactedRow::merge and LazilyCompactedRow::Reducer. # Existing index tests (in ColumnFamilyStoreTest::testIndexDeletions and ::testIndexUpdate) are fine for parts 1-2, but we should add a new test for 3 to make sure that index-update-on-compaction works as advertised > Secondary indexes without read-before-write > --- > > Key: CASSANDRA-2897 > URL: https://issues.apache.org/jira/browse/CASSANDRA-2897 > Project: Cassandra > Issue Type: Improvement > Components: Core >Affects Versions: 0.7.0 >Reporter: Sylvain Lebresne >Priority: Minor > Labels: secondary_index > > Currently, secondary index updates require a read-before-write to maintain > the index consistency. Keeping the index consistent at all time is not > necessary however. We could let the (secondary) index get inconsistent on > writes and repair those on reads. This would be easy because on reads, we > make sure to request the indexed columns anyway, so we can just skip the row > that are not needed and repair the index at the same time. > This does trade work on writes for work on reads. However, read-before-write > is sufficiently costly that it will likely be a win overall. > There is (at least) two small technical difficulties here though: > # If we repair on read, this will be racy with writes, so we'll probably have > to synchronize there. > # We probably shouldn't only rely on read to repair and we should also have a > task to repair the index for things that are rarely read. It's unclear how to > make that low impact though. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (CASSANDRA-3818) disabling m-a-t for fun and profit (and other ant stuff)
[ https://issues.apache.org/jira/browse/CASSANDRA-3818?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13246779#comment-13246779 ] Stephen Connolly commented on CASSANDRA-3818: - I will review in the next couple of days as soon as I get the bandwidth > disabling m-a-t for fun and profit (and other ant stuff) > > > Key: CASSANDRA-3818 > URL: https://issues.apache.org/jira/browse/CASSANDRA-3818 > Project: Cassandra > Issue Type: Bug > Components: Core, Packaging >Affects Versions: 1.0.7 >Reporter: Eric Evans >Assignee: Eric Evans >Priority: Minor > Labels: build > Fix For: 1.1.1 > > Attachments: v1-0001-CASSANDRA-3818-keep-init-in-init-target.txt, > v1-0002-clean-up-avro-generation-dependencies-and-dependants.txt, > v1-0003-remove-useless-build-subprojects-target.txt, > v1-0004-group-test-targets-under-test-all.txt, > v1-0005-add-property-to-disable-maven-junk.txt, > v1-0006-add-property-to-disable-rat-license-header-writing.txt, > v1-0007-don-t-needlessly-regenerate-thrift-code.txt > > > It should be possible to disable maven-ant-tasks for environments with more > rigid dependency control, or where network access isn't available. > Patches to follow. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Resolved] (CASSANDRA-3770) Timestamp datatype in CQL gets weird value?
[ https://issues.apache.org/jira/browse/CASSANDRA-3770?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jonathan Ellis resolved CASSANDRA-3770. --- Resolution: Cannot Reproduce Fix Version/s: (was: 1.2) > Timestamp datatype in CQL gets weird value? > --- > > Key: CASSANDRA-3770 > URL: https://issues.apache.org/jira/browse/CASSANDRA-3770 > Project: Cassandra > Issue Type: New Feature > Environment: MacOS, Java >Reporter: Jawahar Prasad JP >Priority: Minor > Labels: cql, java > > Hi.. > I have created a columnfamily through CQL, having datatype as timestamp, > I generate timestamp like this in Java: > System.currentTimeMillis() > (or) > System.currentTimeMillis()*1000 > When I see the output through CQL, I get the data like below: > 1.32725062505e+12 > Also, I am not able to use any operators against this (like > '01 January > 2012' etc.,), I get the below error: > No indexed columns present in by-columns clause with "equals" operator > But, I have created an index for the timestamp column. > Any help ? -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (CASSANDRA-3945) Support incremental/batch sizes for BulkRecordWriter, due to GC overhead issues
[ https://issues.apache.org/jira/browse/CASSANDRA-3945?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13246763#comment-13246763 ] Jonathan Ellis commented on CASSANDRA-3945: --- 3859 has been committed. > Support incremental/batch sizes for BulkRecordWriter, due to GC overhead > issues > --- > > Key: CASSANDRA-3945 > URL: https://issues.apache.org/jira/browse/CASSANDRA-3945 > Project: Cassandra > Issue Type: Bug >Reporter: Chris Goffinet >Assignee: Chris Goffinet >Priority: Minor > Fix For: 1.1.1 > > > When loading large amounts of data, currently the BulkRecordWriter will write > out all the sstables, then stream them. This actually caused us GC overhead > issues, due to our heap sizes for reducers. We ran into a problem where the > number of SSTables on disk that had to be open would cause the jvm process to > die. We also wanted a way to incrementally stream them as we created them. I > created support for setting this, the default behavior is wait for them to be > created. But if you increase to >= 1, you can determine the batch size. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (CASSANDRA-3818) disabling m-a-t for fun and profit (and other ant stuff)
[ https://issues.apache.org/jira/browse/CASSANDRA-3818?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jonathan Ellis updated CASSANDRA-3818: -- Reviewer: stephenc > disabling m-a-t for fun and profit (and other ant stuff) > > > Key: CASSANDRA-3818 > URL: https://issues.apache.org/jira/browse/CASSANDRA-3818 > Project: Cassandra > Issue Type: Bug > Components: Core, Packaging >Affects Versions: 1.0.7 >Reporter: Eric Evans >Assignee: Eric Evans >Priority: Minor > Labels: build > Fix For: 1.1.1 > > Attachments: v1-0001-CASSANDRA-3818-keep-init-in-init-target.txt, > v1-0002-clean-up-avro-generation-dependencies-and-dependants.txt, > v1-0003-remove-useless-build-subprojects-target.txt, > v1-0004-group-test-targets-under-test-all.txt, > v1-0005-add-property-to-disable-maven-junk.txt, > v1-0006-add-property-to-disable-rat-license-header-writing.txt, > v1-0007-don-t-needlessly-regenerate-thrift-code.txt > > > It should be possible to disable maven-ant-tasks for environments with more > rigid dependency control, or where network access isn't available. > Patches to follow. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (CASSANDRA-3702) CQL count() needs paging support
[ https://issues.apache.org/jira/browse/CASSANDRA-3702?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jonathan Ellis updated CASSANDRA-3702: -- Labels: lhf (was: ) > CQL count() needs paging support > > > Key: CASSANDRA-3702 > URL: https://issues.apache.org/jira/browse/CASSANDRA-3702 > Project: Cassandra > Issue Type: Sub-task > Components: Tools >Reporter: Nick Bailey > Labels: lhf > Fix For: 1.1.1 > > > Doing > {noformat} > SELECT count(*) from ; > {noformat} > will max out at 10,000 because that is the default limit for cql queries. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (CASSANDRA-3785) Support slice with exclusive start and stop
[ https://issues.apache.org/jira/browse/CASSANDRA-3785?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jonathan Ellis updated CASSANDRA-3785: -- Reviewer: jbellis > Support slice with exclusive start and stop > --- > > Key: CASSANDRA-3785 > URL: https://issues.apache.org/jira/browse/CASSANDRA-3785 > Project: Cassandra > Issue Type: Sub-task > Components: Core >Reporter: Sylvain Lebresne >Assignee: Sylvain Lebresne > Labels: cql3 > Fix For: 1.1.1 > > Attachments: 3785.patch > > > Currently, slices are always start and end inclusive. However, for CQL 3.0, > we already differenciate between inclusivity/exclusivity for the row key and > for the component of composite columns. It would be nice to always support > that distinction. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (CASSANDRA-3919) Dropping a column should do more than just remove the definition
[ https://issues.apache.org/jira/browse/CASSANDRA-3919?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13246756#comment-13246756 ] Jonathan Ellis commented on CASSANDRA-3919: --- This is conceptually simple. At a high level this just involves - adding a dropped_columns Set to CFMetadata - wiring that in to AlterTableStatement - updating AbstractCompactedRow implementations to leave them out of merged rows We don't even have to update the IColumnIterator implementations to ignore dropped columns, since CQL3 SelectStatement already rejects non-existing column names in prepare(). The one wrinkle I can think of is that dropping columns should not be allowed with COMPACT STORAGE. Should be easy to check for that in the CFMetadata, though (i.e., empty column_aliases). > Dropping a column should do more than just remove the definition > > > Key: CASSANDRA-3919 > URL: https://issues.apache.org/jira/browse/CASSANDRA-3919 > Project: Cassandra > Issue Type: Sub-task > Components: Core >Reporter: Jonathan Ellis >Assignee: Sylvain Lebresne > Labels: compaction, cql > Fix For: 1.1.1 > > > Dropping a column should: > - immediately make it unavailable for {{SELECT}}, including {{SELECT *}} > - eventually (i.e., post-compaction) reclaim the space formerly used by that > column -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (CASSANDRA-3990) cqlsh support for CQL 3
[ https://issues.apache.org/jira/browse/CASSANDRA-3990?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] paul cannon updated CASSANDRA-3990: --- Reviewer: urandom (was: thepaul) Assignee: paul cannon (was: Eric Evans) Labels: cql cqlsh (was: ) we'll see what Eric thinks. > cqlsh support for CQL 3 > --- > > Key: CASSANDRA-3990 > URL: https://issues.apache.org/jira/browse/CASSANDRA-3990 > Project: Cassandra > Issue Type: Sub-task > Components: API >Reporter: Sylvain Lebresne >Assignee: paul cannon >Priority: Minor > Labels: cql, cqlsh > Fix For: 1.1.0 > > Attachments: v1-0001-CASSANDRA-3990-cqlsh-support-for-CQL-3.txt, > v2-0001-CASSANDRA-3990-cqlsh-support-for-CQL-3.txt, > v3-0001-CASSANDRA-3990-cqlsh-support-for-CQL-3.txt, > v3-0002-CASSANDRA-3990-cqlsh-support-for-CQL-3.txt > > > Cqlsh needs to add support for CQL3. At a minimum, one needs to be able to > choose the cql version at launch time. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Resolved] (CASSANDRA-1684) Entity groups
[ https://issues.apache.org/jira/browse/CASSANDRA-1684?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jonathan Ellis resolved CASSANDRA-1684. --- Resolution: Won't Fix Fix Version/s: (was: 1.2) Assignee: (was: Sylvain Lebresne) > Entity groups > - > > Key: CASSANDRA-1684 > URL: https://issues.apache.org/jira/browse/CASSANDRA-1684 > Project: Cassandra > Issue Type: New Feature > Components: Core >Reporter: Jonathan Ellis > Original Estimate: 80h > Remaining Estimate: 80h > > Supporting entity groups similar to App Engine's (that is, allow rows to be > part of a parent "entity group," whose key is used for routing instead of the > row itself) allows several improvements: > - batches within an EG can be atomic across multiple rows > - order-by-value queries within an EG only have to touch a single replica > even with RandomPartitioner -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Created] (CASSANDRA-4116) check most recent TS values in SSTables when a row tombstone has already been encountered
check most recent TS values in SSTables when a row tombstone has already been encountered - Key: CASSANDRA-4116 URL: https://issues.apache.org/jira/browse/CASSANDRA-4116 Project: Cassandra Issue Type: Bug Reporter: Matthew F. Dennis once C* comes across a row tombstone, C* should check the TS on the tombstone against all SSTables. If the most recent TS in an SST is older than the row tombstone, that entire SST (or the remainder of it) can be safely ignored. There are two drivers for this. * avoid checking column values that could not possibly be in the result set * avoid OOMing because all the tombstones are temporarily kept in memory. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
git commit: fixing the build, failed because of the rename of DBConstants
Updated Branches: refs/heads/trunk d616dcdd7 -> 374f511eb fixing the build, failed because of the rename of DBConstants Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/374f511e Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/374f511e Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/374f511e Branch: refs/heads/trunk Commit: 374f511eb484fabdf904000d27ca4b5f24e9d91f Parents: d616dcd Author: Vijay Parthasarathy Authored: Wed Apr 4 13:09:30 2012 -0700 Committer: Vijay Parthasarathy Committed: Wed Apr 4 13:11:27 2012 -0700 -- .../org/apache/cassandra/cache/KeyCacheKey.java|4 +--- .../org/apache/cassandra/cache/RowCacheKey.java|2 +- 2 files changed, 2 insertions(+), 4 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/374f511e/src/java/org/apache/cassandra/cache/KeyCacheKey.java -- diff --git a/src/java/org/apache/cassandra/cache/KeyCacheKey.java b/src/java/org/apache/cassandra/cache/KeyCacheKey.java index f9350b4..df23928 100644 --- a/src/java/org/apache/cassandra/cache/KeyCacheKey.java +++ b/src/java/org/apache/cassandra/cache/KeyCacheKey.java @@ -28,8 +28,6 @@ import org.apache.cassandra.io.sstable.Descriptor; import org.apache.cassandra.utils.ByteBufferUtil; import org.apache.cassandra.utils.Pair; -import com.google.common.base.Objects; - public class KeyCacheKey implements CacheKey { private final Descriptor desc; @@ -54,7 +52,7 @@ public class KeyCacheKey implements CacheKey public int serializedSize() { -return key.length + DBConstants.intSize; +return key.length + DBConstants.INT_SIZE; } public String toString() http://git-wip-us.apache.org/repos/asf/cassandra/blob/374f511e/src/java/org/apache/cassandra/cache/RowCacheKey.java -- diff --git a/src/java/org/apache/cassandra/cache/RowCacheKey.java b/src/java/org/apache/cassandra/cache/RowCacheKey.java index 4a8fa1b..2c15faf 100644 --- a/src/java/org/apache/cassandra/cache/RowCacheKey.java +++ b/src/java/org/apache/cassandra/cache/RowCacheKey.java @@ -58,7 +58,7 @@ public class RowCacheKey implements CacheKey, Comparable public int serializedSize() { -return key.length + DBConstants.intSize; +return key.length + DBConstants.INT_SIZE; } @Override
[2/3] git commit: update caches to use byte[] keys to reduce memory overhead patch by vijay; reviewed by jbellis for CASSANDRA-3966
update caches to use byte[] keys to reduce memory overhead patch by vijay; reviewed by jbellis for CASSANDRA-3966 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/63f6c843 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/63f6c843 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/63f6c843 Branch: refs/heads/trunk Commit: 63f6c8431918e39a50023613102bf8dc3c9768da Parents: 0a8e978 Author: Jonathan Ellis Authored: Wed Apr 4 14:27:18 2012 -0500 Committer: Jonathan Ellis Committed: Wed Apr 4 14:27:18 2012 -0500 -- CHANGES.txt|1 + .../apache/cassandra/cache/AutoSavingCache.java|6 +- src/java/org/apache/cassandra/cache/CacheKey.java |5 +- .../org/apache/cassandra/cache/KeyCacheKey.java| 59 --- .../org/apache/cassandra/cache/RowCacheKey.java| 57 +++--- .../org/apache/cassandra/utils/ByteBufferUtil.java |6 ++ .../apache/cassandra/cache/CacheProviderTest.java | 17 7 files changed, 105 insertions(+), 46 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/63f6c843/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 6fd478a..631c774 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 1.1.1-dev + * update caches to use byte[] keys to reduce memory overhead (CASSANDRA-3966) * add column limit to cli (CASSANDRA-3012, 4098) * clean up and optimize DataOutputBuffer, used by CQL compression and CompositeType (CASSANDRA-4072) http://git-wip-us.apache.org/repos/asf/cassandra/blob/63f6c843/src/java/org/apache/cassandra/cache/AutoSavingCache.java -- diff --git a/src/java/org/apache/cassandra/cache/AutoSavingCache.java b/src/java/org/apache/cassandra/cache/AutoSavingCache.java index e2901a7..aff7aa8 100644 --- a/src/java/org/apache/cassandra/cache/AutoSavingCache.java +++ b/src/java/org/apache/cassandra/cache/AutoSavingCache.java @@ -39,7 +39,6 @@ import org.apache.cassandra.io.util.FileUtils; import org.apache.cassandra.io.util.SequentialWriter; import org.apache.cassandra.service.CacheService; import org.apache.cassandra.service.StorageService; -import org.apache.cassandra.utils.ByteBufferUtil; import org.apache.cassandra.utils.WrappedRunnable; import org.apache.cassandra.utils.Pair; @@ -237,9 +236,8 @@ public class AutoSavingCache extends InstrumentingCachehttp://git-wip-us.apache.org/repos/asf/cassandra/blob/63f6c843/src/java/org/apache/cassandra/cache/CacheKey.java -- diff --git a/src/java/org/apache/cassandra/cache/CacheKey.java b/src/java/org/apache/cassandra/cache/CacheKey.java index e8f0caf..579ab03 100644 --- a/src/java/org/apache/cassandra/cache/CacheKey.java +++ b/src/java/org/apache/cassandra/cache/CacheKey.java @@ -19,7 +19,8 @@ */ package org.apache.cassandra.cache; -import java.nio.ByteBuffer; +import java.io.DataOutputStream; +import java.io.IOException; import org.apache.cassandra.utils.Pair; @@ -28,7 +29,7 @@ public interface CacheKey /** * @return Serialized part of the key which should be persisted */ -public ByteBuffer serializeForStorage(); +public void write(DataOutputStream out) throws IOException; /** * @return The size of the serialized key http://git-wip-us.apache.org/repos/asf/cassandra/blob/63f6c843/src/java/org/apache/cassandra/cache/KeyCacheKey.java -- diff --git a/src/java/org/apache/cassandra/cache/KeyCacheKey.java b/src/java/org/apache/cassandra/cache/KeyCacheKey.java index 7f6523d..0c75edb 100644 --- a/src/java/org/apache/cassandra/cache/KeyCacheKey.java +++ b/src/java/org/apache/cassandra/cache/KeyCacheKey.java @@ -19,40 +19,75 @@ */ package org.apache.cassandra.cache; +import java.io.DataOutputStream; +import java.io.IOException; import java.nio.ByteBuffer; +import java.nio.charset.CharacterCodingException; +import java.util.Arrays; +import org.apache.cassandra.db.DBConstants; import org.apache.cassandra.io.sstable.Descriptor; +import org.apache.cassandra.utils.ByteBufferUtil; import org.apache.cassandra.utils.Pair; -public class KeyCacheKey extends Pair implements CacheKey +import com.google.common.base.Objects; + +public class KeyCacheKey implements CacheKey { +private final Descriptor desc; +private final byte[] key; + public KeyCacheKey(Descriptor desc, ByteBuffer key) { -super(desc, key); +this.desc = desc; +this.key = ByteBufferUtil.getArray(key); +assert this.key != null; } -public ByteBuffer serializ
[3/3] git commit: update caches to use byte[] keys to reduce memory overhead patch by vijay; reviewed by jbellis for CASSANDRA-3966
update caches to use byte[] keys to reduce memory overhead patch by vijay; reviewed by jbellis for CASSANDRA-3966 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/63f6c843 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/63f6c843 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/63f6c843 Branch: refs/heads/cassandra-1.1 Commit: 63f6c8431918e39a50023613102bf8dc3c9768da Parents: 0a8e978 Author: Jonathan Ellis Authored: Wed Apr 4 14:27:18 2012 -0500 Committer: Jonathan Ellis Committed: Wed Apr 4 14:27:18 2012 -0500 -- CHANGES.txt|1 + .../apache/cassandra/cache/AutoSavingCache.java|6 +- src/java/org/apache/cassandra/cache/CacheKey.java |5 +- .../org/apache/cassandra/cache/KeyCacheKey.java| 59 --- .../org/apache/cassandra/cache/RowCacheKey.java| 57 +++--- .../org/apache/cassandra/utils/ByteBufferUtil.java |6 ++ .../apache/cassandra/cache/CacheProviderTest.java | 17 7 files changed, 105 insertions(+), 46 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/63f6c843/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 6fd478a..631c774 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 1.1.1-dev + * update caches to use byte[] keys to reduce memory overhead (CASSANDRA-3966) * add column limit to cli (CASSANDRA-3012, 4098) * clean up and optimize DataOutputBuffer, used by CQL compression and CompositeType (CASSANDRA-4072) http://git-wip-us.apache.org/repos/asf/cassandra/blob/63f6c843/src/java/org/apache/cassandra/cache/AutoSavingCache.java -- diff --git a/src/java/org/apache/cassandra/cache/AutoSavingCache.java b/src/java/org/apache/cassandra/cache/AutoSavingCache.java index e2901a7..aff7aa8 100644 --- a/src/java/org/apache/cassandra/cache/AutoSavingCache.java +++ b/src/java/org/apache/cassandra/cache/AutoSavingCache.java @@ -39,7 +39,6 @@ import org.apache.cassandra.io.util.FileUtils; import org.apache.cassandra.io.util.SequentialWriter; import org.apache.cassandra.service.CacheService; import org.apache.cassandra.service.StorageService; -import org.apache.cassandra.utils.ByteBufferUtil; import org.apache.cassandra.utils.WrappedRunnable; import org.apache.cassandra.utils.Pair; @@ -237,9 +236,8 @@ public class AutoSavingCache extends InstrumentingCachehttp://git-wip-us.apache.org/repos/asf/cassandra/blob/63f6c843/src/java/org/apache/cassandra/cache/CacheKey.java -- diff --git a/src/java/org/apache/cassandra/cache/CacheKey.java b/src/java/org/apache/cassandra/cache/CacheKey.java index e8f0caf..579ab03 100644 --- a/src/java/org/apache/cassandra/cache/CacheKey.java +++ b/src/java/org/apache/cassandra/cache/CacheKey.java @@ -19,7 +19,8 @@ */ package org.apache.cassandra.cache; -import java.nio.ByteBuffer; +import java.io.DataOutputStream; +import java.io.IOException; import org.apache.cassandra.utils.Pair; @@ -28,7 +29,7 @@ public interface CacheKey /** * @return Serialized part of the key which should be persisted */ -public ByteBuffer serializeForStorage(); +public void write(DataOutputStream out) throws IOException; /** * @return The size of the serialized key http://git-wip-us.apache.org/repos/asf/cassandra/blob/63f6c843/src/java/org/apache/cassandra/cache/KeyCacheKey.java -- diff --git a/src/java/org/apache/cassandra/cache/KeyCacheKey.java b/src/java/org/apache/cassandra/cache/KeyCacheKey.java index 7f6523d..0c75edb 100644 --- a/src/java/org/apache/cassandra/cache/KeyCacheKey.java +++ b/src/java/org/apache/cassandra/cache/KeyCacheKey.java @@ -19,40 +19,75 @@ */ package org.apache.cassandra.cache; +import java.io.DataOutputStream; +import java.io.IOException; import java.nio.ByteBuffer; +import java.nio.charset.CharacterCodingException; +import java.util.Arrays; +import org.apache.cassandra.db.DBConstants; import org.apache.cassandra.io.sstable.Descriptor; +import org.apache.cassandra.utils.ByteBufferUtil; import org.apache.cassandra.utils.Pair; -public class KeyCacheKey extends Pair implements CacheKey +import com.google.common.base.Objects; + +public class KeyCacheKey implements CacheKey { +private final Descriptor desc; +private final byte[] key; + public KeyCacheKey(Descriptor desc, ByteBuffer key) { -super(desc, key); +this.desc = desc; +this.key = ByteBufferUtil.getArray(key); +assert this.key != null; } -public ByteBuffer
[1/3] git commit: Merge branch 'cassandra-1.1' into trunk
Updated Branches: refs/heads/cassandra-1.1 0a8e978e7 -> 63f6c8431 refs/heads/trunk b8231eb22 -> d616dcdd7 Merge branch 'cassandra-1.1' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/d616dcdd Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/d616dcdd Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/d616dcdd Branch: refs/heads/trunk Commit: d616dcdd7b9ede69c5e703af7153ed4ce3072204 Parents: b8231eb 63f6c84 Author: Jonathan Ellis Authored: Wed Apr 4 14:28:38 2012 -0500 Committer: Jonathan Ellis Committed: Wed Apr 4 14:28:38 2012 -0500 -- CHANGES.txt|1 + .../apache/cassandra/cache/AutoSavingCache.java|6 +- src/java/org/apache/cassandra/cache/CacheKey.java |5 +- .../org/apache/cassandra/cache/KeyCacheKey.java| 59 --- .../org/apache/cassandra/cache/RowCacheKey.java| 57 +++--- .../org/apache/cassandra/utils/ByteBufferUtil.java |6 ++ .../apache/cassandra/cache/CacheProviderTest.java | 17 7 files changed, 105 insertions(+), 46 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/d616dcdd/CHANGES.txt -- diff --cc CHANGES.txt index 7916cf5,631c774..46432a3 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,11 -1,5 +1,12 @@@ +1.2-dev + * Track tombstone expiration and compact when tombstone content is + higher than a configurable threshold, default 20% (CASSANDRA-3442) + * update MurmurHash to version 3 (CASSANDRA-2975) + * (CLI) track elapsed time for `delete' operation (CASSANDRA-4060) + + 1.1.1-dev + * update caches to use byte[] keys to reduce memory overhead (CASSANDRA-3966) * add column limit to cli (CASSANDRA-3012, 4098) * clean up and optimize DataOutputBuffer, used by CQL compression and CompositeType (CASSANDRA-4072) http://git-wip-us.apache.org/repos/asf/cassandra/blob/d616dcdd/src/java/org/apache/cassandra/cache/AutoSavingCache.java -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/d616dcdd/src/java/org/apache/cassandra/cache/CacheKey.java -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/d616dcdd/src/java/org/apache/cassandra/cache/KeyCacheKey.java -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/d616dcdd/src/java/org/apache/cassandra/cache/RowCacheKey.java -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/d616dcdd/src/java/org/apache/cassandra/utils/ByteBufferUtil.java --
[jira] [Commented] (CASSANDRA-3974) Per-CF TTL
[ https://issues.apache.org/jira/browse/CASSANDRA-3974?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13246621#comment-13246621 ] Jonathan Ellis commented on CASSANDRA-3974: --- Thanks Kirk! My comments: - Looks like this only updates the CQL path? We'd want to make the Thrift path cf-ttl-aware as well. I *think* this just means updating RowMutation + CF addColumn methods. - Nit: we could simplify getTTL a bit by adding assert ttl > 0. - I got it backwards: we want max(cf ttl, column ttl) to be able to reason about the live-ness of CF data w/o looking at individual rows - We can break the compaction optimizations into another ticket. It really needs a separate compaction Strategy; the idea is if we have an sstable A older than CF ttl, then all the data in the file is dead and we can just delete the file without looking at it row-by-row. However, there's a lot of tension there with the goal of normal compaction, which wants to merge different versions of the same row, so we're going to churn a lot with a low chance of ever having an sstable last the full TTL without being merged, effectively restarting our timer. So, I think we're best served by a ArchivingCompactionStrategy that doesn't merge sstables at all, just drops obsolete ones, and let people use that for append-only insert workloads. Which is a common enough case that it's worth the trouble... probably. :) > Per-CF TTL > -- > > Key: CASSANDRA-3974 > URL: https://issues.apache.org/jira/browse/CASSANDRA-3974 > Project: Cassandra > Issue Type: New Feature >Reporter: Jonathan Ellis >Assignee: Kirk True >Priority: Minor > Fix For: 1.2 > > Attachments: trunk-3974.txt > > > Per-CF TTL would allow compaction optimizations ("drop an entire sstable's > worth of expired data") that we can't do with per-column. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (CASSANDRA-3974) Per-CF TTL
[ https://issues.apache.org/jira/browse/CASSANDRA-3974?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Kirk True updated CASSANDRA-3974: - Attachment: trunk-3974.txt This is a proof-of-concept patch for allowing optional default TTLs on a column family. I'm not sure how to implement the "compaction optimizations" the main JIRA description mentions. Please provide feedback on what needs to be added/changed. Thanks. > Per-CF TTL > -- > > Key: CASSANDRA-3974 > URL: https://issues.apache.org/jira/browse/CASSANDRA-3974 > Project: Cassandra > Issue Type: New Feature >Reporter: Jonathan Ellis >Assignee: Kirk True >Priority: Minor > Fix For: 1.2 > > Attachments: trunk-3974.txt > > > Per-CF TTL would allow compaction optimizations ("drop an entire sstable's > worth of expired data") that we can't do with per-column. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (CASSANDRA-3966) KeyCacheKey and RowCacheKey to use raw byte[]
[ https://issues.apache.org/jira/browse/CASSANDRA-3966?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Vijay updated CASSANDRA-3966: - Attachment: 0001-CASSANDRA-3966-v2.patch Hi Jonathan v2 does the recommended. One thing is there was redundancy in int write vs serialization size hence made it void write. Thanks! > KeyCacheKey and RowCacheKey to use raw byte[] > - > > Key: CASSANDRA-3966 > URL: https://issues.apache.org/jira/browse/CASSANDRA-3966 > Project: Cassandra > Issue Type: Improvement > Components: Core >Affects Versions: 1.0.0 >Reporter: Vijay >Assignee: Vijay >Priority: Minor > Fix For: 1.1.1 > > Attachments: 0001-CASSANDRA-3966-v2.patch, 0001-CASSANDRA-3966.patch > > > We can just store the raw byte[] instead of byteBuffer, > After reading the mail > http://www.mail-archive.com/dev@cassandra.apache.org/msg03725.html > Each ByteBuffer takes 48 bytes => for house keeping can be removed by just > implementing hashcode and equals in the KeyCacheKey and RowCacheKey > http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/6-b14/java/nio/ByteBuffer.java#ByteBuffer.hashCode%28%29 -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (CASSANDRA-3946) BulkRecordWriter shouldn't stream any empty data/index files that might be created at end of flush
[ https://issues.apache.org/jira/browse/CASSANDRA-3946?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13246543#comment-13246543 ] Brandon Williams commented on CASSANDRA-3946: - I'm not convinced that having the loader skip empty files is right yet. Why are empty files being created? > BulkRecordWriter shouldn't stream any empty data/index files that might be > created at end of flush > -- > > Key: CASSANDRA-3946 > URL: https://issues.apache.org/jira/browse/CASSANDRA-3946 > Project: Cassandra > Issue Type: Bug >Reporter: Chris Goffinet >Assignee: Brandon Williams >Priority: Minor > Fix For: 1.1.1 > > Attachments: > 0001-CASSANDRA-3946-BulkRecordWriter-shouldn-t-stream-any.patch > > > If by chance, we flush sstables during BulkRecordWriter (we have seen it > happen), I want to make sure we don't try to stream them. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (CASSANDRA-2479) move the tests off of CollatingOrderPreservingPartitioner
[ https://issues.apache.org/jira/browse/CASSANDRA-2479?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jonathan Ellis updated CASSANDRA-2479: -- Fix Version/s: (was: 1.1.0) 1.2 > move the tests off of CollatingOrderPreservingPartitioner > - > > Key: CASSANDRA-2479 > URL: https://issues.apache.org/jira/browse/CASSANDRA-2479 > Project: Cassandra > Issue Type: Improvement >Reporter: Eric Evans >Priority: Trivial > Labels: cql > Fix For: 1.2 > > > The configuration for unit and system tests currently makes use of > CollatingOrderPreservingPartitioner, which is problematic for testing key > type validation (COPP supports only UTF8 keys). -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Resolved] (CASSANDRA-3968) LoadNewSSTables can conflict with old incremental backups
[ https://issues.apache.org/jira/browse/CASSANDRA-3968?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jonathan Ellis resolved CASSANDRA-3968. --- Resolution: Duplicate Fix Version/s: (was: 1.1.0) done in CASSANDRA-3967 > LoadNewSSTables can conflict with old incremental backups > - > > Key: CASSANDRA-3968 > URL: https://issues.apache.org/jira/browse/CASSANDRA-3968 > Project: Cassandra > Issue Type: Bug >Reporter: Jonathan Ellis >Priority: Minor > > If we load a new sstable from the filesystem with a generation in our "past", > the incremental backup hard link may conflict with an existing one. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Assigned] (CASSANDRA-3946) BulkRecordWriter shouldn't stream any empty data/index files that might be created at end of flush
[ https://issues.apache.org/jira/browse/CASSANDRA-3946?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jonathan Ellis reassigned CASSANDRA-3946: - Assignee: Brandon Williams (was: Chris Goffinet) Sounds like the right fix here is to make BRW not output zero-length sstables. > BulkRecordWriter shouldn't stream any empty data/index files that might be > created at end of flush > -- > > Key: CASSANDRA-3946 > URL: https://issues.apache.org/jira/browse/CASSANDRA-3946 > Project: Cassandra > Issue Type: Bug >Reporter: Chris Goffinet >Assignee: Brandon Williams >Priority: Minor > Fix For: 1.1.0 > > Attachments: > 0001-CASSANDRA-3946-BulkRecordWriter-shouldn-t-stream-any.patch > > > If by chance, we flush sstables during BulkRecordWriter (we have seen it > happen), I want to make sure we don't try to stream them. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Resolved] (CASSANDRA-3932) schema IAE and read path NPE after cluster re-deploy
[ https://issues.apache.org/jira/browse/CASSANDRA-3932?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jonathan Ellis resolved CASSANDRA-3932. --- Resolution: Cannot Reproduce Fix Version/s: (was: 1.1.0) Assignee: (was: Pavel Yaskevich) I'm pretty sure that whatever was causing this is not relevant after the CASSANDRA-3792 rewrite of schema serialization. > schema IAE and read path NPE after cluster re-deploy > > > Key: CASSANDRA-3932 > URL: https://issues.apache.org/jira/browse/CASSANDRA-3932 > Project: Cassandra > Issue Type: Bug > Components: Core >Affects Versions: 1.1.0 >Reporter: Peter Schuller > > On the same cluster (but later) as the one where we observed CASSANDRA-3931 > we were running some performance/latency testing. ycsb reads, plus a separate > little python client. All was fine. > I then did a fast re-deploy for changed GC settings, which would have let to > a complete cluster restart almost simultaneously (triggering races?). When I > re-ran my Python client, I suddenly got an error saying Keyspace1 did not > exist. On re-run I started getting timeouts. Looking at the endpoints of the > key that I was getting a timeout for, the first error ever seen is: > {code} > java.lang.IllegalArgumentException: Unknown ColumnFamily Standard1 in > keyspace Keyspace1 > at org.apache.cassandra.config.Schema.getComparator(Schema.java:234) > at > org.apache.cassandra.db.ColumnFamily.getComparatorFor(ColumnFamily.java:312) > at > org.apache.cassandra.db.ReadCommand.getComparator(ReadCommand.java:94) > at > org.apache.cassandra.db.SliceByNamesReadCommand.(SliceByNamesReadCommand.java:44) > at > org.apache.cassandra.db.SliceByNamesReadCommandSerializer.deserialize(SliceByNamesReadCommand.java:113) > at > org.apache.cassandra.db.SliceByNamesReadCommandSerializer.deserialize(SliceByNamesReadCommand.java:81) > at > org.apache.cassandra.db.ReadCommandSerializer.deserialize(ReadCommand.java:134) > at > org.apache.cassandra.db.ReadVerbHandler.doVerb(ReadVerbHandler.java:53) > at > org.apache.cassandra.net.MessageDeliveryTask.run(MessageDeliveryTask.java:59) > 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) > {code} > And later in the read path NPE:s like these: > {code} > java.lang.NullPointerException > at > org.apache.cassandra.db.Table.createReplicationStrategy(Table.java:321) > at org.apache.cassandra.db.Table.(Table.java:277) > at org.apache.cassandra.db.Table.open(Table.java:120) > at org.apache.cassandra.db.Table.open(Table.java:103) > at > org.apache.cassandra.db.ReadVerbHandler.doVerb(ReadVerbHandler.java:54) > at > org.apache.cassandra.net.MessageDeliveryTask.run(MessageDeliveryTask.java:59) > 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) > {code} -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Resolved] (CASSANDRA-3923) Cassandra Nodetool Cleanup causing sstable corruption.
[ https://issues.apache.org/jira/browse/CASSANDRA-3923?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jonathan Ellis resolved CASSANDRA-3923. --- Resolution: Cannot Reproduce Fix Version/s: (was: 1.1.0) As noted on CASSANDRA-3065, I don't think we'll be able to make progress on this without a pre-corruption snapshot to reproduce the problem with. (We have also observed bad hardware and buggy virtualization layers to cause corruption; see CASSANDRA-3878.) CASSANDRA-4051 is also open to improve streaming reliability which may be relevant. > Cassandra Nodetool Cleanup causing sstable corruption. > -- > > Key: CASSANDRA-3923 > URL: https://issues.apache.org/jira/browse/CASSANDRA-3923 > Project: Cassandra > Issue Type: Bug > Components: Tools >Affects Versions: 0.8.2 >Reporter: Samarth Gahire > Labels: cleanup, compaction, corruption, nodetool, scrub > Original Estimate: 48h > Remaining Estimate: 48h > > We recently doubled size of our cluster. > After that,we ran the cleanup on the old machines in the cluster. > After that we loaded the data which triggered minor compaction which did not > complete due to corrupt sstables > This was the case with those machines only on which we ran the cleanup. > As the cleanup is unavoidable after node addition, what is the way to avoid > this problem? > Is this issue fixed in newer versions of Cassandra(As we are using > cassandra-0.8.2)? > OR > Are there any steps / procedure that will avoid need of cleanup after node > addition. > The same issue is reported here: CASSANDRA-3065 -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (CASSANDRA-4054) SStableImport and SStableExport does not serialize row level deletion
[ https://issues.apache.org/jira/browse/CASSANDRA-4054?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jonathan Ellis updated CASSANDRA-4054: -- Priority: Minor (was: Major) Fix Version/s: (was: 1.1.0) 1.2 Assignee: Yuki Morishita > SStableImport and SStableExport does not serialize row level deletion > - > > Key: CASSANDRA-4054 > URL: https://issues.apache.org/jira/browse/CASSANDRA-4054 > Project: Cassandra > Issue Type: Bug > Components: Tools >Affects Versions: 0.5 >Reporter: Zhu Han >Assignee: Yuki Morishita >Priority: Minor > Fix For: 1.2 > > > SSTableImport and SSTableExport does not serialize/de-serialize the row-level > deletion info to/from the json file. This brings back the deleted data after > restore from the json file. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (CASSANDRA-4115) UNREACHABLE schema after decommissioning a non-seed node
[ https://issues.apache.org/jira/browse/CASSANDRA-4115?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13246509#comment-13246509 ] Jonathan Ellis commented on CASSANDRA-4115: --- Also, did you mean to attach unavailable_schema_test.py somewhere? > UNREACHABLE schema after decommissioning a non-seed node > > > Key: CASSANDRA-4115 > URL: https://issues.apache.org/jira/browse/CASSANDRA-4115 > Project: Cassandra > Issue Type: Bug > Environment: ccm using the following unavailable_schema_test.py dtest. >Reporter: Tyler Patterson >Assignee: Brandon Williams >Priority: Minor > > decommission a non-seed node, sleep 30 seconds, then use thrift to check the > schema. UNREACHABLE is listed: > {'75dc4c07-3c1a-3013-ad7d-11fb34208465': ['127.0.0.1'], > 'UNREACHABLE': ['127.0.0.2']} -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Assigned] (CASSANDRA-4115) UNREACHABLE schema after decommissioning a non-seed node
[ https://issues.apache.org/jira/browse/CASSANDRA-4115?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jonathan Ellis reassigned CASSANDRA-4115: - Assignee: Brandon Williams Tyler, what version(s) did you observer this against? > UNREACHABLE schema after decommissioning a non-seed node > > > Key: CASSANDRA-4115 > URL: https://issues.apache.org/jira/browse/CASSANDRA-4115 > Project: Cassandra > Issue Type: Bug > Environment: ccm using the following unavailable_schema_test.py dtest. >Reporter: Tyler Patterson >Assignee: Brandon Williams >Priority: Minor > > decommission a non-seed node, sleep 30 seconds, then use thrift to check the > schema. UNREACHABLE is listed: > {'75dc4c07-3c1a-3013-ad7d-11fb34208465': ['127.0.0.1'], > 'UNREACHABLE': ['127.0.0.2']} -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Created] (CASSANDRA-4115) UNREACHABLE schema after decommissioning a non-seed node
UNREACHABLE schema after decommissioning a non-seed node Key: CASSANDRA-4115 URL: https://issues.apache.org/jira/browse/CASSANDRA-4115 Project: Cassandra Issue Type: Bug Environment: ccm using the following unavailable_schema_test.py dtest. Reporter: Tyler Patterson Priority: Minor decommission a non-seed node, sleep 30 seconds, then use thrift to check the schema. UNREACHABLE is listed: {'75dc4c07-3c1a-3013-ad7d-11fb34208465': ['127.0.0.1'], 'UNREACHABLE': ['127.0.0.2']} -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (CASSANDRA-1311) Triggers
[ https://issues.apache.org/jira/browse/CASSANDRA-1311?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13246482#comment-13246482 ] Jonathan Ellis commented on CASSANDRA-1311: --- bq. all of our triggers we implemented simply make REST posts out to services that actually do the work I don't think REST calls should be a first-class citizen in the final api, since a main goal of triggers is to pushing the code closer to the data; calling out over the network cuts that off at the knees. But, obviously a js or jar based trigger could call out to a REST service if that's how you want to roll. > Triggers > > > Key: CASSANDRA-1311 > URL: https://issues.apache.org/jira/browse/CASSANDRA-1311 > Project: Cassandra > Issue Type: New Feature >Reporter: Maxim Grinev > Fix For: 1.2 > > Attachments: HOWTO-PatchAndRunTriggerExample-update1.txt, > HOWTO-PatchAndRunTriggerExample.txt, ImplementationDetails-update1.pdf, > ImplementationDetails.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: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[10/10] git commit: relax path length requirement for sstable files when upgrading on non-Windows platforms patch by jbellis; reviewed by slebresne for CASSANDRA-4110
relax path length requirement for sstable files when upgrading on non-Windows platforms patch by jbellis; reviewed by slebresne for CASSANDRA-4110 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/e9917c47 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/e9917c47 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/e9917c47 Branch: refs/heads/cassandra-1.1 Commit: e9917c4794d9647792239efe24d4846f8163ab1e Parents: 83371eb Author: Jonathan Ellis Authored: Tue Apr 3 11:13:44 2012 -0500 Committer: Jonathan Ellis Committed: Tue Apr 3 11:13:44 2012 -0500 -- CHANGES.txt |5 +++- src/java/org/apache/cassandra/db/Directories.java | 20 +-- 2 files changed, 21 insertions(+), 4 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/e9917c47/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 7fc..4af75a3 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -4,7 +4,10 @@ * fix KEYS index from skipping results (CASSANDRA-3996) * Remove sliced_buffer_size_in_kb dead option (CASSANDRA-4076) * make loadNewSStable preserve sstable version (CASSANDRA-4077) - * Respect 1.0 cache settings as much as possible when upgrading (CASSANDRA-4088) + * Respect 1.0 cache settings as much as possible when upgrading + (CASSANDRA-4088) + * relax path length requirement for sstable files when upgrading on + non-Windows platforms (CASSANDRA-4110) 1.1-beta2 http://git-wip-us.apache.org/repos/asf/cassandra/blob/e9917c47/src/java/org/apache/cassandra/db/Directories.java -- diff --git a/src/java/org/apache/cassandra/db/Directories.java b/src/java/org/apache/cassandra/db/Directories.java index d2c98c8..1441fd2 100644 --- a/src/java/org/apache/cassandra/db/Directories.java +++ b/src/java/org/apache/cassandra/db/Directories.java @@ -416,7 +416,7 @@ public class Directories // This is a brand new node. return false; -// Check whether the migration migth create too long a filename +// Check whether the migration might create too long a filename int longestLocation = -1; try { @@ -428,18 +428,32 @@ public class Directories throw new IOError(e); } +// Check that migration won't error out halfway through from too-long paths. For Windows, we need to check +// total path length <= 255 (see http://msdn.microsoft.com/en-us/library/aa365247.aspx and discussion on CASSANDRA-2749); +// elsewhere, we just need to make sure filename is <= 255. for (KSMetaData ksm : Schema.instance.getTableDefinitions()) { String ksname = ksm.name; for (Map.Entry entry : ksm.cfMetaData().entrySet()) { String cfname = entry.getKey(); -// max path is roughly (guess-estimate) /ksname/cfname/snapshots/1324314347102-somename/ksname-cfname-tmp-hb-1024-Statistics.db -if (longestLocation + (ksname.length() + cfname.length()) * 2 + 62 > 256) + +// max path is roughly (guess-estimate) /ksname/cfname/snapshots/1324314347102-somename/ksname-cfname-tmp-hb-65536-Statistics.db +if (System.getProperty("os.name").startsWith("Windows") +&& longestLocation + (ksname.length() + cfname.length()) * 2 + 63 > 255) +{ throw new RuntimeException("Starting with 1.1, keyspace names and column family names must be less than 32 characters long. " + ksname + "/" + cfname + " doesn't respect that restriction. Please rename your keyspace/column families to respect that restriction before updating."); +} + +if (ksm.name.length() + cfname.length() + 28 > 255) +{ +throw new RuntimeException("Starting with 1.1, the keyspace name is included in data filenames. For " + + ksm.name + "/" + cfname + ", this puts you over the largest possible filename of 255 characters"); +} } } + return true; }
[7/10] git commit: avoid seg faults during compaction patch by Vijay; reviewed by jbellis for CASSANDRA-4111
avoid seg faults during compaction patch by Vijay; reviewed by jbellis for CASSANDRA-4111 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/030d4718 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/030d4718 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/030d4718 Branch: refs/heads/trunk Commit: 030d4718e5596884c766b6e3e5b1c54fe23f6dd8 Parents: 031e894 Author: Vijay Parthasarathy Authored: Tue Apr 3 12:26:01 2012 -0700 Committer: Vijay Parthasarathy Committed: Tue Apr 3 12:33:03 2012 -0700 -- .../apache/cassandra/cache/SerializingCache.java | 16 +- 1 files changed, 14 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/030d4718/src/java/org/apache/cassandra/cache/SerializingCache.java -- diff --git a/src/java/org/apache/cassandra/cache/SerializingCache.java b/src/java/org/apache/cassandra/cache/SerializingCache.java index 4946fb0..275130c 100644 --- a/src/java/org/apache/cassandra/cache/SerializingCache.java +++ b/src/java/org/apache/cassandra/cache/SerializingCache.java @@ -205,11 +205,23 @@ public class SerializingCache implements ICache FreeableMemory mem = serialize(value); if (mem == null) return false; // out of memory. never mind. -V oldValue = deserialize(old); + +V oldValue; +// reference old guy before de-serializing +if (!old.reference()) +return false; // we have already freed hence noop. +try +{ + oldValue = deserialize(old); +} +finally +{ +old.unreference(); +} boolean success = oldValue.equals(oldToReplace) && map.replace(key, old, mem); if (success) -old.unreference(); +old.unreference(); // so it will be eventually be cleaned else mem.unreference(); return success;
[6/10] git commit: fix read_repair_chance to really default to 0.1 in the cli and Thrift clients patch by jbellis; reviewed by vijay for CASSANDRA-4114
fix read_repair_chance to really default to 0.1 in the cli and Thrift clients patch by jbellis; reviewed by vijay for CASSANDRA-4114 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/2b77ef61 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/2b77ef61 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/2b77ef61 Branch: refs/heads/cassandra-1.1 Commit: 2b77ef61cc119fbaf76080f5d6e6083571e7b02c Parents: f956569 Author: Jonathan Ellis Authored: Wed Apr 4 12:05:48 2012 -0500 Committer: Jonathan Ellis Committed: Wed Apr 4 12:06:15 2012 -0500 -- CHANGES.txt|1 + interface/cassandra.thrift |4 ++-- .../org/apache/cassandra/thrift/Cassandra.java |4 .../org/apache/cassandra/thrift/CfDef.java |6 ++ .../org/apache/cassandra/thrift/Constants.java |2 +- .../org/apache/cassandra/config/CFMetaData.java|3 ++- 6 files changed, 12 insertions(+), 8 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/2b77ef61/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 4af75a3..9a428a5 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 1.1-dev + * fix read_repair_chance to really default to 0.1 in the cli (CASSANDRA-4114) * Adds caching and bloomFilterFpChange to CQL options (CASSANDRA-4042) * Adds posibility to autoconfigure size of the KeyCache (CASSANDRA-4087) * fix KEYS index from skipping results (CASSANDRA-3996) http://git-wip-us.apache.org/repos/asf/cassandra/blob/2b77ef61/interface/cassandra.thrift -- diff --git a/interface/cassandra.thrift b/interface/cassandra.thrift index ecb04d6..8edf843 100644 --- a/interface/cassandra.thrift +++ b/interface/cassandra.thrift @@ -55,7 +55,7 @@ namespace rb CassandraThrift # An effort should be made not to break forward-client-compatibility either # (e.g. one should avoid removing obsolete fields from the IDL), but no # guarantees in this respect are made by the Cassandra project. -const string VERSION = "19.29.0" +const string VERSION = "19.30.0" # @@ -408,7 +408,7 @@ struct CfDef { 5: optional string comparator_type="BytesType", 6: optional string subcomparator_type, 8: optional string comment, -12: optional double read_repair_chance=1.0, +12: optional double read_repair_chance, 13: optional list column_metadata, 14: optional i32 gc_grace_seconds, 15: optional string default_validation_class, http://git-wip-us.apache.org/repos/asf/cassandra/blob/2b77ef61/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java -- diff --git a/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java b/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java index 5b79e18..58f5ac5 100644 --- a/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java +++ b/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java @@ -17733,6 +17733,8 @@ public class Cassandra { private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException { try { +// it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor. +__isset_bit_vector = new BitSet(1); read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in))); } catch (org.apache.thrift.TException te) { throw new java.io.IOException(te); @@ -34146,6 +34148,8 @@ public class Cassandra { private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException { try { +// it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor. +__isset_bit_vector = new BitSet(1); read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in))); } catch (org.apache.thrift.TException te) { throw new java.io.IOException(te); http://git-wip-us.apache.org/repos/asf/cassandra/blob/2b77ef61/interface/thrift/gen-java/org/apache/cassandra/thrift/CfDef.java -- diff --git a/interface/thrift/gen-java/org/apache/cassandra/thrift/CfDef.java b/interface/thrift/gen-java/org/apache/cassandra/thrift/CfDef.java index 1028693..8b4f749 100644 --- a/interface/thrift/gen-java/org/apache/cassandra/thrift/CfDef.java +++ b/interface/thrift/gen-jav
[9/10] git commit: avoid seg faults during compaction patch by Vijay; reviewed by jbellis for CASSANDRA-4111
avoid seg faults during compaction patch by Vijay; reviewed by jbellis for CASSANDRA-4111 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/f956569d Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/f956569d Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/f956569d Branch: refs/heads/cassandra-1.1 Commit: f956569dbd7848eadbe5e70b12fadb7e25e0fc4a Parents: e9917c4 Author: Vijay Parthasarathy Authored: Tue Apr 3 12:26:01 2012 -0700 Committer: Vijay Parthasarathy Committed: Tue Apr 3 12:26:01 2012 -0700 -- .../apache/cassandra/cache/SerializingCache.java | 16 +- 1 files changed, 14 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/f956569d/src/java/org/apache/cassandra/cache/SerializingCache.java -- diff --git a/src/java/org/apache/cassandra/cache/SerializingCache.java b/src/java/org/apache/cassandra/cache/SerializingCache.java index 4946fb0..275130c 100644 --- a/src/java/org/apache/cassandra/cache/SerializingCache.java +++ b/src/java/org/apache/cassandra/cache/SerializingCache.java @@ -205,11 +205,23 @@ public class SerializingCache implements ICache FreeableMemory mem = serialize(value); if (mem == null) return false; // out of memory. never mind. -V oldValue = deserialize(old); + +V oldValue; +// reference old guy before de-serializing +if (!old.reference()) +return false; // we have already freed hence noop. +try +{ + oldValue = deserialize(old); +} +finally +{ +old.unreference(); +} boolean success = oldValue.equals(oldToReplace) && map.replace(key, old, mem); if (success) -old.unreference(); +old.unreference(); // so it will be eventually be cleaned else mem.unreference(); return success;
[8/10] git commit: avoid seg faults during compaction patch by Vijay; reviewed by jbellis for CASSANDRA-4111
avoid seg faults during compaction patch by Vijay; reviewed by jbellis for CASSANDRA-4111 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/f956569d Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/f956569d Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/f956569d Branch: refs/heads/trunk Commit: f956569dbd7848eadbe5e70b12fadb7e25e0fc4a Parents: e9917c4 Author: Vijay Parthasarathy Authored: Tue Apr 3 12:26:01 2012 -0700 Committer: Vijay Parthasarathy Committed: Tue Apr 3 12:26:01 2012 -0700 -- .../apache/cassandra/cache/SerializingCache.java | 16 +- 1 files changed, 14 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/f956569d/src/java/org/apache/cassandra/cache/SerializingCache.java -- diff --git a/src/java/org/apache/cassandra/cache/SerializingCache.java b/src/java/org/apache/cassandra/cache/SerializingCache.java index 4946fb0..275130c 100644 --- a/src/java/org/apache/cassandra/cache/SerializingCache.java +++ b/src/java/org/apache/cassandra/cache/SerializingCache.java @@ -205,11 +205,23 @@ public class SerializingCache implements ICache FreeableMemory mem = serialize(value); if (mem == null) return false; // out of memory. never mind. -V oldValue = deserialize(old); + +V oldValue; +// reference old guy before de-serializing +if (!old.reference()) +return false; // we have already freed hence noop. +try +{ + oldValue = deserialize(old); +} +finally +{ +old.unreference(); +} boolean success = oldValue.equals(oldToReplace) && map.replace(key, old, mem); if (success) -old.unreference(); +old.unreference(); // so it will be eventually be cleaned else mem.unreference(); return success;
[1/10] git commit: Merge branch 'cassandra-1.1' into trunk
Updated Branches: refs/heads/cassandra-1.1 030d4718e -> 0a8e978e7 refs/heads/cassandra-1.1.0 f956569db -> 2b77ef61c refs/heads/trunk 7e3bb8644 -> b8231eb22 Merge branch 'cassandra-1.1' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/b8231eb2 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/b8231eb2 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/b8231eb2 Branch: refs/heads/trunk Commit: b8231eb22e7d7a5fb2175006cdf589ac299b6522 Parents: 7e3bb86 0a8e978 Author: Jonathan Ellis Authored: Wed Apr 4 12:06:35 2012 -0500 Committer: Jonathan Ellis Committed: Wed Apr 4 12:06:35 2012 -0500 -- CHANGES.txt|1 + interface/cassandra.thrift |4 ++-- .../org/apache/cassandra/thrift/Cassandra.java |4 .../org/apache/cassandra/thrift/CfDef.java |6 ++ .../org/apache/cassandra/thrift/Constants.java |2 +- .../org/apache/cassandra/config/CFMetaData.java|3 ++- 6 files changed, 12 insertions(+), 8 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/b8231eb2/CHANGES.txt -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/b8231eb2/src/java/org/apache/cassandra/config/CFMetaData.java --
[3/10] git commit: Merge branch 'cassandra-1.1.0' into cassandra-1.1
Merge branch 'cassandra-1.1.0' into cassandra-1.1 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/0a8e978e Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/0a8e978e Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/0a8e978e Branch: refs/heads/trunk Commit: 0a8e978e799482f0c6d946dc054cb76e9539fe44 Parents: 030d471 2b77ef6 Author: Jonathan Ellis Authored: Wed Apr 4 12:06:25 2012 -0500 Committer: Jonathan Ellis Committed: Wed Apr 4 12:06:25 2012 -0500 -- CHANGES.txt|1 + interface/cassandra.thrift |4 ++-- .../org/apache/cassandra/thrift/Cassandra.java |4 .../org/apache/cassandra/thrift/CfDef.java |6 ++ .../org/apache/cassandra/thrift/Constants.java |2 +- .../org/apache/cassandra/config/CFMetaData.java|3 ++- 6 files changed, 12 insertions(+), 8 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/0a8e978e/CHANGES.txt -- diff --cc CHANGES.txt index de0c72b,9a428a5..6fd478a --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,13 -1,5 +1,14 @@@ +1.1.1-dev + * add column limit to cli (CASSANDRA-3012, 4098) + * clean up and optimize DataOutputBuffer, used by CQL compression and + CompositeType (CASSANDRA-4072) + * optimize commitlog checksumming (CASSANDRA-3610) + * identify and blacklist corrupted SSTables from future compactions + (CASSANDRA-2261) + * Move CfDef and KsDef validation out of thrift (CASSANDRA-4037) + 1.1-dev + * fix read_repair_chance to really default to 0.1 in the cli (CASSANDRA-4114) * Adds caching and bloomFilterFpChange to CQL options (CASSANDRA-4042) * Adds posibility to autoconfigure size of the KeyCache (CASSANDRA-4087) * fix KEYS index from skipping results (CASSANDRA-3996) http://git-wip-us.apache.org/repos/asf/cassandra/blob/0a8e978e/src/java/org/apache/cassandra/config/CFMetaData.java --
[5/10] git commit: fix read_repair_chance to really default to 0.1 in the cli and Thrift clients patch by jbellis; reviewed by vijay for CASSANDRA-4114
fix read_repair_chance to really default to 0.1 in the cli and Thrift clients patch by jbellis; reviewed by vijay for CASSANDRA-4114 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/2b77ef61 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/2b77ef61 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/2b77ef61 Branch: refs/heads/cassandra-1.1.0 Commit: 2b77ef61cc119fbaf76080f5d6e6083571e7b02c Parents: f956569 Author: Jonathan Ellis Authored: Wed Apr 4 12:05:48 2012 -0500 Committer: Jonathan Ellis Committed: Wed Apr 4 12:06:15 2012 -0500 -- CHANGES.txt|1 + interface/cassandra.thrift |4 ++-- .../org/apache/cassandra/thrift/Cassandra.java |4 .../org/apache/cassandra/thrift/CfDef.java |6 ++ .../org/apache/cassandra/thrift/Constants.java |2 +- .../org/apache/cassandra/config/CFMetaData.java|3 ++- 6 files changed, 12 insertions(+), 8 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/2b77ef61/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 4af75a3..9a428a5 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 1.1-dev + * fix read_repair_chance to really default to 0.1 in the cli (CASSANDRA-4114) * Adds caching and bloomFilterFpChange to CQL options (CASSANDRA-4042) * Adds posibility to autoconfigure size of the KeyCache (CASSANDRA-4087) * fix KEYS index from skipping results (CASSANDRA-3996) http://git-wip-us.apache.org/repos/asf/cassandra/blob/2b77ef61/interface/cassandra.thrift -- diff --git a/interface/cassandra.thrift b/interface/cassandra.thrift index ecb04d6..8edf843 100644 --- a/interface/cassandra.thrift +++ b/interface/cassandra.thrift @@ -55,7 +55,7 @@ namespace rb CassandraThrift # An effort should be made not to break forward-client-compatibility either # (e.g. one should avoid removing obsolete fields from the IDL), but no # guarantees in this respect are made by the Cassandra project. -const string VERSION = "19.29.0" +const string VERSION = "19.30.0" # @@ -408,7 +408,7 @@ struct CfDef { 5: optional string comparator_type="BytesType", 6: optional string subcomparator_type, 8: optional string comment, -12: optional double read_repair_chance=1.0, +12: optional double read_repair_chance, 13: optional list column_metadata, 14: optional i32 gc_grace_seconds, 15: optional string default_validation_class, http://git-wip-us.apache.org/repos/asf/cassandra/blob/2b77ef61/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java -- diff --git a/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java b/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java index 5b79e18..58f5ac5 100644 --- a/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java +++ b/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java @@ -17733,6 +17733,8 @@ public class Cassandra { private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException { try { +// it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor. +__isset_bit_vector = new BitSet(1); read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in))); } catch (org.apache.thrift.TException te) { throw new java.io.IOException(te); @@ -34146,6 +34148,8 @@ public class Cassandra { private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException { try { +// it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor. +__isset_bit_vector = new BitSet(1); read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in))); } catch (org.apache.thrift.TException te) { throw new java.io.IOException(te); http://git-wip-us.apache.org/repos/asf/cassandra/blob/2b77ef61/interface/thrift/gen-java/org/apache/cassandra/thrift/CfDef.java -- diff --git a/interface/thrift/gen-java/org/apache/cassandra/thrift/CfDef.java b/interface/thrift/gen-java/org/apache/cassandra/thrift/CfDef.java index 1028693..8b4f749 100644 --- a/interface/thrift/gen-java/org/apache/cassandra/thrift/CfDef.java +++ b/interface/thrift/gen-j
[4/10] git commit: fix read_repair_chance to really default to 0.1 in the cli and Thrift clients patch by jbellis; reviewed by vijay for CASSANDRA-4114
fix read_repair_chance to really default to 0.1 in the cli and Thrift clients patch by jbellis; reviewed by vijay for CASSANDRA-4114 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/2b77ef61 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/2b77ef61 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/2b77ef61 Branch: refs/heads/trunk Commit: 2b77ef61cc119fbaf76080f5d6e6083571e7b02c Parents: f956569 Author: Jonathan Ellis Authored: Wed Apr 4 12:05:48 2012 -0500 Committer: Jonathan Ellis Committed: Wed Apr 4 12:06:15 2012 -0500 -- CHANGES.txt|1 + interface/cassandra.thrift |4 ++-- .../org/apache/cassandra/thrift/Cassandra.java |4 .../org/apache/cassandra/thrift/CfDef.java |6 ++ .../org/apache/cassandra/thrift/Constants.java |2 +- .../org/apache/cassandra/config/CFMetaData.java|3 ++- 6 files changed, 12 insertions(+), 8 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/2b77ef61/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 4af75a3..9a428a5 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 1.1-dev + * fix read_repair_chance to really default to 0.1 in the cli (CASSANDRA-4114) * Adds caching and bloomFilterFpChange to CQL options (CASSANDRA-4042) * Adds posibility to autoconfigure size of the KeyCache (CASSANDRA-4087) * fix KEYS index from skipping results (CASSANDRA-3996) http://git-wip-us.apache.org/repos/asf/cassandra/blob/2b77ef61/interface/cassandra.thrift -- diff --git a/interface/cassandra.thrift b/interface/cassandra.thrift index ecb04d6..8edf843 100644 --- a/interface/cassandra.thrift +++ b/interface/cassandra.thrift @@ -55,7 +55,7 @@ namespace rb CassandraThrift # An effort should be made not to break forward-client-compatibility either # (e.g. one should avoid removing obsolete fields from the IDL), but no # guarantees in this respect are made by the Cassandra project. -const string VERSION = "19.29.0" +const string VERSION = "19.30.0" # @@ -408,7 +408,7 @@ struct CfDef { 5: optional string comparator_type="BytesType", 6: optional string subcomparator_type, 8: optional string comment, -12: optional double read_repair_chance=1.0, +12: optional double read_repair_chance, 13: optional list column_metadata, 14: optional i32 gc_grace_seconds, 15: optional string default_validation_class, http://git-wip-us.apache.org/repos/asf/cassandra/blob/2b77ef61/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java -- diff --git a/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java b/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java index 5b79e18..58f5ac5 100644 --- a/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java +++ b/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java @@ -17733,6 +17733,8 @@ public class Cassandra { private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException { try { +// it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor. +__isset_bit_vector = new BitSet(1); read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in))); } catch (org.apache.thrift.TException te) { throw new java.io.IOException(te); @@ -34146,6 +34148,8 @@ public class Cassandra { private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException { try { +// it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor. +__isset_bit_vector = new BitSet(1); read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in))); } catch (org.apache.thrift.TException te) { throw new java.io.IOException(te); http://git-wip-us.apache.org/repos/asf/cassandra/blob/2b77ef61/interface/thrift/gen-java/org/apache/cassandra/thrift/CfDef.java -- diff --git a/interface/thrift/gen-java/org/apache/cassandra/thrift/CfDef.java b/interface/thrift/gen-java/org/apache/cassandra/thrift/CfDef.java index 1028693..8b4f749 100644 --- a/interface/thrift/gen-java/org/apache/cassandra/thrift/CfDef.java +++ b/interface/thrift/gen-java/org/ap
[2/10] git commit: Merge branch 'cassandra-1.1.0' into cassandra-1.1
Merge branch 'cassandra-1.1.0' into cassandra-1.1 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/0a8e978e Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/0a8e978e Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/0a8e978e Branch: refs/heads/cassandra-1.1 Commit: 0a8e978e799482f0c6d946dc054cb76e9539fe44 Parents: 030d471 2b77ef6 Author: Jonathan Ellis Authored: Wed Apr 4 12:06:25 2012 -0500 Committer: Jonathan Ellis Committed: Wed Apr 4 12:06:25 2012 -0500 -- CHANGES.txt|1 + interface/cassandra.thrift |4 ++-- .../org/apache/cassandra/thrift/Cassandra.java |4 .../org/apache/cassandra/thrift/CfDef.java |6 ++ .../org/apache/cassandra/thrift/Constants.java |2 +- .../org/apache/cassandra/config/CFMetaData.java|3 ++- 6 files changed, 12 insertions(+), 8 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/0a8e978e/CHANGES.txt -- diff --cc CHANGES.txt index de0c72b,9a428a5..6fd478a --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,13 -1,5 +1,14 @@@ +1.1.1-dev + * add column limit to cli (CASSANDRA-3012, 4098) + * clean up and optimize DataOutputBuffer, used by CQL compression and + CompositeType (CASSANDRA-4072) + * optimize commitlog checksumming (CASSANDRA-3610) + * identify and blacklist corrupted SSTables from future compactions + (CASSANDRA-2261) + * Move CfDef and KsDef validation out of thrift (CASSANDRA-4037) + 1.1-dev + * fix read_repair_chance to really default to 0.1 in the cli (CASSANDRA-4114) * Adds caching and bloomFilterFpChange to CQL options (CASSANDRA-4042) * Adds posibility to autoconfigure size of the KeyCache (CASSANDRA-4087) * fix KEYS index from skipping results (CASSANDRA-3996) http://git-wip-us.apache.org/repos/asf/cassandra/blob/0a8e978e/src/java/org/apache/cassandra/config/CFMetaData.java --
[jira] [Commented] (CASSANDRA-4114) Default read_repair_chance value is wrong
[ https://issues.apache.org/jira/browse/CASSANDRA-4114?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13246449#comment-13246449 ] Vijay commented on CASSANDRA-4114: -- +1 and tested by creating a cf via cli. ( and read_repair_chance = 0.1 ) > Default read_repair_chance value is wrong > - > > Key: CASSANDRA-4114 > URL: https://issues.apache.org/jira/browse/CASSANDRA-4114 > Project: Cassandra > Issue Type: Bug > Components: Tools >Affects Versions: 1.0.0 >Reporter: Manoj Kanta Mainali >Assignee: Jonathan Ellis >Priority: Trivial > Fix For: 1.1.0 > > Attachments: 4114.txt > > > The documents says that the default read_repair_chance value is 0.1, and it > is also declared so in CFMetaDeta. However, when creating a column family > with "create column family foo" via cli and checking with "show keyspaces" > shows that the read_repair_chance=1.0. This also happens when creating the > column family through Hector. > Going through the code, I find that in CfDef class, the constructor without > any parameters sets the read_repair_chance to 1. Changing this value to 0.1 > seems to create a column family with the 0.1 read_repair_chance. The best > might be to remove it from the CfDef as the read_repair_chance is set to the > default value in CFMetaDeta. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (CASSANDRA-3966) KeyCacheKey and RowCacheKey to use raw byte[]
[ https://issues.apache.org/jira/browse/CASSANDRA-3966?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13246428#comment-13246428 ] Jonathan Ellis commented on CASSANDRA-3966: --- can we also change serializeForStorage signature to {{int write(DataOutputStream out)}} to avoid unnecessary conversions back to ByteBuffer? > KeyCacheKey and RowCacheKey to use raw byte[] > - > > Key: CASSANDRA-3966 > URL: https://issues.apache.org/jira/browse/CASSANDRA-3966 > Project: Cassandra > Issue Type: Improvement > Components: Core >Affects Versions: 1.0.0 >Reporter: Vijay >Assignee: Vijay >Priority: Minor > Fix For: 1.1.1 > > Attachments: 0001-CASSANDRA-3966.patch > > > We can just store the raw byte[] instead of byteBuffer, > After reading the mail > http://www.mail-archive.com/dev@cassandra.apache.org/msg03725.html > Each ByteBuffer takes 48 bytes => for house keeping can be removed by just > implementing hashcode and equals in the KeyCacheKey and RowCacheKey > http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/6-b14/java/nio/ByteBuffer.java#ByteBuffer.hashCode%28%29 -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (CASSANDRA-4114) Default read_repair_chance value is wrong
[ https://issues.apache.org/jira/browse/CASSANDRA-4114?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jonathan Ellis updated CASSANDRA-4114: -- Attachment: 4114.txt I think that since the cli has behaved this way since 1.0.0, changing it now might surprise people who didn't read NEWS (and thus don't know that it was supposed to change to default of 0.1). So I propose fixing this in 1.1.0 instead. (For completeness, I note that cql {{CREATE COLUMNFAMILY}} does default to 0.1 correctly since it does not build its CFMetadata objects from Thrift.) > Default read_repair_chance value is wrong > - > > Key: CASSANDRA-4114 > URL: https://issues.apache.org/jira/browse/CASSANDRA-4114 > Project: Cassandra > Issue Type: Bug > Components: Tools >Affects Versions: 1.0.0 >Reporter: Manoj Kanta Mainali >Assignee: Jonathan Ellis >Priority: Trivial > Fix For: 1.1.0 > > Attachments: 4114.txt > > > The documents says that the default read_repair_chance value is 0.1, and it > is also declared so in CFMetaDeta. However, when creating a column family > with "create column family foo" via cli and checking with "show keyspaces" > shows that the read_repair_chance=1.0. This also happens when creating the > column family through Hector. > Going through the code, I find that in CfDef class, the constructor without > any parameters sets the read_repair_chance to 1. Changing this value to 0.1 > seems to create a column family with the 0.1 read_repair_chance. The best > might be to remove it from the CfDef as the read_repair_chance is set to the > default value in CFMetaDeta. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (CASSANDRA-4114) Default read_repair_chance value is wrong
[ https://issues.apache.org/jira/browse/CASSANDRA-4114?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jonathan Ellis updated CASSANDRA-4114: -- Reviewer: vijay2...@yahoo.com Component/s: Tools Affects Version/s: (was: 1.0.7) 1.0.0 Fix Version/s: 1.1.0 Assignee: Jonathan Ellis > Default read_repair_chance value is wrong > - > > Key: CASSANDRA-4114 > URL: https://issues.apache.org/jira/browse/CASSANDRA-4114 > Project: Cassandra > Issue Type: Bug > Components: Tools >Affects Versions: 1.0.0 >Reporter: Manoj Kanta Mainali >Assignee: Jonathan Ellis >Priority: Trivial > Fix For: 1.1.0 > > > The documents says that the default read_repair_chance value is 0.1, and it > is also declared so in CFMetaDeta. However, when creating a column family > with "create column family foo" via cli and checking with "show keyspaces" > shows that the read_repair_chance=1.0. This also happens when creating the > column family through Hector. > Going through the code, I find that in CfDef class, the constructor without > any parameters sets the read_repair_chance to 1. Changing this value to 0.1 > seems to create a column family with the 0.1 read_repair_chance. The best > might be to remove it from the CfDef as the read_repair_chance is set to the > default value in CFMetaDeta. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Issue Comment Edited] (CASSANDRA-4100) Make scrub and cleanup operations throttled
[ https://issues.apache.org/jira/browse/CASSANDRA-4100?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13246370#comment-13246370 ] Vijay edited comment on CASSANDRA-4100 at 4/4/12 3:41 PM: -- >>> I think Throttle object in CompcationController should be non-static since >>> compactions may run in parallel. Exactly thats why static is better, Parallel compaction is not a problem per say (ParallelCompactionIterable.getReduced() will take care of it), but compaction running one after the other (lot of small compactions). Let me know if everything else is ok i will rebase to 1.0.10 and move away from static (I am ok either ways), if needed. Thanks! was (Author: vijay2...@yahoo.com): >>> I think Throttle object in CompcationController should be non-static since compactions may run in parallel. Exactly thats why static is better, Parallel compaction is not a problem per say (ParallelCompactionIterable.getReduced() will take care of it), but compaction running one after the other (lot of small compactions). Let me know if everything else is ok i will rebase to 1.0.10, if needed. Thanks! > Make scrub and cleanup operations throttled > --- > > Key: CASSANDRA-4100 > URL: https://issues.apache.org/jira/browse/CASSANDRA-4100 > Project: Cassandra > Issue Type: Bug > Components: Core >Reporter: Vijay >Assignee: Vijay >Priority: Minor > Labels: compaction > Fix For: 1.0.10 > > Attachments: 0001-CASSANDRA-4100.patch > > > Looks like scrub and cleanup operations are not throttled and it will be nice > to throttle else we are likely to run into IO issues while running it on live > cluster. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (CASSANDRA-4100) Make scrub and cleanup operations throttled
[ https://issues.apache.org/jira/browse/CASSANDRA-4100?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13246370#comment-13246370 ] Vijay commented on CASSANDRA-4100: -- >>> I think Throttle object in CompcationController should be non-static since >>> compactions may run in parallel. Exactly thats why static is better, Parallel compaction is not a problem per say (ParallelCompactionIterable.getReduced() will take care of it), but compaction running one after the other (lot of small compactions). Let me know if everything else is ok i will rebase to 1.0.10, if needed. Thanks! > Make scrub and cleanup operations throttled > --- > > Key: CASSANDRA-4100 > URL: https://issues.apache.org/jira/browse/CASSANDRA-4100 > Project: Cassandra > Issue Type: Bug > Components: Core >Reporter: Vijay >Assignee: Vijay >Priority: Minor > Labels: compaction > Fix For: 1.0.10 > > Attachments: 0001-CASSANDRA-4100.patch > > > Looks like scrub and cleanup operations are not throttled and it will be nice > to throttle else we are likely to run into IO issues while running it on live > cluster. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (CASSANDRA-1311) Triggers
[ https://issues.apache.org/jira/browse/CASSANDRA-1311?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13246355#comment-13246355 ] Brian ONeill commented on CASSANDRA-1311: - Great questions/points. a quick two cents... I'll try to put more thought into it later... We had the same concerns RE: classpaths and restarts, etc. To keep things simple, all of our triggers we implemented simply make REST posts out to services that actually do the work. This let us get around classpath issues and still have more "power" than a simple script. Not sure this works for everyone though. We're dropwizard happy. ;) It seems like we should provide a js ability as well. In our case, we don't need the pre-write CF. I'd prefer having that lightweight option in place. I think the trigger needs the ability to cancel the update. You may be trying to enforce constraints and/or data quality. I'm not sure we need to provide them the ability to create additional row mutations in the that same batch unless we have near-term plans for support for transactions. e.g. In the case where the user is keeping an index up to date, they can write to the index themselves in the trigger. As long as they have the ability to fail the insert, this seems reasonable. Likewise, altering the actual row mutation might be a nice to have. It doesn't seem critical because the user is free to write additional information in there trigger -- agagin, except for the transactional guarantees that a single row write gets you. > Triggers > > > Key: CASSANDRA-1311 > URL: https://issues.apache.org/jira/browse/CASSANDRA-1311 > Project: Cassandra > Issue Type: New Feature >Reporter: Maxim Grinev > Fix For: 1.2 > > Attachments: HOWTO-PatchAndRunTriggerExample-update1.txt, > HOWTO-PatchAndRunTriggerExample.txt, ImplementationDetails-update1.pdf, > ImplementationDetails.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: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (CASSANDRA-4100) Make scrub and cleanup operations throttled
[ https://issues.apache.org/jira/browse/CASSANDRA-4100?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13246329#comment-13246329 ] Yuki Morishita commented on CASSANDRA-4100: --- Looks like patch is against trunk, though fix version is marked as 1.0.10. Anyway, I think Throttle object in CompcationController should be non-static since compactions may run in parallel. > Make scrub and cleanup operations throttled > --- > > Key: CASSANDRA-4100 > URL: https://issues.apache.org/jira/browse/CASSANDRA-4100 > Project: Cassandra > Issue Type: Bug > Components: Core >Reporter: Vijay >Assignee: Vijay >Priority: Minor > Labels: compaction > Fix For: 1.0.10 > > Attachments: 0001-CASSANDRA-4100.patch > > > Looks like scrub and cleanup operations are not throttled and it will be nice > to throttle else we are likely to run into IO issues while running it on live > cluster. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (CASSANDRA-3990) cqlsh support for CQL 3
[ https://issues.apache.org/jira/browse/CASSANDRA-3990?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13246295#comment-13246295 ] Christoph Tavan commented on CASSANDRA-3990: You patch works great for me, Paul. > cqlsh support for CQL 3 > --- > > Key: CASSANDRA-3990 > URL: https://issues.apache.org/jira/browse/CASSANDRA-3990 > Project: Cassandra > Issue Type: Sub-task > Components: API >Reporter: Sylvain Lebresne >Assignee: Eric Evans >Priority: Minor > Fix For: 1.1.0 > > Attachments: v1-0001-CASSANDRA-3990-cqlsh-support-for-CQL-3.txt, > v2-0001-CASSANDRA-3990-cqlsh-support-for-CQL-3.txt, > v3-0001-CASSANDRA-3990-cqlsh-support-for-CQL-3.txt, > v3-0002-CASSANDRA-3990-cqlsh-support-for-CQL-3.txt > > > Cqlsh needs to add support for CQL3. At a minimum, one needs to be able to > choose the cql version at launch time. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (CASSANDRA-4001) CqlMetadata can't represent parametrized comparators
[ https://issues.apache.org/jira/browse/CASSANDRA-4001?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13246269#comment-13246269 ] Rick Shaw commented on CASSANDRA-4001: -- Note that this problem will need to have an effective solution in order for the parameterized AbstractType to be used in a similar way for Maps, Sets and Lists. Perhaps an optional map : {{map baseclass}} argument to {{CqlMetadata}}? > CqlMetadata can't represent parametrized comparators > > > Key: CASSANDRA-4001 > URL: https://issues.apache.org/jira/browse/CASSANDRA-4001 > Project: Cassandra > Issue Type: Bug > Components: API >Affects Versions: 1.0.0 >Reporter: paul cannon >Priority: Minor > Labels: cql, cqlsh > > When a CF is created with a parametrized comparator, e.g. > {noformat} > CREATE COLUMNFAMILY paramcompar (KEY text PRIMARY KEY) WITH > comparator='TimeUUIDType(reversed=true)'; > {noformat} > or, equivalently: > {noformat} > CREATE COLUMNFAMILY paramcompar (KEY text PRIMARY KEY) > WITH > comparator='ReversedType(org.apache.cassandra.db.marshal.TimeUUIDType)'; > {noformat} > and then a CQL query is made against any populated contents, the resulting > CqlMetadata part of the response only conveys that the > "{{default_name_type='ReversedType'}}". This is not very helpful to a CQL > library in decoding the column name. At least in the case of python-cql, it > falls back on assuming UTF8Type as a default, which almost invariably leads > to errors since the bytes in most UUIDs do not represent valid utf8 bytes. > I'm not sure what the right solution is; should the > CqlMetadata.default_name_type include the parentheses and the parameters used > (requiring CQL libraries to be able to interpret arbitrary parameterized > types, or at least the more straightforward ones), or should CQL libraries > need to query for CfDefs through Thrift and interpret comparator_type, or > should CqlMetadata.default_name_type only convey enough information for valid > deserialization (in this case, just TimeUUIDType would have worked)? Possibly > that last might require adding some sort of special interface to classes > implementing AbstractType. Not at all clear how that would work with > CompositeType values, although maybe we can punt on that with the direct cql3 > syntactical support. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (CASSANDRA-3710) Add a configuration option to disable snapshots
[ https://issues.apache.org/jira/browse/CASSANDRA-3710?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13246253#comment-13246253 ] Christian Spriegel commented on CASSANDRA-3710: --- disableSnapshots would be great for our D/Q System, even though it wont solve the issues for my automated tests (which I fixed myself with my own patch). So I'd still appreciate it. Thanks! > Add a configuration option to disable snapshots > --- > > Key: CASSANDRA-3710 > URL: https://issues.apache.org/jira/browse/CASSANDRA-3710 > Project: Cassandra > Issue Type: New Feature >Reporter: Brandon Williams >Priority: Minor > Attachments: Cassandra107Patch_TestModeV1.txt > > > Let me first say, I hate this idea. It gives cassandra the ability to > permanently delete data at a large scale without any means of recovery. > However, I've seen this requested multiple times, and it is in fact useful in > some scenarios, such as when your application is using an embedded cassandra > instance for testing and need to truncate, which without JNA will timeout > more often than not. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Created] (CASSANDRA-4114) Default read_repair_chance value is wrong
Default read_repair_chance value is wrong - Key: CASSANDRA-4114 URL: https://issues.apache.org/jira/browse/CASSANDRA-4114 Project: Cassandra Issue Type: Bug Affects Versions: 1.0.7 Reporter: Manoj Kanta Mainali Priority: Trivial The documents says that the default read_repair_chance value is 0.1, and it is also declared so in CFMetaDeta. However, when creating a column family with "create column family foo" via cli and checking with "show keyspaces" shows that the read_repair_chance=1.0. This also happens when creating the column family through Hector. Going through the code, I find that in CfDef class, the constructor without any parameters sets the read_repair_chance to 1. Changing this value to 0.1 seems to create a column family with the 0.1 read_repair_chance. The best might be to remove it from the CfDef as the read_repair_chance is set to the default value in CFMetaDeta. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira