[jira] [Assigned] (CASSANDRA-3617) Clean up and optimize Message
[ https://issues.apache.org/jira/browse/CASSANDRA-3617?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jonathan Ellis reassigned CASSANDRA-3617: - Assignee: Jonathan Ellis (was: Yuki Morishita) > Clean up and optimize Message > - > > Key: CASSANDRA-3617 > URL: https://issues.apache.org/jira/browse/CASSANDRA-3617 > Project: Cassandra > Issue Type: Improvement > Components: Core >Reporter: Jonathan Ellis >Assignee: Jonathan Ellis > Fix For: 1.2 > > > The Message class has grown largely by accretion and it shows. There are > several problems: > - Outbound and inbound messages aren't really the same thing and should not > be conflated > - We pre-serialize message bodies to byte[], then copy those bytes onto the > Socket buffer, instead of just keeping a reference to the object being > serialized and then writing it out directly to the socket > - MessagingService versioning is poorly encapsulating, scattering version > variables and references to things like CachingMessageProducer across the > codebase -- 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: Estimate how many keys overlap with other sstables before compacting a single sstable because of high tombstone counts patch by yukim; reviewed by jbellis for CASSANDRA-4022
Updated Branches: refs/heads/trunk 98a70bdeb -> 772c4f1a7 Estimate how many keys overlap with other sstables before compacting a single sstable because of high tombstone counts patch by yukim; reviewed by jbellis for CASSANDRA-4022 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/772c4f1a Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/772c4f1a Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/772c4f1a Branch: refs/heads/trunk Commit: 772c4f1a7939e1bf236c5bf3e7bf624f7078c80b Parents: 98a70bd Author: Jonathan Ellis Authored: Fri Mar 23 11:43:32 2012 -0500 Committer: Jonathan Ellis Committed: Fri Mar 30 23:46:05 2012 -0500 -- .../compaction/SizeTieredCompactionStrategy.java | 33 +- .../apache/cassandra/utils/EstimatedHistogram.java | 25 +++ .../cassandra/db/compaction/CompactionsTest.java |9 +--- .../cassandra/utils/EstimatedHistogramTest.java| 17 4 files changed, 74 insertions(+), 10 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/772c4f1a/src/java/org/apache/cassandra/db/compaction/SizeTieredCompactionStrategy.java -- diff --git a/src/java/org/apache/cassandra/db/compaction/SizeTieredCompactionStrategy.java b/src/java/org/apache/cassandra/db/compaction/SizeTieredCompactionStrategy.java index d6f4025..0eabd08 100644 --- a/src/java/org/apache/cassandra/db/compaction/SizeTieredCompactionStrategy.java +++ b/src/java/org/apache/cassandra/db/compaction/SizeTieredCompactionStrategy.java @@ -24,6 +24,8 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.apache.cassandra.db.ColumnFamilyStore; +import org.apache.cassandra.dht.Range; +import org.apache.cassandra.dht.Token; import org.apache.cassandra.io.sstable.SSTable; import org.apache.cassandra.io.sstable.SSTableReader; import org.apache.cassandra.utils.Pair; @@ -87,8 +89,34 @@ public class SizeTieredCompactionStrategy extends AbstractCompactionStrategy { for (SSTableReader table : bucket) { -if (table.getEstimatedDroppableTombstoneRatio(gcBefore) > tombstoneThreshold) +double droppableRatio = table.getEstimatedDroppableTombstoneRatio(gcBefore); +if (droppableRatio <= tombstoneThreshold) +continue; + +Set overlaps = cfs.getOverlappingSSTables(Collections.singleton(table)); +if (overlaps.isEmpty()) +{ +// there is no overlap, tombstones are safely droppable prunedBuckets.add(Collections.singletonList(table)); +} +else +{ +// what percentage of columns do we expect to compact outside of overlap? +// first, calculate estimated keys that do not overlap +long keys = table.estimatedKeys(); +Set> ranges = new HashSet>(); +for (SSTableReader overlap : overlaps) +ranges.add(new Range(overlap.first.token, overlap.last.token)); +long remainingKeys = keys - table.estimatedKeysForRanges(ranges); +// next, calculate what percentage of columns we have within those keys +double remainingKeysRatio = ((double) remainingKeys) / keys; +long columns = table.getEstimatedColumnCount().percentile(remainingKeysRatio) * remainingKeys; +double remainingColumnsRatio = ((double) columns) / (table.getEstimatedColumnCount().count() * table.getEstimatedColumnCount().mean()); + +// if we still expect to have droppable tombstones in rest of columns, then try compacting it +if (remainingColumnsRatio * droppableRatio > tombstoneThreshold) + prunedBuckets.add(Collections.singletonList(table)); +} } } @@ -127,8 +155,7 @@ public class SizeTieredCompactionStrategy extends AbstractCompactionStrategy public AbstractCompactionTask getUserDefinedTask(Collection sstables, final int gcBefore) { -return new CompactionTask(cfs, sstables, gcBefore) -.isUserDefined(true); +return new CompactionTask(cfs, sstables, gcBefore).isUserDefined(true); } public int getEstimatedRemainingTasks() http://git-wip-us.apache.org/repos/asf/cassandra/blob/772c4f1a/src/java/org/apache/cassandra/utils/EstimatedHistogram.java -
[2/2] git commit: Dsnitch uses 'severity', latency, and time since last reply for scores. Patch by vijay and brandonwilliams, reviewed by vijay for CASSANDRA-3722
Dsnitch uses 'severity', latency, and time since last reply for scores. Patch by vijay and brandonwilliams, reviewed by vijay for CASSANDRA-3722 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/98a70bde Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/98a70bde Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/98a70bde Branch: refs/heads/trunk Commit: 98a70bdebb26955ea629fe3a21212253fc7b7d17 Parents: 08345fa Author: Brandon Williams Authored: Fri Mar 30 16:44:35 2012 -0500 Committer: Brandon Williams Committed: Fri Mar 30 18:15:50 2012 -0500 -- .../cassandra/db/compaction/CompactionInfo.java| 21 +++ .../cassandra/db/compaction/CompactionManager.java |4 ++ .../org/apache/cassandra/gms/ApplicationState.java |1 + src/java/org/apache/cassandra/gms/Gossiper.java|2 +- .../org/apache/cassandra/gms/VersionedValue.java |5 ++ .../cassandra/locator/DynamicEndpointSnitch.java | 43 ++- .../locator/DynamicEndpointSnitchMBean.java|7 +++ .../org/apache/cassandra/net/MessagingService.java |6 ++ .../apache/cassandra/service/StorageService.java | 23 - .../locator/DynamicEndpointSnitchTest.java | 11 - 10 files changed, 117 insertions(+), 6 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/98a70bde/src/java/org/apache/cassandra/db/compaction/CompactionInfo.java -- diff --git a/src/java/org/apache/cassandra/db/compaction/CompactionInfo.java b/src/java/org/apache/cassandra/db/compaction/CompactionInfo.java index fda8dd3..594b639 100644 --- a/src/java/org/apache/cassandra/db/compaction/CompactionInfo.java +++ b/src/java/org/apache/cassandra/db/compaction/CompactionInfo.java @@ -21,6 +21,8 @@ import java.io.Serializable; import java.util.HashMap; import java.util.Map; +import org.apache.cassandra.service.StorageService; + /** Implements serializable to allow structured info to be returned via JMX. */ public final class CompactionInfo implements Serializable { @@ -103,6 +105,8 @@ public final class CompactionInfo implements Serializable { private volatile boolean isStopped = false; public abstract CompactionInfo getCompactionInfo(); +double load = StorageService.instance.getLoad(); +boolean reportedSeverity = false; public void stop() { @@ -113,5 +117,22 @@ public final class CompactionInfo implements Serializable { return isStopped; } +/** + * report event on the size of the compaction. + */ +public void started() +{ +reportedSeverity = StorageService.instance.reportSeverity(getCompactionInfo().getTotalBytes()/load); +} + +/** + * remove the event complete + */ +public void finished() +{ +if (reportedSeverity) + StorageService.instance.reportSeverity(-(getCompactionInfo().getTotalBytes()/load)); +reportedSeverity = false; +} } } http://git-wip-us.apache.org/repos/asf/cassandra/blob/98a70bde/src/java/org/apache/cassandra/db/compaction/CompactionManager.java -- diff --git a/src/java/org/apache/cassandra/db/compaction/CompactionManager.java b/src/java/org/apache/cassandra/db/compaction/CompactionManager.java index 848abee..36f05c1 100644 --- a/src/java/org/apache/cassandra/db/compaction/CompactionManager.java +++ b/src/java/org/apache/cassandra/db/compaction/CompactionManager.java @@ -1017,11 +1017,15 @@ public class CompactionManager implements CompactionManagerMBean public void beginCompaction(CompactionInfo.Holder ci) { +// notify +ci.started(); compactions.add(ci); } public void finishCompaction(CompactionInfo.Holder ci) { +// notify +ci.finished(); compactions.remove(ci); totalBytesCompacted += ci.getCompactionInfo().getTotalBytes(); totalCompactionsCompleted += 1; http://git-wip-us.apache.org/repos/asf/cassandra/blob/98a70bde/src/java/org/apache/cassandra/gms/ApplicationState.java -- diff --git a/src/java/org/apache/cassandra/gms/ApplicationState.java b/src/java/org/apache/cassandra/gms/ApplicationState.java index 48e8d84..4520426 100644 --- a/src/java/org/apache/cassandra/gms/ApplicationState.java +++ b/src/java/org/apache/cassandra/gms/ApplicationState.java @@ -28,6 +28,7 @@ public enum ApplicationState REMOVAL_COORDINATOR, INTERNAL_IP, RPC_AD
[1/2] git commit: Expose SP histograms via nodetool. Patch by brandonwilliams, reviewed by vijay for CASSANDRA-3722
Updated Branches: refs/heads/trunk d9236e4a9 -> 98a70bdeb Expose SP histograms via nodetool. Patch by brandonwilliams, reviewed by vijay for CASSANDRA-3722 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/08345fab Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/08345fab Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/08345fab Branch: refs/heads/trunk Commit: 08345fabbc7536051d57ec4cde615704e5426788 Parents: d9236e4 Author: Brandon Williams Authored: Fri Mar 30 16:43:43 2012 -0500 Committer: Brandon Williams Committed: Fri Mar 30 18:15:50 2012 -0500 -- .../org/apache/cassandra/service/StorageProxy.java |3 +- src/java/org/apache/cassandra/tools/NodeCmd.java | 29 +++ src/java/org/apache/cassandra/tools/NodeProbe.java | 12 +-- 3 files changed, 40 insertions(+), 4 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/08345fab/src/java/org/apache/cassandra/service/StorageProxy.java -- diff --git a/src/java/org/apache/cassandra/service/StorageProxy.java b/src/java/org/apache/cassandra/service/StorageProxy.java index b860c3f..63c5481 100644 --- a/src/java/org/apache/cassandra/service/StorageProxy.java +++ b/src/java/org/apache/cassandra/service/StorageProxy.java @@ -62,6 +62,7 @@ import org.apache.cassandra.utils.*; public class StorageProxy implements StorageProxyMBean { +public static final String MBEAN_NAME = "org.apache.cassandra.db:type=StorageProxy"; private static final Logger logger = LoggerFactory.getLogger(StorageProxy.class); private static final boolean OPTIMIZE_LOCAL_REQUESTS = true; // set to false to test messagingservice path on single node @@ -98,7 +99,7 @@ public class StorageProxy implements StorageProxyMBean MBeanServer mbs = ManagementFactory.getPlatformMBeanServer(); try { -mbs.registerMBean(new StorageProxy(), new ObjectName("org.apache.cassandra.db:type=StorageProxy")); +mbs.registerMBean(new StorageProxy(), new ObjectName(MBEAN_NAME)); } catch (Exception e) { http://git-wip-us.apache.org/repos/asf/cassandra/blob/08345fab/src/java/org/apache/cassandra/tools/NodeCmd.java -- diff --git a/src/java/org/apache/cassandra/tools/NodeCmd.java b/src/java/org/apache/cassandra/tools/NodeCmd.java index fa2d210..22a8cad 100644 --- a/src/java/org/apache/cassandra/tools/NodeCmd.java +++ b/src/java/org/apache/cassandra/tools/NodeCmd.java @@ -28,6 +28,7 @@ import java.util.Map.Entry; import java.util.concurrent.ExecutionException; import org.apache.cassandra.service.CacheServiceMBean; +import org.apache.cassandra.service.StorageProxyMBean; import org.apache.commons.cli.*; import org.apache.cassandra.concurrent.JMXEnabledThreadPoolExecutorMBean; @@ -96,6 +97,7 @@ public class NodeCmd JOIN, MOVE, NETSTATS, +PROXYHISTOGRAMS, REBUILD, REFRESH, REMOVETOKEN, @@ -134,6 +136,7 @@ public class NodeCmd addCmdHelp(header, "cfstats", "Print statistics on column families"); addCmdHelp(header, "version", "Print cassandra version"); addCmdHelp(header, "tpstats", "Print usage statistics of thread pools"); +addCmdHelp(header, "proxyhistograms", "Print statistic histograms for network operations"); addCmdHelp(header, "drain", "Drain the node (stop accepting writes and flush all column families)"); addCmdHelp(header, "decommission", "Decommission the node"); addCmdHelp(header, "compactionstats", "Print statistics on compactions"); @@ -582,6 +585,27 @@ public class NodeCmd (i < ecch.length ? ecch[i] : ""))); } } + +private void printProxyHistograms(PrintStream output) +{ +StorageProxyMBean sp = this.probe.getSpProxy(); +long[] offsets = new EstimatedHistogram().getBucketOffsets(); +long[] rrlh = sp.getRecentReadLatencyHistogramMicros(); +long[] rwlh = sp.getRecentWriteLatencyHistogramMicros(); +long[] rrnglh = sp.getRecentRangeLatencyHistogramMicros(); + +output.println("proxy histograms"); +output.println(String.format("%-10s%18s%18s%18s", +"Offset", "Read Latency", "Write Latency", "Range Latency")); +for (int i = 0; i < offsets.length; i++) +{ +output.println(String.format("%-10d%18s%18s%18s", +offsets[i], +(i < rrlh.length ? rrlh[i] : ""), +(i < rwlh.length ? r
[jira] [Commented] (CASSANDRA-4093) schema_* CFs do not respect column comparator which leads to CLI commands failure.
[ https://issues.apache.org/jira/browse/CASSANDRA-4093?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13242835#comment-13242835 ] Pavel Yaskevich commented on CASSANDRA-4093: Would users be required to manually set "component_index" at every metadata column they have after update to 1.1 or to rephrase that - when users are going to be *required* to set "composite_index" field? > schema_* CFs do not respect column comparator which leads to CLI commands > failure. > -- > > Key: CASSANDRA-4093 > URL: https://issues.apache.org/jira/browse/CASSANDRA-4093 > Project: Cassandra > Issue Type: Bug > Components: Tools >Affects Versions: 1.1.0 >Reporter: Dave Brosius >Assignee: Sylvain Lebresne > Fix For: 1.1.0 > > Attachments: 4093.txt, CASSANDRA-4093-CD-changes.patch > > > ColumnDefinition.{ascii, utf8, bool, ...} static methods used to initialize > schema_* CFs column_metadata do not respect CF comparator and use > ByteBufferUtil.bytes(...) for column names which creates problems in CLI and > probably in other places. > The CompositeType validator throws exception on first column > String columnName = columnNameValidator.getString(columnDef.name); > Because it appears the composite type length header is wrong (25455) > AbstractCompositeType.getWithShortLength > java.lang.IllegalArgumentException > at java.nio.Buffer.limit(Buffer.java:247) > at > org.apache.cassandra.db.marshal.AbstractCompositeType.getBytes(AbstractCompositeType.java:50) > at > org.apache.cassandra.db.marshal.AbstractCompositeType.getWithShortLength(AbstractCompositeType.java:59) > at > org.apache.cassandra.db.marshal.AbstractCompositeType.getString(AbstractCompositeType.java:139) > at > org.apache.cassandra.cli.CliClient.describeColumnFamily(CliClient.java:2046) > at > org.apache.cassandra.cli.CliClient.describeKeySpace(CliClient.java:1969) > at > org.apache.cassandra.cli.CliClient.executeShowKeySpaces(CliClient.java:1574) > (seen in trunk) -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (CASSANDRA-3722) Send Hints to Dynamic Snitch when Compaction or repair is going on for a node.
[ https://issues.apache.org/jira/browse/CASSANDRA-3722?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13242828#comment-13242828 ] Vijay commented on CASSANDRA-3722: -- wfm +1 on both the v5 and nt PROXYHISTOGRAMS > Send Hints to Dynamic Snitch when Compaction or repair is going on for a node. > -- > > Key: CASSANDRA-3722 > URL: https://issues.apache.org/jira/browse/CASSANDRA-3722 > Project: Cassandra > Issue Type: Improvement > Components: Core >Affects Versions: 1.1.0 >Reporter: Vijay >Assignee: Vijay >Priority: Minor > Attachments: 0001-CASSANDRA-3722-A1-V2.patch, > 0001-CASSANDRA-3722-A1.patch, 0001-CASSANDRA-3722-v3.patch, > 0001-CASSANDRA-3723-A2-Patch.patch, > 0001-Expose-SP-latencies-in-nodetool-proxyhistograms.txt, 3722-v4.txt, > 3722-v5.txt > > > Currently Dynamic snitch looks at the latency for figuring out which node > will be better serving the requests, this works great but there is a part of > the traffic sent to collect this data... There is also a window when Snitch > doesn't know about some major event which are going to happen on the node > (Node which is going to receive the data request). > It would be great if we can send some sort hints to the Snitch so they can > score based on known events causing higher latencies. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (CASSANDRA-4078) StackOverflowError when upgrading to 1.0.8 from 0.8.10
[ https://issues.apache.org/jira/browse/CASSANDRA-4078?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13242817#comment-13242817 ] Yuki Morishita commented on CASSANDRA-4078: --- I don't have a clue about the cause, but since corrupted files are index column families, I think work around is to remove all those corrupted index sstables, upgrade C*, then rebuild index using 'nodetool rebuild_index'. > StackOverflowError when upgrading to 1.0.8 from 0.8.10 > -- > > Key: CASSANDRA-4078 > URL: https://issues.apache.org/jira/browse/CASSANDRA-4078 > Project: Cassandra > Issue Type: Bug > Components: Core >Affects Versions: 0.8.10 > Environment: OS: Linux xps.openfin 2.6.35.13-91.fc14.i686 #1 SMP Tue > May 3 13:36:36 UTC 2011 i686 i686 i386 GNU/Linux > Java: JVM vendor/version: Java HotSpot(TM) Server VM/1.6.0_31 >Reporter: Wenjun >Assignee: paul cannon >Priority: Critical > Fix For: 0.8.10 > > Attachments: 4078.add-asserts.txt, cassandra.yaml.1.0.8, > cassandra.yaml.8.10, keycheck.txt, system.log, system.log.0326, > system.log.0326-02 > > > Hello > I am trying to upgrade our 1-node setup from 0.8.10 to 1.0.8 and seeing the > following exception when starting up 1.0.8. We have been running 0.8.10 > without any issues. > > Attached is the entire log file during startup of 1.0.8. There are 2 > exceptions: > 1. StackOverflowError (line 2599) > 2. InstanceAlreadyExistsException (line 3632) > I tried "run scrub" under 0.8.10 first, it did not help. Also, I tried > dropping the column family which caused the exception, it just got the same > exceptions from another column family. > Thanks -- 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-3722) Send Hints to Dynamic Snitch when Compaction or repair is going on for a node.
[ https://issues.apache.org/jira/browse/CASSANDRA-3722?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13242802#comment-13242802 ] Brandon Williams edited comment on CASSANDRA-3722 at 3/30/12 10:25 PM: --- bq. is it because the lack of a datapoint, isn't taken into account as slowness? Exactly. It's not receiving new data, so the score doesn't change and the dead host is still rated the best until the FD removes it as an option, or enough TOEs demote it. Doing it this way, time itself penalizes the host when it stops responding. was (Author: brandon.williams): bq. is it because the lack of a datapoint, isn't taken into account as slowness? Exactly. It's not receiving new data, so the score doesn't change and the dead host is still rated the best until the FD removes it as an option. Doing it this way, time itself penalizes the host when it stops responding. > Send Hints to Dynamic Snitch when Compaction or repair is going on for a node. > -- > > Key: CASSANDRA-3722 > URL: https://issues.apache.org/jira/browse/CASSANDRA-3722 > Project: Cassandra > Issue Type: Improvement > Components: Core >Affects Versions: 1.1.0 >Reporter: Vijay >Assignee: Vijay >Priority: Minor > Attachments: 0001-CASSANDRA-3722-A1-V2.patch, > 0001-CASSANDRA-3722-A1.patch, 0001-CASSANDRA-3722-v3.patch, > 0001-CASSANDRA-3723-A2-Patch.patch, > 0001-Expose-SP-latencies-in-nodetool-proxyhistograms.txt, 3722-v4.txt, > 3722-v5.txt > > > Currently Dynamic snitch looks at the latency for figuring out which node > will be better serving the requests, this works great but there is a part of > the traffic sent to collect this data... There is also a window when Snitch > doesn't know about some major event which are going to happen on the node > (Node which is going to receive the data request). > It would be great if we can send some sort hints to the Snitch so they can > score based on known events causing higher latencies. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (CASSANDRA-3722) Send Hints to Dynamic Snitch when Compaction or repair is going on for a node.
[ https://issues.apache.org/jira/browse/CASSANDRA-3722?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Brandon Williams updated CASSANDRA-3722: Attachment: 3722-v5.txt v5 does some minor clean up (REPORT renamed to SEVERITY mostly) and fixes the dsnitch test so it passes. > Send Hints to Dynamic Snitch when Compaction or repair is going on for a node. > -- > > Key: CASSANDRA-3722 > URL: https://issues.apache.org/jira/browse/CASSANDRA-3722 > Project: Cassandra > Issue Type: Improvement > Components: Core >Affects Versions: 1.1.0 >Reporter: Vijay >Assignee: Vijay >Priority: Minor > Attachments: 0001-CASSANDRA-3722-A1-V2.patch, > 0001-CASSANDRA-3722-A1.patch, 0001-CASSANDRA-3722-v3.patch, > 0001-CASSANDRA-3723-A2-Patch.patch, > 0001-Expose-SP-latencies-in-nodetool-proxyhistograms.txt, 3722-v4.txt, > 3722-v5.txt > > > Currently Dynamic snitch looks at the latency for figuring out which node > will be better serving the requests, this works great but there is a part of > the traffic sent to collect this data... There is also a window when Snitch > doesn't know about some major event which are going to happen on the node > (Node which is going to receive the data request). > It would be great if we can send some sort hints to the Snitch so they can > score based on known events causing higher latencies. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (CASSANDRA-3758) parallel compaction hang (on large rows?)
[ https://issues.apache.org/jira/browse/CASSANDRA-3758?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jonathan Ellis updated CASSANDRA-3758: -- Priority: Minor (was: Major) Assignee: (was: Sylvain Lebresne) > parallel compaction hang (on large rows?) > - > > Key: CASSANDRA-3758 > URL: https://issues.apache.org/jira/browse/CASSANDRA-3758 > Project: Cassandra > Issue Type: Bug > Components: Core >Reporter: Jackson Chung >Priority: Minor > Labels: compaction, datastax_qa > Fix For: 1.0.9 > > Attachments: > 0001-Fix-totalBytes-count-for-ParallelCompactionIterable.txt, > cassandra.log.zip > > > it is observed that: > nodetool -h 127.0.0.1 -p 8080 compactionstats > pending tasks: 1 > compaction type keyspace column family bytes compacted bytes total progress > Compaction SyncCoreComputedContactNetworks 119739938 0 n/a > and that is not moving (ie the bytes compacted never increase, the bytes > total stay 0). > this is probably going to be difficult to reproduce, as the problem is > observed when compacting 15 large sstables (total ~300G). > attaching the thread dumps (along with logs), when such happen. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (CASSANDRA-3722) Send Hints to Dynamic Snitch when Compaction or repair is going on for a node.
[ https://issues.apache.org/jira/browse/CASSANDRA-3722?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13242802#comment-13242802 ] Brandon Williams commented on CASSANDRA-3722: - bq. is it because the lack of a datapoint, isn't taken into account as slowness? Exactly. It's not receiving new data, so the score doesn't change and the dead host is still rated the best until the FD removes it as an option. Doing it this way, time itself penalizes the host when it stops responding. > Send Hints to Dynamic Snitch when Compaction or repair is going on for a node. > -- > > Key: CASSANDRA-3722 > URL: https://issues.apache.org/jira/browse/CASSANDRA-3722 > Project: Cassandra > Issue Type: Improvement > Components: Core >Affects Versions: 1.1.0 >Reporter: Vijay >Assignee: Vijay >Priority: Minor > Attachments: 0001-CASSANDRA-3722-A1-V2.patch, > 0001-CASSANDRA-3722-A1.patch, 0001-CASSANDRA-3722-v3.patch, > 0001-CASSANDRA-3723-A2-Patch.patch, > 0001-Expose-SP-latencies-in-nodetool-proxyhistograms.txt, 3722-v4.txt > > > Currently Dynamic snitch looks at the latency for figuring out which node > will be better serving the requests, this works great but there is a part of > the traffic sent to collect this data... There is also a window when Snitch > doesn't know about some major event which are going to happen on the node > (Node which is going to receive the data request). > It would be great if we can send some sort hints to the Snitch so they can > score based on known events causing higher latencies. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (CASSANDRA-3722) Send Hints to Dynamic Snitch when Compaction or repair is going on for a node.
[ https://issues.apache.org/jira/browse/CASSANDRA-3722?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13242800#comment-13242800 ] Jonathan Ellis commented on CASSANDRA-3722: --- Why doesn't dsnitch incorporate this automatically? is it because the lack of a datapoint, isn't taken into account as slowness? > Send Hints to Dynamic Snitch when Compaction or repair is going on for a node. > -- > > Key: CASSANDRA-3722 > URL: https://issues.apache.org/jira/browse/CASSANDRA-3722 > Project: Cassandra > Issue Type: Improvement > Components: Core >Affects Versions: 1.1.0 >Reporter: Vijay >Assignee: Vijay >Priority: Minor > Attachments: 0001-CASSANDRA-3722-A1-V2.patch, > 0001-CASSANDRA-3722-A1.patch, 0001-CASSANDRA-3722-v3.patch, > 0001-CASSANDRA-3723-A2-Patch.patch, > 0001-Expose-SP-latencies-in-nodetool-proxyhistograms.txt, 3722-v4.txt > > > Currently Dynamic snitch looks at the latency for figuring out which node > will be better serving the requests, this works great but there is a part of > the traffic sent to collect this data... There is also a window when Snitch > doesn't know about some major event which are going to happen on the node > (Node which is going to receive the data request). > It would be great if we can send some sort hints to the Snitch so they can > score based on known events causing higher latencies. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (CASSANDRA-3125) Move gossip library into a standalone artifact
[ https://issues.apache.org/jira/browse/CASSANDRA-3125?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13242770#comment-13242770 ] Fábio Andrade botelho commented on CASSANDRA-3125: -- Hi, i am very interested in this project. I have just found out about it, and I will start immediately by studying the cassandra codebase starting, in particular the gossip portion. I am familiar both with cassandra and gossip at a theoretical level - i have read and reported on some papers that covered both subjects on my last semester - although I have never understand/read about the anti-entropy gossip mechanism employed on cassandra. I am going to research this immediately. I am drawing attention to my interest prematurely because I wish to get some pointers/advices on both the subject and project respectively. Specifically I am interested in the feasibility of this both as a google summer of code project and also as a first real world project for me. I am currently taking a Master Degree on the University of Lisbon entitled Masters in Security Information, but the course has a significant component on distributed systems (middleware, security, nosql, fault tolerance, clouds, grid). > Move gossip library into a standalone artifact > --- > > Key: CASSANDRA-3125 > URL: https://issues.apache.org/jira/browse/CASSANDRA-3125 > Project: Cassandra > Issue Type: Task >Reporter: Jake Farrell >Assignee: Jake Farrell >Priority: Minor > Labels: gsoc, gsoc2012, mentor > > There has been some talk on the mailing list of people want to use the gossip > portion of cassandra in their own applications. The goal for this will be to > create a standalone artifact -- 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-4078) StackOverflowError when upgrading to 1.0.8 from 0.8.10
[ https://issues.apache.org/jira/browse/CASSANDRA-4078?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13242767#comment-13242767 ] paul cannon commented on CASSANDRA-4078: Ok, so there are definitely out-of-order keys in your sstables. I have no good theories as to how that happened- I don't think anyone else has run into this. Were you possibly using any sort of custom types or parameterized types with 0.8.9? Custom anything? Either way, the thing to be done now is probably to get your data sorted. Maybe we can come up with a one-off tool of some kind to read the values and write them back out in a sorted way. > StackOverflowError when upgrading to 1.0.8 from 0.8.10 > -- > > Key: CASSANDRA-4078 > URL: https://issues.apache.org/jira/browse/CASSANDRA-4078 > Project: Cassandra > Issue Type: Bug > Components: Core >Affects Versions: 0.8.10 > Environment: OS: Linux xps.openfin 2.6.35.13-91.fc14.i686 #1 SMP Tue > May 3 13:36:36 UTC 2011 i686 i686 i386 GNU/Linux > Java: JVM vendor/version: Java HotSpot(TM) Server VM/1.6.0_31 >Reporter: Wenjun >Assignee: paul cannon >Priority: Critical > Fix For: 0.8.10 > > Attachments: 4078.add-asserts.txt, cassandra.yaml.1.0.8, > cassandra.yaml.8.10, keycheck.txt, system.log, system.log.0326, > system.log.0326-02 > > > Hello > I am trying to upgrade our 1-node setup from 0.8.10 to 1.0.8 and seeing the > following exception when starting up 1.0.8. We have been running 0.8.10 > without any issues. > > Attached is the entire log file during startup of 1.0.8. There are 2 > exceptions: > 1. StackOverflowError (line 2599) > 2. InstanceAlreadyExistsException (line 3632) > I tried "run scrub" under 0.8.10 first, it did not help. Also, I tried > dropping the column family which caused the exception, it just got the same > exceptions from another column family. > Thanks -- 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
[3/3] git commit: Respect 1.0 cache settings as much as possible when upgrading Patch by Pavel Yaskevich; reviewed by Yuki Morishita for CASSANDRA-4088
Respect 1.0 cache settings as much as possible when upgrading Patch by Pavel Yaskevich; reviewed by Yuki Morishita for CASSANDRA-4088 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/ef50e8f1 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/ef50e8f1 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/ef50e8f1 Branch: refs/heads/trunk Commit: ef50e8f12a81986407351f5b7e3125dab2d4ffa1 Parents: e4e8766 Author: Pavel Yaskevich Authored: Fri Mar 30 14:47:44 2012 +0300 Committer: Pavel Yaskevich Committed: Fri Mar 30 23:54:46 2012 +0300 -- CHANGES.txt|1 + src/avro/internode.genavro |2 + src/java/org/apache/cassandra/config/Avro.java | 20 +- 3 files changed, 21 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/ef50e8f1/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 5f0db66..efb4ebe 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -4,6 +4,7 @@ * 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) 1.1-beta2 http://git-wip-us.apache.org/repos/asf/cassandra/blob/ef50e8f1/src/avro/internode.genavro -- diff --git a/src/avro/internode.genavro b/src/avro/internode.genavro index d060d6e..d7ba60f 100644 --- a/src/avro/internode.genavro +++ b/src/avro/internode.genavro @@ -70,6 +70,8 @@ protocol InterNode { union { null, array } column_aliases = null; union { null, bytes } value_alias = null; union { double, null } dclocal_read_repair_chance = 0.0; +union { double, null } row_cache_size; +union { double, null } key_cache_size; } @aliases(["org.apache.cassandra.config.avro.KsDef"]) http://git-wip-us.apache.org/repos/asf/cassandra/blob/ef50e8f1/src/java/org/apache/cassandra/config/Avro.java -- diff --git a/src/java/org/apache/cassandra/config/Avro.java b/src/java/org/apache/cassandra/config/Avro.java index 954a6aa..8e0de76 100644 --- a/src/java/org/apache/cassandra/config/Avro.java +++ b/src/java/org/apache/cassandra/config/Avro.java @@ -32,6 +32,8 @@ import org.apache.cassandra.locator.NetworkTopologyStrategy; import org.apache.cassandra.thrift.IndexType; import org.apache.cassandra.utils.ByteBufferUtil; +import static org.apache.cassandra.config.CFMetaData.Caching; + /** * methods to load schema definitions from old-style Avro serialization */ @@ -71,9 +73,23 @@ public class Avro int cfsz = ks.cf_defs.size(); List cfMetaData = new ArrayList(cfsz); -Iterator cfiter = ks.cf_defs.iterator(); + for (CfDef cf_def : ks.cf_defs) -cfMetaData.add(cfFromAvro(cfiter.next())); +{ +double keysCached = cf_def.key_cache_size == null ? -1 : cf_def.key_cache_size; +double rowsCached = cf_def.row_cache_size == null ? -1 : cf_def.row_cache_size; + +if (keysCached > 0 && rowsCached > 0) +cf_def.caching = Caching.ALL.name(); +else if (keysCached <= 0 && rowsCached <= 0) +cf_def.caching = Caching.NONE.name(); +else if (keysCached > 0 && rowsCached <= 0) +cf_def.caching = Caching.KEYS_ONLY.name(); +else +cf_def.caching = Caching.ROWS_ONLY.name(); + +cfMetaData.add(cfFromAvro(cf_def)); +} return new KSMetaData(ks.name.toString(), repStratClass, strategyOptions, ks.durable_writes, cfMetaData); }
[1/3] git commit: merge from 1.1
Updated Branches: refs/heads/trunk 760e992ed -> d9236e4a9 merge from 1.1 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/d9236e4a Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/d9236e4a Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/d9236e4a Branch: refs/heads/trunk Commit: d9236e4a92a89395cf88a1ba47cd5b31074c Parents: 760e992 457e09e Author: Pavel Yaskevich Authored: Fri Mar 30 23:59:32 2012 +0300 Committer: Pavel Yaskevich Committed: Fri Mar 30 23:59:32 2012 +0300 -- CHANGES.txt|1 + src/avro/internode.genavro |2 + src/java/org/apache/cassandra/config/Avro.java | 20 +- 3 files changed, 21 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/d9236e4a/CHANGES.txt --
[2/3] git commit: merge from 1.1.0
merge from 1.1.0 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/457e09e9 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/457e09e9 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/457e09e9 Branch: refs/heads/trunk Commit: 457e09e91396e82520afb5d6727f6616b2c972fc Parents: cd20c3a ef50e8f Author: Pavel Yaskevich Authored: Fri Mar 30 23:58:04 2012 +0300 Committer: Pavel Yaskevich Committed: Fri Mar 30 23:58:04 2012 +0300 -- CHANGES.txt|1 + src/avro/internode.genavro |2 + src/java/org/apache/cassandra/config/Avro.java | 20 +- 3 files changed, 21 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/457e09e9/CHANGES.txt --
[1/2] git commit: merge from 1.1.0
Updated Branches: refs/heads/cassandra-1.1 cd20c3a63 -> 457e09e91 merge from 1.1.0 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/457e09e9 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/457e09e9 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/457e09e9 Branch: refs/heads/cassandra-1.1 Commit: 457e09e91396e82520afb5d6727f6616b2c972fc Parents: cd20c3a ef50e8f Author: Pavel Yaskevich Authored: Fri Mar 30 23:58:04 2012 +0300 Committer: Pavel Yaskevich Committed: Fri Mar 30 23:58:04 2012 +0300 -- CHANGES.txt|1 + src/avro/internode.genavro |2 + src/java/org/apache/cassandra/config/Avro.java | 20 +- 3 files changed, 21 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/457e09e9/CHANGES.txt --
[2/2] git commit: Respect 1.0 cache settings as much as possible when upgrading Patch by Pavel Yaskevich; reviewed by Yuki Morishita for CASSANDRA-4088
Respect 1.0 cache settings as much as possible when upgrading Patch by Pavel Yaskevich; reviewed by Yuki Morishita for CASSANDRA-4088 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/ef50e8f1 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/ef50e8f1 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/ef50e8f1 Branch: refs/heads/cassandra-1.1 Commit: ef50e8f12a81986407351f5b7e3125dab2d4ffa1 Parents: e4e8766 Author: Pavel Yaskevich Authored: Fri Mar 30 14:47:44 2012 +0300 Committer: Pavel Yaskevich Committed: Fri Mar 30 23:54:46 2012 +0300 -- CHANGES.txt|1 + src/avro/internode.genavro |2 + src/java/org/apache/cassandra/config/Avro.java | 20 +- 3 files changed, 21 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/ef50e8f1/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 5f0db66..efb4ebe 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -4,6 +4,7 @@ * 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) 1.1-beta2 http://git-wip-us.apache.org/repos/asf/cassandra/blob/ef50e8f1/src/avro/internode.genavro -- diff --git a/src/avro/internode.genavro b/src/avro/internode.genavro index d060d6e..d7ba60f 100644 --- a/src/avro/internode.genavro +++ b/src/avro/internode.genavro @@ -70,6 +70,8 @@ protocol InterNode { union { null, array } column_aliases = null; union { null, bytes } value_alias = null; union { double, null } dclocal_read_repair_chance = 0.0; +union { double, null } row_cache_size; +union { double, null } key_cache_size; } @aliases(["org.apache.cassandra.config.avro.KsDef"]) http://git-wip-us.apache.org/repos/asf/cassandra/blob/ef50e8f1/src/java/org/apache/cassandra/config/Avro.java -- diff --git a/src/java/org/apache/cassandra/config/Avro.java b/src/java/org/apache/cassandra/config/Avro.java index 954a6aa..8e0de76 100644 --- a/src/java/org/apache/cassandra/config/Avro.java +++ b/src/java/org/apache/cassandra/config/Avro.java @@ -32,6 +32,8 @@ import org.apache.cassandra.locator.NetworkTopologyStrategy; import org.apache.cassandra.thrift.IndexType; import org.apache.cassandra.utils.ByteBufferUtil; +import static org.apache.cassandra.config.CFMetaData.Caching; + /** * methods to load schema definitions from old-style Avro serialization */ @@ -71,9 +73,23 @@ public class Avro int cfsz = ks.cf_defs.size(); List cfMetaData = new ArrayList(cfsz); -Iterator cfiter = ks.cf_defs.iterator(); + for (CfDef cf_def : ks.cf_defs) -cfMetaData.add(cfFromAvro(cfiter.next())); +{ +double keysCached = cf_def.key_cache_size == null ? -1 : cf_def.key_cache_size; +double rowsCached = cf_def.row_cache_size == null ? -1 : cf_def.row_cache_size; + +if (keysCached > 0 && rowsCached > 0) +cf_def.caching = Caching.ALL.name(); +else if (keysCached <= 0 && rowsCached <= 0) +cf_def.caching = Caching.NONE.name(); +else if (keysCached > 0 && rowsCached <= 0) +cf_def.caching = Caching.KEYS_ONLY.name(); +else +cf_def.caching = Caching.ROWS_ONLY.name(); + +cfMetaData.add(cfFromAvro(cf_def)); +} return new KSMetaData(ks.name.toString(), repStratClass, strategyOptions, ks.durable_writes, cfMetaData); }
git commit: Respect 1.0 cache settings as much as possible when upgrading Patch by Pavel Yaskevich; reviewed by Yuki Morishita for CASSANDRA-4088
Updated Branches: refs/heads/cassandra-1.1.0 e4e87661d -> ef50e8f12 Respect 1.0 cache settings as much as possible when upgrading Patch by Pavel Yaskevich; reviewed by Yuki Morishita for CASSANDRA-4088 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/ef50e8f1 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/ef50e8f1 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/ef50e8f1 Branch: refs/heads/cassandra-1.1.0 Commit: ef50e8f12a81986407351f5b7e3125dab2d4ffa1 Parents: e4e8766 Author: Pavel Yaskevich Authored: Fri Mar 30 14:47:44 2012 +0300 Committer: Pavel Yaskevich Committed: Fri Mar 30 23:54:46 2012 +0300 -- CHANGES.txt|1 + src/avro/internode.genavro |2 + src/java/org/apache/cassandra/config/Avro.java | 20 +- 3 files changed, 21 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/ef50e8f1/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 5f0db66..efb4ebe 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -4,6 +4,7 @@ * 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) 1.1-beta2 http://git-wip-us.apache.org/repos/asf/cassandra/blob/ef50e8f1/src/avro/internode.genavro -- diff --git a/src/avro/internode.genavro b/src/avro/internode.genavro index d060d6e..d7ba60f 100644 --- a/src/avro/internode.genavro +++ b/src/avro/internode.genavro @@ -70,6 +70,8 @@ protocol InterNode { union { null, array } column_aliases = null; union { null, bytes } value_alias = null; union { double, null } dclocal_read_repair_chance = 0.0; +union { double, null } row_cache_size; +union { double, null } key_cache_size; } @aliases(["org.apache.cassandra.config.avro.KsDef"]) http://git-wip-us.apache.org/repos/asf/cassandra/blob/ef50e8f1/src/java/org/apache/cassandra/config/Avro.java -- diff --git a/src/java/org/apache/cassandra/config/Avro.java b/src/java/org/apache/cassandra/config/Avro.java index 954a6aa..8e0de76 100644 --- a/src/java/org/apache/cassandra/config/Avro.java +++ b/src/java/org/apache/cassandra/config/Avro.java @@ -32,6 +32,8 @@ import org.apache.cassandra.locator.NetworkTopologyStrategy; import org.apache.cassandra.thrift.IndexType; import org.apache.cassandra.utils.ByteBufferUtil; +import static org.apache.cassandra.config.CFMetaData.Caching; + /** * methods to load schema definitions from old-style Avro serialization */ @@ -71,9 +73,23 @@ public class Avro int cfsz = ks.cf_defs.size(); List cfMetaData = new ArrayList(cfsz); -Iterator cfiter = ks.cf_defs.iterator(); + for (CfDef cf_def : ks.cf_defs) -cfMetaData.add(cfFromAvro(cfiter.next())); +{ +double keysCached = cf_def.key_cache_size == null ? -1 : cf_def.key_cache_size; +double rowsCached = cf_def.row_cache_size == null ? -1 : cf_def.row_cache_size; + +if (keysCached > 0 && rowsCached > 0) +cf_def.caching = Caching.ALL.name(); +else if (keysCached <= 0 && rowsCached <= 0) +cf_def.caching = Caching.NONE.name(); +else if (keysCached > 0 && rowsCached <= 0) +cf_def.caching = Caching.KEYS_ONLY.name(); +else +cf_def.caching = Caching.ROWS_ONLY.name(); + +cfMetaData.add(cfFromAvro(cf_def)); +} return new KSMetaData(ks.name.toString(), repStratClass, strategyOptions, ks.durable_writes, cfMetaData); }
[jira] [Commented] (CASSANDRA-3722) Send Hints to Dynamic Snitch when Compaction or repair is going on for a node.
[ https://issues.apache.org/jira/browse/CASSANDRA-3722?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13242729#comment-13242729 ] Vijay commented on CASSANDRA-3722: -- Done some testing (single DC) and it works as expected +1 for v4. Thanks! > Send Hints to Dynamic Snitch when Compaction or repair is going on for a node. > -- > > Key: CASSANDRA-3722 > URL: https://issues.apache.org/jira/browse/CASSANDRA-3722 > Project: Cassandra > Issue Type: Improvement > Components: Core >Affects Versions: 1.1.0 >Reporter: Vijay >Assignee: Vijay >Priority: Minor > Attachments: 0001-CASSANDRA-3722-A1-V2.patch, > 0001-CASSANDRA-3722-A1.patch, 0001-CASSANDRA-3722-v3.patch, > 0001-CASSANDRA-3723-A2-Patch.patch, > 0001-Expose-SP-latencies-in-nodetool-proxyhistograms.txt, 3722-v4.txt > > > Currently Dynamic snitch looks at the latency for figuring out which node > will be better serving the requests, this works great but there is a part of > the traffic sent to collect this data... There is also a window when Snitch > doesn't know about some major event which are going to happen on the node > (Node which is going to receive the data request). > It would be great if we can send some sort hints to the Snitch so they can > score based on known events causing higher latencies. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (CASSANDRA-4088) Respect 1.0 cache settings as much as possible when upgrading
[ https://issues.apache.org/jira/browse/CASSANDRA-4088?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13242725#comment-13242725 ] Yuki Morishita commented on CASSANDRA-4088: --- +1. I created following tables in 1.0.8: {noformat} CREATE TABLE Test1 (key int PRIMARY KEY) WITH row_cache_size = 1 AND key_cache_size = 1; CREATE TABLE Test2 (key int PRIMARY KEY) WITH row_cache_size = 0 AND key_cache_size = 0; CREATE TABLE Test3 (key int PRIMARY KEY) WITH row_cache_size = 1; CREATE TABLE Test4 (key int PRIMARY KEY) WITH key_cache_size = 1; CREATE TABLE Test5 (key int PRIMARY KEY); CREATE TABLE Test6 (key int PRIMARY KEY) WITH row_cache_size = 1 AND key_cache_size = 0; {noformat} and got following in patched 1.1: {noformat} create column family Test1 ... and caching = 'ALL'; create column family Test2 ... and caching = 'NONE'; create column family Test3 ... and caching = 'ALL'; create column family Test4 ... and caching = 'KEYS_ONLY'; create column family Test5 ... and caching = 'KEYS_ONLY'; create column family Test6 ... and caching = 'ROWS_ONLY'; {noformat} > Respect 1.0 cache settings as much as possible when upgrading > - > > Key: CASSANDRA-4088 > URL: https://issues.apache.org/jira/browse/CASSANDRA-4088 > Project: Cassandra > Issue Type: Improvement >Affects Versions: 1.1.0 >Reporter: Jonathan Ellis >Assignee: Pavel Yaskevich > Fix For: 1.1.0 > > Attachments: CASSANDRA-4088.patch > > > When converting a 1.0 schema to 1.1, we should look at the key and row caches > (just whether they are en- or dis-abled) and set the caching setting > accordingly. I think right now upgrading means all your row caching is gone > until you update it manually. -- 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-4078) StackOverflowError when upgrading to 1.0.8 from 0.8.10
[ https://issues.apache.org/jira/browse/CASSANDRA-4078?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Wenjun updated CASSANDRA-4078: -- Attachment: keycheck.txt Paul, attache is results from sstablekeys Thanks > StackOverflowError when upgrading to 1.0.8 from 0.8.10 > -- > > Key: CASSANDRA-4078 > URL: https://issues.apache.org/jira/browse/CASSANDRA-4078 > Project: Cassandra > Issue Type: Bug > Components: Core >Affects Versions: 0.8.10 > Environment: OS: Linux xps.openfin 2.6.35.13-91.fc14.i686 #1 SMP Tue > May 3 13:36:36 UTC 2011 i686 i686 i386 GNU/Linux > Java: JVM vendor/version: Java HotSpot(TM) Server VM/1.6.0_31 >Reporter: Wenjun >Assignee: paul cannon >Priority: Critical > Fix For: 0.8.10 > > Attachments: 4078.add-asserts.txt, cassandra.yaml.1.0.8, > cassandra.yaml.8.10, keycheck.txt, system.log, system.log.0326, > system.log.0326-02 > > > Hello > I am trying to upgrade our 1-node setup from 0.8.10 to 1.0.8 and seeing the > following exception when starting up 1.0.8. We have been running 0.8.10 > without any issues. > > Attached is the entire log file during startup of 1.0.8. There are 2 > exceptions: > 1. StackOverflowError (line 2599) > 2. InstanceAlreadyExistsException (line 3632) > I tried "run scrub" under 0.8.10 first, it did not help. Also, I tried > dropping the column family which caused the exception, it just got the same > exceptions from another column family. > Thanks -- 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
[3/6] 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/cd20c3a6 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/cd20c3a6 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/cd20c3a6 Branch: refs/heads/trunk Commit: cd20c3a63fd304cda2c44b8bf81f16d9112d86f7 Parents: a40e162 e4e8766 Author: Brandon Williams Authored: Fri Mar 30 14:32:05 2012 -0500 Committer: Brandon Williams Committed: Fri Mar 30 14:32:05 2012 -0500 -- bin/cqlsh |1 + 1 files changed, 1 insertions(+), 0 deletions(-) --
[4/6] git commit: Restore defaultdict import
Restore defaultdict import Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/e4e87661 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/e4e87661 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/e4e87661 Branch: refs/heads/trunk Commit: e4e87661d541dcab2c20b581578a6b27fdbfb590 Parents: 41314a2 Author: Brandon Williams Authored: Fri Mar 30 14:31:56 2012 -0500 Committer: Brandon Williams Committed: Fri Mar 30 14:31:56 2012 -0500 -- bin/cqlsh |1 + 1 files changed, 1 insertions(+), 0 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/e4e87661/bin/cqlsh -- diff --git a/bin/cqlsh b/bin/cqlsh index 2c3d410..118fbac 100755 --- a/bin/cqlsh +++ b/bin/cqlsh @@ -39,6 +39,7 @@ from itertools import groupby from contextlib import contextmanager from glob import glob from functools import partial +from collections import defaultdict import cmd import sys
[1/6] git commit: Merge branch 'cassandra-1.1' into trunk
Updated Branches: refs/heads/cassandra-1.1 a40e162ba -> cd20c3a63 refs/heads/cassandra-1.1.0 41314a21d -> e4e87661d refs/heads/trunk 03c3fec4c -> 760e992ed 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/760e992e Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/760e992e Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/760e992e Branch: refs/heads/trunk Commit: 760e992ed88fe4dbcb04fe4a4c929b3c5e00dc14 Parents: 03c3fec cd20c3a Author: Brandon Williams Authored: Fri Mar 30 14:33:21 2012 -0500 Committer: Brandon Williams Committed: Fri Mar 30 14:33:21 2012 -0500 -- bin/cqlsh |1 + 1 files changed, 1 insertions(+), 0 deletions(-) --
[5/6] git commit: Restore defaultdict import
Restore defaultdict import Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/e4e87661 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/e4e87661 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/e4e87661 Branch: refs/heads/cassandra-1.1.0 Commit: e4e87661d541dcab2c20b581578a6b27fdbfb590 Parents: 41314a2 Author: Brandon Williams Authored: Fri Mar 30 14:31:56 2012 -0500 Committer: Brandon Williams Committed: Fri Mar 30 14:31:56 2012 -0500 -- bin/cqlsh |1 + 1 files changed, 1 insertions(+), 0 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/e4e87661/bin/cqlsh -- diff --git a/bin/cqlsh b/bin/cqlsh index 2c3d410..118fbac 100755 --- a/bin/cqlsh +++ b/bin/cqlsh @@ -39,6 +39,7 @@ from itertools import groupby from contextlib import contextmanager from glob import glob from functools import partial +from collections import defaultdict import cmd import sys
[2/6] 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/cd20c3a6 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/cd20c3a6 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/cd20c3a6 Branch: refs/heads/cassandra-1.1 Commit: cd20c3a63fd304cda2c44b8bf81f16d9112d86f7 Parents: a40e162 e4e8766 Author: Brandon Williams Authored: Fri Mar 30 14:32:05 2012 -0500 Committer: Brandon Williams Committed: Fri Mar 30 14:32:05 2012 -0500 -- bin/cqlsh |1 + 1 files changed, 1 insertions(+), 0 deletions(-) --
[6/6] git commit: Restore defaultdict import
Restore defaultdict import Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/e4e87661 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/e4e87661 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/e4e87661 Branch: refs/heads/cassandra-1.1 Commit: e4e87661d541dcab2c20b581578a6b27fdbfb590 Parents: 41314a2 Author: Brandon Williams Authored: Fri Mar 30 14:31:56 2012 -0500 Committer: Brandon Williams Committed: Fri Mar 30 14:31:56 2012 -0500 -- bin/cqlsh |1 + 1 files changed, 1 insertions(+), 0 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/e4e87661/bin/cqlsh -- diff --git a/bin/cqlsh b/bin/cqlsh index 2c3d410..118fbac 100755 --- a/bin/cqlsh +++ b/bin/cqlsh @@ -39,6 +39,7 @@ from itertools import groupby from contextlib import contextmanager from glob import glob from functools import partial +from collections import defaultdict import cmd import sys
[jira] [Commented] (CASSANDRA-4078) StackOverflowError when upgrading to 1.0.8 from 0.8.10
[ https://issues.apache.org/jira/browse/CASSANDRA-4078?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13242660#comment-13242660 ] paul cannon commented on CASSANDRA-4078: Wenjun- it would help at this point to be sure whether or not your sstables really do have keys which are out of order. Could you run the sstablekeys tool on the data file for that UserAgreementStatus CF? It looks like it is at {{/home/cassandra/var/lib/cassandra/data/Appoji/UserAgreementStatus/Appoji-UserAgreementStatus.userId-g-*-Data.db}}. We want to check that the byte sequences are in order: {noformat} $ for s in /home/cassandra/var/lib/cassandra/data/Appoji/UserAgreementStatus/Appoji-UserAgreementStatus.userId-g-*-{Data,Index}.db; do > echo "checking $s" > bin/sstablekeys "$s" | sort -c > done {noformat} If that doesn't give any output, then maybe there really is a bug in the 1.0/1.1 code that we need to look at. > StackOverflowError when upgrading to 1.0.8 from 0.8.10 > -- > > Key: CASSANDRA-4078 > URL: https://issues.apache.org/jira/browse/CASSANDRA-4078 > Project: Cassandra > Issue Type: Bug > Components: Core >Affects Versions: 0.8.10 > Environment: OS: Linux xps.openfin 2.6.35.13-91.fc14.i686 #1 SMP Tue > May 3 13:36:36 UTC 2011 i686 i686 i386 GNU/Linux > Java: JVM vendor/version: Java HotSpot(TM) Server VM/1.6.0_31 >Reporter: Wenjun >Assignee: paul cannon >Priority: Critical > Fix For: 0.8.10 > > Attachments: 4078.add-asserts.txt, cassandra.yaml.1.0.8, > cassandra.yaml.8.10, system.log, system.log.0326, system.log.0326-02 > > > Hello > I am trying to upgrade our 1-node setup from 0.8.10 to 1.0.8 and seeing the > following exception when starting up 1.0.8. We have been running 0.8.10 > without any issues. > > Attached is the entire log file during startup of 1.0.8. There are 2 > exceptions: > 1. StackOverflowError (line 2599) > 2. InstanceAlreadyExistsException (line 3632) > I tried "run scrub" under 0.8.10 first, it did not help. Also, I tried > dropping the column family which caused the exception, it just got the same > exceptions from another column family. > Thanks -- 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=13242648#comment-13242648 ] paul cannon commented on CASSANDRA-3990: bq. So in other words, we will later need to be able to distinguish between 3.0.0 and 3.1.0. Meaning there will be C* versions which support both? That seems wrong to me- if there's no major version increment, doesn't that mean 3.1.0 has to be backwards compatible with 3.0.0? > 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 > > > 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-4099) IncomingTCPConnection recognizes from by doing socket.getInetAddress() instead of BroadCastAddress
[ https://issues.apache.org/jira/browse/CASSANDRA-4099?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Vijay resolved CASSANDRA-4099. -- Resolution: Fixed Committed back Thanks! > IncomingTCPConnection recognizes from by doing socket.getInetAddress() > instead of BroadCastAddress > -- > > Key: CASSANDRA-4099 > URL: https://issues.apache.org/jira/browse/CASSANDRA-4099 > Project: Cassandra > Issue Type: Bug >Reporter: Vijay >Assignee: Vijay >Priority: Minor > Fix For: 1.0.9, 1.1.0 > > Attachments: 0001-CASSANDRA-4099-v2.patch, > 0001-CASSANDRA-4099-v3.patch, 0001-CASSANDRA-4099-v4.patch, > 0001-CASSANDRA-4099.patch > > > change "this.from = socket.getInetAddress()" to understand the broad cast IP, > but the problem is we dont know until the first packet is received, this > ticket is to work around the problem until it reads the first packet. -- 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: CASSANDRA-4099-reopened patch by Vijay; reviewed by Brandon Williams for CASSANDRA-4098 Conflicts: src/java/org/apache/cassandra/net/IncomingTcpConnection.java
Updated Branches: refs/heads/trunk 6c5b1b663 -> 03c3fec4c CASSANDRA-4099-reopened patch by Vijay; reviewed by Brandon Williams for CASSANDRA-4098 Conflicts: src/java/org/apache/cassandra/net/IncomingTcpConnection.java Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/03c3fec4 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/03c3fec4 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/03c3fec4 Branch: refs/heads/trunk Commit: 03c3fec4c13e6c3214619efd6263dbd38a77ea90 Parents: 6c5b1b6 Author: Vijay Parthasarathy Authored: Fri Mar 30 11:49:31 2012 -0700 Committer: Vijay Parthasarathy Committed: Fri Mar 30 11:49:31 2012 -0700 -- .../cassandra/net/IncomingTcpConnection.java | 22 +++ 1 files changed, 10 insertions(+), 12 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/03c3fec4/src/java/org/apache/cassandra/net/IncomingTcpConnection.java -- diff --git a/src/java/org/apache/cassandra/net/IncomingTcpConnection.java b/src/java/org/apache/cassandra/net/IncomingTcpConnection.java index d7a3de4..4f91b3c 100644 --- a/src/java/org/apache/cassandra/net/IncomingTcpConnection.java +++ b/src/java/org/apache/cassandra/net/IncomingTcpConnection.java @@ -86,20 +86,16 @@ public class IncomingTcpConnection extends Thread // we should buffer input = new DataInputStream(new BufferedInputStream(socket.getInputStream(), 4096)); // Receive the first message to set the version. -Message msg = receiveMessage(input, version); -from = msg.getFrom(); // why? see => CASSANDRA-4099 +from = receiveMessage(input, version); // why? see => CASSANDRA-4099 if (version > MessagingService.current_version) { // save the endpoint so gossip will reconnect to it Gossiper.instance.addSavedEndpoint(from); logger.info("Received " + (isStream ? "streaming " : "") + "connection from newer protocol version. Ignoring"); +return; } -else if (msg != null) -{ -Gossiper.instance.setVersion(from, version); -logger.debug("set version for {} to {}", from, version); -} - +Gossiper.instance.setVersion(from, version); +logger.debug("set version for {} to {}", from, version); // loop to get the next message. while (true) { @@ -127,7 +123,7 @@ public class IncomingTcpConnection extends Thread } } -private Message receiveMessage(DataInputStream input, int version) throws IOException +private InetAddress receiveMessage(DataInputStream input, int version) throws IOException { int totalSize = input.readInt(); String id = input.readUTF(); @@ -152,10 +148,12 @@ public class IncomingTcpConnection extends Thread { Message message = new Message(header, body, version); MessagingService.instance().receive(message, id); -return message; } -logger.debug("Received connection from newer protocol version {}. Ignoring message", version); -return null; +else +{ +logger.debug("Received connection from newer protocol version {}. Ignoring message", version); +} +return header.getFrom(); } private void close()
git commit: CASSANDRA-4099-reopened patch by Vijay; reviewed by Brandon Williams for CASSANDRA-4098
Updated Branches: refs/heads/cassandra-1.0 4a6531172 -> cec4253ba CASSANDRA-4099-reopened patch by Vijay; reviewed by Brandon Williams for CASSANDRA-4098 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/cec4253b Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/cec4253b Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/cec4253b Branch: refs/heads/cassandra-1.0 Commit: cec4253ba83be62dff17894442dbd1bb0690aaed Parents: 4a65311 Author: Vijay Parthasarathy Authored: Fri Mar 30 11:42:10 2012 -0700 Committer: Vijay Parthasarathy Committed: Fri Mar 30 11:42:10 2012 -0700 -- .../cassandra/net/IncomingTcpConnection.java | 21 +++ 1 files changed, 10 insertions(+), 11 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/cec4253b/src/java/org/apache/cassandra/net/IncomingTcpConnection.java -- diff --git a/src/java/org/apache/cassandra/net/IncomingTcpConnection.java b/src/java/org/apache/cassandra/net/IncomingTcpConnection.java index 47ab39a..a9a5809 100644 --- a/src/java/org/apache/cassandra/net/IncomingTcpConnection.java +++ b/src/java/org/apache/cassandra/net/IncomingTcpConnection.java @@ -92,19 +92,16 @@ public class IncomingTcpConnection extends Thread // we should buffer input = new DataInputStream(new BufferedInputStream(socket.getInputStream(), 4096)); // Receive the first message to set the version. -Message msg = receiveMessage(input, version); -from = msg.getFrom(); // why? see => CASSANDRA-4099 +from = receiveMessage(input, version); // why? see => CASSANDRA-4099 if (version > MessagingService.version_) { // save the endpoint so gossip will reconnect to it Gossiper.instance.addSavedEndpoint(from); logger.info("Received " + (isStream ? "streaming " : "") + "connection from newer protocol version. Ignoring"); +return; } -else if (msg != null) -{ -Gossiper.instance.setVersion(from, version); -logger.debug("set version for {} to {}", from, version); -} +Gossiper.instance.setVersion(from, version); +logger.debug("set version for {} to {}", from, version); // loop to get the next message. while (true) @@ -133,7 +130,7 @@ public class IncomingTcpConnection extends Thread } } -private Message receiveMessage(DataInputStream input, int version) throws IOException +private InetAddress receiveMessage(DataInputStream input, int version) throws IOException { int totalSize = input.readInt(); String id = input.readUTF(); @@ -158,10 +155,12 @@ public class IncomingTcpConnection extends Thread { Message message = new Message(header, body, version); MessagingService.instance().receive(message, id); -return message; } -logger.debug("Received connection from newer protocol version {}. Ignoring message", version); -return null; +else +{ +logger.debug("Received connection from newer protocol version {}. Ignoring message", version); +} +return header.getFrom(); } private void close()
[jira] [Updated] (CASSANDRA-3722) Send Hints to Dynamic Snitch when Compaction or repair is going on for a node.
[ https://issues.apache.org/jira/browse/CASSANDRA-3722?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Brandon Williams updated CASSANDRA-3722: Attachment: 3722-v4.txt I think requests pending just isn't a good measure, especially for a multi-dc setup. Instead what we can do is penalize hosts based on the last time they replied, with a cap of the update interval. This way, if we aren't querying cross-dc, that dc is penalized, but within a reasonable limit such that if the local reads get bad we'll exceed the threshold and go cross-dc if we have to. This seems to respond much better to my torture test of force-suspending a JVM, but not long enough for the FD to kick in. > Send Hints to Dynamic Snitch when Compaction or repair is going on for a node. > -- > > Key: CASSANDRA-3722 > URL: https://issues.apache.org/jira/browse/CASSANDRA-3722 > Project: Cassandra > Issue Type: Improvement > Components: Core >Affects Versions: 1.1.0 >Reporter: Vijay >Assignee: Vijay >Priority: Minor > Attachments: 0001-CASSANDRA-3722-A1-V2.patch, > 0001-CASSANDRA-3722-A1.patch, 0001-CASSANDRA-3722-v3.patch, > 0001-CASSANDRA-3723-A2-Patch.patch, > 0001-Expose-SP-latencies-in-nodetool-proxyhistograms.txt, 3722-v4.txt > > > Currently Dynamic snitch looks at the latency for figuring out which node > will be better serving the requests, this works great but there is a part of > the traffic sent to collect this data... There is also a window when Snitch > doesn't know about some major event which are going to happen on the node > (Node which is going to receive the data request). > It would be great if we can send some sort hints to the Snitch so they can > score based on known events causing higher latencies. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Resolved] (CASSANDRA-3817) Add failure callback interface to streaming
[ https://issues.apache.org/jira/browse/CASSANDRA-3817?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Yuki Morishita resolved CASSANDRA-3817. --- Resolution: Duplicate Closing as Duplicate since attached patch was committed as part of CASSANDRA-4051 > Add failure callback interface to streaming > --- > > Key: CASSANDRA-3817 > URL: https://issues.apache.org/jira/browse/CASSANDRA-3817 > Project: Cassandra > Issue Type: Improvement > Components: Core >Reporter: Yuki Morishita >Priority: Minor > Labels: streaming > Attachments: 3817.txt > > > There are several issues (CASSANDRA-3730, CASSANDRA-3776 and such) reported > where streaming failure needs to be handled, but currently there is no place > to hook the code to handle failure. > This issue is just for adding callback interface to stream sessions for > future fixes. -- 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-4051) Stream sessions can only fail via the FailureDetector
[ https://issues.apache.org/jira/browse/CASSANDRA-4051?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Yuki Morishita updated CASSANDRA-4051: -- Attachment: 4051-v3.txt v3 attached for 1.1 branch. It basically catches IOException on both sides and lets sessions closed. I also implemented IStreamCallback#onFailure to make sure latches count down to avoid process hang. > Stream sessions can only fail via the FailureDetector > - > > Key: CASSANDRA-4051 > URL: https://issues.apache.org/jira/browse/CASSANDRA-4051 > Project: Cassandra > Issue Type: Bug > Components: Core >Reporter: Brandon Williams >Assignee: Brandon Williams > Labels: streaming > Fix For: 1.1.0 > > Attachments: 4051-v2.txt, 4051-v3.txt, 4051.txt > > > If for some reason, FileStreamTask itself fails more than the number of retry > attempts but gossip continues to work, the stream session will never be > closed. This is unlikely to happen in practice since it requires blocking > the storage port from new connections but keeping the existing ones, however > for the bulk loader this is especially problematic since it doesn't have > access to a failure detector and thus no way of knowing if a session failed. -- 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-4092) Allow getting a simple Token->node map over thrift
[ https://issues.apache.org/jira/browse/CASSANDRA-4092?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13242599#comment-13242599 ] Sam Tunnicliffe commented on CASSANDRA-4092: Added a new thrift call, describe_token_distribution, which is simpler & less invasive than changing describe_ring. Thrift doesn't support function overloading, so we'd need to do something like define a new struct to wrap the keyspace arg and make it optional, which seemed a bit much really. The implementation of the new call just delegates to StorageService.getTokenToEndpointMap() so its output will include bootstrapping nodes as well as those which have fully joined the ring. I've added a test to the system tests which does some minimal validation of the thrift response. First patch contains the changes to the primary source & thrift idl file, the second just the new java generated from the thrift file. > Allow getting a simple Token->node map over thrift > -- > > Key: CASSANDRA-4092 > URL: https://issues.apache.org/jira/browse/CASSANDRA-4092 > Project: Cassandra > Issue Type: Improvement >Reporter: Nick Bailey > Fix For: 1.1.1 > > Attachments: > v1-0001-CASSANDRA-4092-New-thrift-call-to-get-simple-token-nod.txt, > v1-0002-CASSANDRA-4092-New-generated-java-following-change-to-.txt > > > Right now the thrift describe_ring call is intended to be used to determine > ownership for a keyspace. It can also (and often is) be used by clients to > just get a view of what the ring looks like. Since it requires a keyspace as > an argument though, it can sometimes be impossible to see what the ring looks > like. For example, in a 2 DC/2 node ring where keyspace X exists only dc1. > The results of 'describe_ring X' would look something like (with tokens 0 and > 10): > {noformat} > {[0,10]: [node0], [10,0]: [node0]} > {noformat} > This is indicating that node0 owns everything for that keyspace since it only > exists in 1 datacenter. From this output though it is impossible to tell > which token (0 or 10) node0 owns, as well as what the other node in the > cluster is. > There are two options here. > * Allow running describe_ring with no parameters to get a view of token->ip > without taking replication into consideration. > * Add a new thrift call to achieve this. -- 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-4092) Allow getting a simple Token->node map over thrift
[ https://issues.apache.org/jira/browse/CASSANDRA-4092?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Sam Tunnicliffe updated CASSANDRA-4092: --- Attachment: v1-0002-CASSANDRA-4092-New-generated-java-following-change-to-.txt v1-0001-CASSANDRA-4092-New-thrift-call-to-get-simple-token-nod.txt > Allow getting a simple Token->node map over thrift > -- > > Key: CASSANDRA-4092 > URL: https://issues.apache.org/jira/browse/CASSANDRA-4092 > Project: Cassandra > Issue Type: Improvement >Reporter: Nick Bailey > Fix For: 1.1.1 > > Attachments: > v1-0001-CASSANDRA-4092-New-thrift-call-to-get-simple-token-nod.txt, > v1-0002-CASSANDRA-4092-New-generated-java-following-change-to-.txt > > > Right now the thrift describe_ring call is intended to be used to determine > ownership for a keyspace. It can also (and often is) be used by clients to > just get a view of what the ring looks like. Since it requires a keyspace as > an argument though, it can sometimes be impossible to see what the ring looks > like. For example, in a 2 DC/2 node ring where keyspace X exists only dc1. > The results of 'describe_ring X' would look something like (with tokens 0 and > 10): > {noformat} > {[0,10]: [node0], [10,0]: [node0]} > {noformat} > This is indicating that node0 owns everything for that keyspace since it only > exists in 1 datacenter. From this output though it is impossible to tell > which token (0 or 10) node0 owns, as well as what the other node in the > cluster is. > There are two options here. > * Allow running describe_ring with no parameters to get a view of token->ip > without taking replication into consideration. > * Add a new thrift call to achieve this. -- 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-4093) schema_* CFs do not respect column comparator which leads to CLI commands failure.
[ https://issues.apache.org/jira/browse/CASSANDRA-4093?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13242576#comment-13242576 ] Dave Brosius commented on CASSANDRA-4093: - >> Ask users@ if anyone actually has such a use case in production, and go with >> 1 or 2 based on the responses This makes sense to me... it's possible that this isn't really an issue. > schema_* CFs do not respect column comparator which leads to CLI commands > failure. > -- > > Key: CASSANDRA-4093 > URL: https://issues.apache.org/jira/browse/CASSANDRA-4093 > Project: Cassandra > Issue Type: Bug > Components: Tools >Affects Versions: 1.1.0 >Reporter: Dave Brosius >Assignee: Sylvain Lebresne > Fix For: 1.1.0 > > Attachments: 4093.txt, CASSANDRA-4093-CD-changes.patch > > > ColumnDefinition.{ascii, utf8, bool, ...} static methods used to initialize > schema_* CFs column_metadata do not respect CF comparator and use > ByteBufferUtil.bytes(...) for column names which creates problems in CLI and > probably in other places. > The CompositeType validator throws exception on first column > String columnName = columnNameValidator.getString(columnDef.name); > Because it appears the composite type length header is wrong (25455) > AbstractCompositeType.getWithShortLength > java.lang.IllegalArgumentException > at java.nio.Buffer.limit(Buffer.java:247) > at > org.apache.cassandra.db.marshal.AbstractCompositeType.getBytes(AbstractCompositeType.java:50) > at > org.apache.cassandra.db.marshal.AbstractCompositeType.getWithShortLength(AbstractCompositeType.java:59) > at > org.apache.cassandra.db.marshal.AbstractCompositeType.getString(AbstractCompositeType.java:139) > at > org.apache.cassandra.cli.CliClient.describeColumnFamily(CliClient.java:2046) > at > org.apache.cassandra.cli.CliClient.describeKeySpace(CliClient.java:1969) > at > org.apache.cassandra.cli.CliClient.executeShowKeySpaces(CliClient.java:1574) > (seen in trunk) -- 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=13242570#comment-13242570 ] Sylvain Lebresne commented on CASSANDRA-3990: - Some part of me tell me that this may prove limiting. I've actually bothered implementing the semantic versioning server side, so that when for instance when we have cql 3.1.0, if the client asked for 3.1.0 but the server is an old one that only support 3.0.0, an error is returned. So in other words, we will later need to be able to distinguish between 3.0.0 and 3.1.0. Feels like adding a specific flag each time will prove limiting or tedious to upgrade. I'm not sure if that would really matter for cqlsh but just figured I'd mention it. Maybe we could still have the option of setting whatever version we want, but then have --cql2 and --cql3 shortcuts that would refer to the more recent known version for instance. > 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 > > > 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-3990) cqlsh support for CQL 3
[ https://issues.apache.org/jira/browse/CASSANDRA-3990?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13242556#comment-13242556 ] paul cannon commented on CASSANDRA-3990: You mean, a --cql2/-2 flag that's on by default for now, but can be used in a forward-compatible way as long as cql2 is supported? I like that idea. > 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 > > > 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-4093) schema_* CFs do not respect column comparator which leads to CLI commands failure.
[ https://issues.apache.org/jira/browse/CASSANDRA-4093?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13242539#comment-13242539 ] Sylvain Lebresne commented on CASSANDRA-4093: - bq. The thing about backwards-compatibility hacks is you tend to get stuck with them. I suppose it depends of ones own definition of a hack, but I really don't consider this patch as a hack. As soon as we consider CT to be first class citizen, adding the ability to specify to which component a ColumnDefinition applies (which is all the patch does) feels like a rather natural extension to me. And as said, if we decide to allow secondary indexes on any component of a CT, which I though was something we wanted ultimately, we'll have to add that componentIndex information. So breaking compatibility to avoid adding a simple info to ColumnDefinition that we'll very likely end up adding anyway later feels like the wrong choice to me. bq. We've made huge strides towards simplifying this in CQL3 and composite PKs. I don't think we can afford to dilute this with footnotes about how you can escape hatch back to the old world I don't understand. As of the attached patch, there is 0 footnotes to add to CQL3. Currently it's pretty much *exclusively* a thrift backward-compatibility patch. If you're referring to me saying that we could later consider allowing index on a full composite in CQL3, then I'm sorry, let's forget about that for now. This patch does not force us at all to do that. bq. dragging in all our old legacy baggage again. Put another way: it's time to bury "wtf is a supercolumn" once and for all. I don't understand what you're referring to. Again, what this patch does is recognizing that CT are now first class citizen and thus that it makes sense that a ColumnDefinition may refer to any of the component. And while it is true that we don't *yet* use that generalization, it *trivially* allows us to support backward compatibility for thrift, hence the idea of doing that generalization now. I don't see where this patch drag *any* old legacy baggage so I'd love to get more precision on what you're referring to exactly. bq. Of our hundreds of deployments of 0.8 and 1.0, I can live with one or two needing to wait for 1.1.2 or whatever to upgrade. But that is *not* what will happen. Anyone that use an index on a CT currently won't be able to upgrade *ever*. Because their index will just be not be supported anymore. If they upgrade, C* will crash. Seriously, they will be completely screwed. Their only option will be some complex manual data model migration which will be impossible to do without any downtime for the application (since no version will both support their existing index *and* the new possibly-introduced-in-1.2 indexing of the the last component of a CT). bq. TLDR: backwards compatibility in this specific case is high cost, low benefit. I couldn't disagree more. I still don't see what this high cost is. I wrote the patch and I just don't see at all the high cost. The patch is fairly trivial (it's not small in size but for a good part because it include thrift generated code) and has barely any user side visibility. More precisely, the only visibility it has is on the thrift side, and even then it's an optional field whose default is the right one for the thrift side. On the other side, the benefit is huge imo because it means we don't screw up the people that use C* in original ways. > schema_* CFs do not respect column comparator which leads to CLI commands > failure. > -- > > Key: CASSANDRA-4093 > URL: https://issues.apache.org/jira/browse/CASSANDRA-4093 > Project: Cassandra > Issue Type: Bug > Components: Tools >Affects Versions: 1.1.0 >Reporter: Dave Brosius >Assignee: Sylvain Lebresne > Fix For: 1.1.0 > > Attachments: 4093.txt, CASSANDRA-4093-CD-changes.patch > > > ColumnDefinition.{ascii, utf8, bool, ...} static methods used to initialize > schema_* CFs column_metadata do not respect CF comparator and use > ByteBufferUtil.bytes(...) for column names which creates problems in CLI and > probably in other places. > The CompositeType validator throws exception on first column > String columnName = columnNameValidator.getString(columnDef.name); > Because it appears the composite type length header is wrong (25455) > AbstractCompositeType.getWithShortLength > java.lang.IllegalArgumentException > at java.nio.Buffer.limit(Buffer.java:247) > at > org.apache.cassandra.db.marshal.AbstractCompositeType.getBytes(AbstractCompositeType.java:50) > at > org.apache.cassandra.db.marshal.AbstractCompositeType.getWithShortLength(AbstractCompositeType.java:59) > at > org.a
[15/16] git commit: Fix intermittent NPE in get_slice
Fix intermittent NPE in get_slice patch by jbellis; reviewed by vijay for CASSANDRA-4095 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/5cde93d9 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/5cde93d9 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/5cde93d9 Branch: refs/heads/trunk Commit: 5cde93d9607ddbdb5316afaa2be9b9132d1bec3f Parents: 3931ee7 Author: Sylvain Lebresne Authored: Fri Mar 30 17:22:59 2012 +0200 Committer: Sylvain Lebresne Committed: Fri Mar 30 17:22:59 2012 +0200 -- CHANGES.txt|3 ++- src/java/org/apache/cassandra/db/Row.java |5 + .../apache/cassandra/db/SliceFromReadCommand.java |2 +- 3 files changed, 8 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/5cde93d9/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 438bc91..bf1a34f 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -15,7 +15,8 @@ tasks and upgradesstables (CASSANDRA-3985) * fix NPE on invalid CQL delete command (CASSANDRA-3755) * allow custom types in CLI's assume command (CASSANDRA-4081) - * Fix totalBytes count for parallel compactions (CASSANDRA-3758) + * fix totalBytes count for parallel compactions (CASSANDRA-3758) + * fix intermittent NPE in get_slice (CASSANDRA-4095) 1.0.8 http://git-wip-us.apache.org/repos/asf/cassandra/blob/5cde93d9/src/java/org/apache/cassandra/db/Row.java -- diff --git a/src/java/org/apache/cassandra/db/Row.java b/src/java/org/apache/cassandra/db/Row.java index 523f501..71a7332 100644 --- a/src/java/org/apache/cassandra/db/Row.java +++ b/src/java/org/apache/cassandra/db/Row.java @@ -45,6 +45,11 @@ public class Row this.cf = cf; } +public int getLiveColumnCount() +{ +return cf == null ? 0 : cf.getLiveColumnCount(); +} + @Override public String toString() { http://git-wip-us.apache.org/repos/asf/cassandra/blob/5cde93d9/src/java/org/apache/cassandra/db/SliceFromReadCommand.java -- diff --git a/src/java/org/apache/cassandra/db/SliceFromReadCommand.java b/src/java/org/apache/cassandra/db/SliceFromReadCommand.java index 4ea89b6..be73472 100644 --- a/src/java/org/apache/cassandra/db/SliceFromReadCommand.java +++ b/src/java/org/apache/cassandra/db/SliceFromReadCommand.java @@ -73,7 +73,7 @@ public class SliceFromReadCommand extends ReadCommand public ReadCommand maybeGenerateRetryCommand(RepairCallback handler, Row row) { int maxLiveColumns = handler.getMaxLiveColumns(); -int liveColumnsInRow = row != null ? row.cf.getLiveColumnCount() : 0; +int liveColumnsInRow = row != null ? row.getLiveColumnCount() : 0; assert maxLiveColumns <= count; // We generate a retry if at least one node reply with count live columns but after merge we have less
[16/16] git commit: Fix intermittent NPE in get_slice
Fix intermittent NPE in get_slice patch by jbellis; reviewed by vijay for CASSANDRA-4095 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/5cde93d9 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/5cde93d9 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/5cde93d9 Branch: refs/heads/cassandra-1.1 Commit: 5cde93d9607ddbdb5316afaa2be9b9132d1bec3f Parents: 3931ee7 Author: Sylvain Lebresne Authored: Fri Mar 30 17:22:59 2012 +0200 Committer: Sylvain Lebresne Committed: Fri Mar 30 17:22:59 2012 +0200 -- CHANGES.txt|3 ++- src/java/org/apache/cassandra/db/Row.java |5 + .../apache/cassandra/db/SliceFromReadCommand.java |2 +- 3 files changed, 8 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/5cde93d9/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 438bc91..bf1a34f 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -15,7 +15,8 @@ tasks and upgradesstables (CASSANDRA-3985) * fix NPE on invalid CQL delete command (CASSANDRA-3755) * allow custom types in CLI's assume command (CASSANDRA-4081) - * Fix totalBytes count for parallel compactions (CASSANDRA-3758) + * fix totalBytes count for parallel compactions (CASSANDRA-3758) + * fix intermittent NPE in get_slice (CASSANDRA-4095) 1.0.8 http://git-wip-us.apache.org/repos/asf/cassandra/blob/5cde93d9/src/java/org/apache/cassandra/db/Row.java -- diff --git a/src/java/org/apache/cassandra/db/Row.java b/src/java/org/apache/cassandra/db/Row.java index 523f501..71a7332 100644 --- a/src/java/org/apache/cassandra/db/Row.java +++ b/src/java/org/apache/cassandra/db/Row.java @@ -45,6 +45,11 @@ public class Row this.cf = cf; } +public int getLiveColumnCount() +{ +return cf == null ? 0 : cf.getLiveColumnCount(); +} + @Override public String toString() { http://git-wip-us.apache.org/repos/asf/cassandra/blob/5cde93d9/src/java/org/apache/cassandra/db/SliceFromReadCommand.java -- diff --git a/src/java/org/apache/cassandra/db/SliceFromReadCommand.java b/src/java/org/apache/cassandra/db/SliceFromReadCommand.java index 4ea89b6..be73472 100644 --- a/src/java/org/apache/cassandra/db/SliceFromReadCommand.java +++ b/src/java/org/apache/cassandra/db/SliceFromReadCommand.java @@ -73,7 +73,7 @@ public class SliceFromReadCommand extends ReadCommand public ReadCommand maybeGenerateRetryCommand(RepairCallback handler, Row row) { int maxLiveColumns = handler.getMaxLiveColumns(); -int liveColumnsInRow = row != null ? row.cf.getLiveColumnCount() : 0; +int liveColumnsInRow = row != null ? row.getLiveColumnCount() : 0; assert maxLiveColumns <= count; // We generate a retry if at least one node reply with count live columns but after merge we have less
[13/16] git commit: Merge branch 'cassandra-1.0' into cassandra-1.1.0
Merge branch 'cassandra-1.0' into cassandra-1.1.0 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/9ad9c247 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/9ad9c247 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/9ad9c247 Branch: refs/heads/trunk Commit: 9ad9c2475f4c1749056ad43dc8c49f35d54ab2bb Parents: adc0931 5cde93d Author: Sylvain Lebresne Authored: Fri Mar 30 17:24:33 2012 +0200 Committer: Sylvain Lebresne Committed: Fri Mar 30 17:24:33 2012 +0200 -- CHANGES.txt|3 ++- .../apache/cassandra/db/SliceFromReadCommand.java |2 +- 2 files changed, 3 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/9ad9c247/CHANGES.txt -- diff --cc CHANGES.txt index 00848f6,bf1a34f..827c0c4 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -50,97 -15,10 +50,98 @@@ Merged from 1.0 tasks and upgradesstables (CASSANDRA-3985) * fix NPE on invalid CQL delete command (CASSANDRA-3755) * allow custom types in CLI's assume command (CASSANDRA-4081) - * Fix totalBytes count for parallel compactions (CASSANDRA-3758) + * fix totalBytes count for parallel compactions (CASSANDRA-3758) + * fix intermittent NPE in get_slice (CASSANDRA-4095) +1.1-beta1 + * (cqlsh) + + add SOURCE and CAPTURE commands, and --file option (CASSANDRA-3479) + + add ALTER COLUMNFAMILY WITH (CASSANDRA-3523) + + bundle Python dependencies with Cassandra (CASSANDRA-3507) + + added to Debian package (CASSANDRA-3458) + + display byte data instead of erroring out on decode failure + (CASSANDRA-3874) + * add nodetool rebuild_index (CASSANDRA-3583) + * add nodetool rangekeysample (CASSANDRA-2917) + * Fix streaming too much data during move operations (CASSANDRA-3639) + * Nodetool and CLI connect to localhost by default (CASSANDRA-3568) + * Reduce memory used by primary index sample (CASSANDRA-3743) + * (Hadoop) separate input/output configurations (CASSANDRA-3197, 3765) + * avoid returning internal Cassandra classes over JMX (CASSANDRA-2805) + * add row-level isolation via SnapTree (CASSANDRA-2893) + * Optimize key count estimation when opening sstable on startup + (CASSANDRA-2988) + * multi-dc replication optimization supporting CL > ONE (CASSANDRA-3577) + * add command to stop compactions (CASSANDRA-1740, 3566, 3582) + * multithreaded streaming (CASSANDRA-3494) + * removed in-tree redhat spec (CASSANDRA-3567) + * "defragment" rows for name-based queries under STCS, again (CASSANDRA-2503) + * Recycle commitlog segments for improved performance + (CASSANDRA-3411, 3543, 3557, 3615) + * update size-tiered compaction to prioritize small tiers (CASSANDRA-2407) + * add message expiration logic to OutboundTcpConnection (CASSANDRA-3005) + * off-heap cache to use sun.misc.Unsafe instead of JNA (CASSANDRA-3271) + * EACH_QUORUM is only supported for writes (CASSANDRA-3272) + * replace compactionlock use in schema migration by checking CFS.isValid + (CASSANDRA-3116) + * recognize that "SELECT first ... *" isn't really "SELECT *" (CASSANDRA-3445) + * Use faster bytes comparison (CASSANDRA-3434) + * Bulk loader is no longer a fat client, (HADOOP) bulk load output format + (CASSANDRA-3045) + * (Hadoop) add support for KeyRange.filter + * remove assumption that keys and token are in bijection + (CASSANDRA-1034, 3574, 3604) + * always remove endpoints from delevery queue in HH (CASSANDRA-3546) + * fix race between cf flush and its 2ndary indexes flush (CASSANDRA-3547) + * fix potential race in AES when a repair fails (CASSANDRA-3548) + * Remove columns shadowed by a deleted container even when we cannot purge + (CASSANDRA-3538) + * Improve memtable slice iteration performance (CASSANDRA-3545) + * more efficient allocation of small bloom filters (CASSANDRA-3618) + * Use separate writer thread in SSTableSimpleUnsortedWriter (CASSANDRA-3619) + * fsync the directory after new sstable or commitlog segment are created (CASSANDRA-3250) + * fix minor issues reported by FindBugs (CASSANDRA-3658) + * global key/row caches (CASSANDRA-3143, 3849) + * optimize memtable iteration during range scan (CASSANDRA-3638) + * introduce 'crc_check_chance' in CompressionParameters to support + a checksum percentage checking chance similarly to read-repair (CASSANDRA-3611) + * a way to deactivate global key/row cache on per-CF basis (CASSANDRA-3667) + * fix LeveledCompactionStrategy broken because of generation pre-allocation + in LeveledManifest (CASSANDRA-3691) + * finer-grained control over data directories (CASSANDRA-2749) + * Fix ClassCastException during hinted handoff (CASSANDRA-3694) + * Upgrade Thrift to 0.7 (
[12/16] git commit: Make loadNewSSTable preserve sstable version
Make loadNewSSTable preserve sstable version patch by slebresne; reviewed by jbellis for CASSANDRA-4077 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/e5a324e3 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/e5a324e3 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/e5a324e3 Branch: refs/heads/trunk Commit: e5a324e31e0da3e5e57d3bd87e06f20aaf108a3d Parents: 9ad9c24 Author: Sylvain Lebresne Authored: Fri Mar 30 17:31:51 2012 +0200 Committer: Sylvain Lebresne Committed: Fri Mar 30 17:31:51 2012 +0200 -- CHANGES.txt|1 + .../org/apache/cassandra/db/ColumnFamilyStore.java |3 ++- 2 files changed, 3 insertions(+), 1 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/e5a324e3/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 827c0c4..df13658 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -3,6 +3,7 @@ * Adds posibility to autoconfigure size of the KeyCache (CASSANDRA-4087) * 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) 1.1-beta2 http://git-wip-us.apache.org/repos/asf/cassandra/blob/e5a324e3/src/java/org/apache/cassandra/db/ColumnFamilyStore.java -- diff --git a/src/java/org/apache/cassandra/db/ColumnFamilyStore.java b/src/java/org/apache/cassandra/db/ColumnFamilyStore.java index 0fc7604..4ab9eba 100644 --- a/src/java/org/apache/cassandra/db/ColumnFamilyStore.java +++ b/src/java/org/apache/cassandra/db/ColumnFamilyStore.java @@ -469,7 +469,8 @@ public class ColumnFamilyStore implements ColumnFamilyStoreMBean Descriptor.CURRENT_VERSION, descriptor)); -Descriptor newDescriptor = new Descriptor(descriptor.directory, +Descriptor newDescriptor = new Descriptor(descriptor.version, + descriptor.directory, descriptor.ksname, descriptor.cfname, fileIndexGenerator.incrementAndGet(),
[14/16] git commit: Merge branch 'cassandra-1.0' into cassandra-1.1.0
Merge branch 'cassandra-1.0' into cassandra-1.1.0 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/9ad9c247 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/9ad9c247 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/9ad9c247 Branch: refs/heads/cassandra-1.1 Commit: 9ad9c2475f4c1749056ad43dc8c49f35d54ab2bb Parents: adc0931 5cde93d Author: Sylvain Lebresne Authored: Fri Mar 30 17:24:33 2012 +0200 Committer: Sylvain Lebresne Committed: Fri Mar 30 17:24:33 2012 +0200 -- CHANGES.txt|3 ++- .../apache/cassandra/db/SliceFromReadCommand.java |2 +- 2 files changed, 3 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/9ad9c247/CHANGES.txt -- diff --cc CHANGES.txt index 00848f6,bf1a34f..827c0c4 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -50,97 -15,10 +50,98 @@@ Merged from 1.0 tasks and upgradesstables (CASSANDRA-3985) * fix NPE on invalid CQL delete command (CASSANDRA-3755) * allow custom types in CLI's assume command (CASSANDRA-4081) - * Fix totalBytes count for parallel compactions (CASSANDRA-3758) + * fix totalBytes count for parallel compactions (CASSANDRA-3758) + * fix intermittent NPE in get_slice (CASSANDRA-4095) +1.1-beta1 + * (cqlsh) + + add SOURCE and CAPTURE commands, and --file option (CASSANDRA-3479) + + add ALTER COLUMNFAMILY WITH (CASSANDRA-3523) + + bundle Python dependencies with Cassandra (CASSANDRA-3507) + + added to Debian package (CASSANDRA-3458) + + display byte data instead of erroring out on decode failure + (CASSANDRA-3874) + * add nodetool rebuild_index (CASSANDRA-3583) + * add nodetool rangekeysample (CASSANDRA-2917) + * Fix streaming too much data during move operations (CASSANDRA-3639) + * Nodetool and CLI connect to localhost by default (CASSANDRA-3568) + * Reduce memory used by primary index sample (CASSANDRA-3743) + * (Hadoop) separate input/output configurations (CASSANDRA-3197, 3765) + * avoid returning internal Cassandra classes over JMX (CASSANDRA-2805) + * add row-level isolation via SnapTree (CASSANDRA-2893) + * Optimize key count estimation when opening sstable on startup + (CASSANDRA-2988) + * multi-dc replication optimization supporting CL > ONE (CASSANDRA-3577) + * add command to stop compactions (CASSANDRA-1740, 3566, 3582) + * multithreaded streaming (CASSANDRA-3494) + * removed in-tree redhat spec (CASSANDRA-3567) + * "defragment" rows for name-based queries under STCS, again (CASSANDRA-2503) + * Recycle commitlog segments for improved performance + (CASSANDRA-3411, 3543, 3557, 3615) + * update size-tiered compaction to prioritize small tiers (CASSANDRA-2407) + * add message expiration logic to OutboundTcpConnection (CASSANDRA-3005) + * off-heap cache to use sun.misc.Unsafe instead of JNA (CASSANDRA-3271) + * EACH_QUORUM is only supported for writes (CASSANDRA-3272) + * replace compactionlock use in schema migration by checking CFS.isValid + (CASSANDRA-3116) + * recognize that "SELECT first ... *" isn't really "SELECT *" (CASSANDRA-3445) + * Use faster bytes comparison (CASSANDRA-3434) + * Bulk loader is no longer a fat client, (HADOOP) bulk load output format + (CASSANDRA-3045) + * (Hadoop) add support for KeyRange.filter + * remove assumption that keys and token are in bijection + (CASSANDRA-1034, 3574, 3604) + * always remove endpoints from delevery queue in HH (CASSANDRA-3546) + * fix race between cf flush and its 2ndary indexes flush (CASSANDRA-3547) + * fix potential race in AES when a repair fails (CASSANDRA-3548) + * Remove columns shadowed by a deleted container even when we cannot purge + (CASSANDRA-3538) + * Improve memtable slice iteration performance (CASSANDRA-3545) + * more efficient allocation of small bloom filters (CASSANDRA-3618) + * Use separate writer thread in SSTableSimpleUnsortedWriter (CASSANDRA-3619) + * fsync the directory after new sstable or commitlog segment are created (CASSANDRA-3250) + * fix minor issues reported by FindBugs (CASSANDRA-3658) + * global key/row caches (CASSANDRA-3143, 3849) + * optimize memtable iteration during range scan (CASSANDRA-3638) + * introduce 'crc_check_chance' in CompressionParameters to support + a checksum percentage checking chance similarly to read-repair (CASSANDRA-3611) + * a way to deactivate global key/row cache on per-CF basis (CASSANDRA-3667) + * fix LeveledCompactionStrategy broken because of generation pre-allocation + in LeveledManifest (CASSANDRA-3691) + * finer-grained control over data directories (CASSANDRA-2749) + * Fix ClassCastException during hinted handoff (CASSANDRA-3694) + * Upgrade Thrift
[6/16] git commit: Merge branch 'cassandra-1.0' into cassandra-1.1.0
Merge branch 'cassandra-1.0' into cassandra-1.1.0 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/41314a21 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/41314a21 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/41314a21 Branch: refs/heads/cassandra-1.1 Commit: 41314a21dcadfdae59a8f31c71f09700bf9b0233 Parents: e5a324e 4a65311 Author: Jonathan Ellis Authored: Fri Mar 30 11:24:08 2012 -0500 Committer: Jonathan Ellis Committed: Fri Mar 30 11:24:08 2012 -0500 -- CHANGES.txt |1 + src/java/org/apache/cassandra/utils/CLibrary.java |8 +++- 2 files changed, 4 insertions(+), 5 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/41314a21/CHANGES.txt -- diff --cc CHANGES.txt index df13658,e81f2bb..5f0db66 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -53,96 -17,9 +53,97 @@@ Merged from 1.0 * allow custom types in CLI's assume command (CASSANDRA-4081) * fix totalBytes count for parallel compactions (CASSANDRA-3758) * fix intermittent NPE in get_slice (CASSANDRA-4095) + * remove unnecessary asserts in native code interfaces (CASSANDRA-4096) +1.1-beta1 + * (cqlsh) + + add SOURCE and CAPTURE commands, and --file option (CASSANDRA-3479) + + add ALTER COLUMNFAMILY WITH (CASSANDRA-3523) + + bundle Python dependencies with Cassandra (CASSANDRA-3507) + + added to Debian package (CASSANDRA-3458) + + display byte data instead of erroring out on decode failure + (CASSANDRA-3874) + * add nodetool rebuild_index (CASSANDRA-3583) + * add nodetool rangekeysample (CASSANDRA-2917) + * Fix streaming too much data during move operations (CASSANDRA-3639) + * Nodetool and CLI connect to localhost by default (CASSANDRA-3568) + * Reduce memory used by primary index sample (CASSANDRA-3743) + * (Hadoop) separate input/output configurations (CASSANDRA-3197, 3765) + * avoid returning internal Cassandra classes over JMX (CASSANDRA-2805) + * add row-level isolation via SnapTree (CASSANDRA-2893) + * Optimize key count estimation when opening sstable on startup + (CASSANDRA-2988) + * multi-dc replication optimization supporting CL > ONE (CASSANDRA-3577) + * add command to stop compactions (CASSANDRA-1740, 3566, 3582) + * multithreaded streaming (CASSANDRA-3494) + * removed in-tree redhat spec (CASSANDRA-3567) + * "defragment" rows for name-based queries under STCS, again (CASSANDRA-2503) + * Recycle commitlog segments for improved performance + (CASSANDRA-3411, 3543, 3557, 3615) + * update size-tiered compaction to prioritize small tiers (CASSANDRA-2407) + * add message expiration logic to OutboundTcpConnection (CASSANDRA-3005) + * off-heap cache to use sun.misc.Unsafe instead of JNA (CASSANDRA-3271) + * EACH_QUORUM is only supported for writes (CASSANDRA-3272) + * replace compactionlock use in schema migration by checking CFS.isValid + (CASSANDRA-3116) + * recognize that "SELECT first ... *" isn't really "SELECT *" (CASSANDRA-3445) + * Use faster bytes comparison (CASSANDRA-3434) + * Bulk loader is no longer a fat client, (HADOOP) bulk load output format + (CASSANDRA-3045) + * (Hadoop) add support for KeyRange.filter + * remove assumption that keys and token are in bijection + (CASSANDRA-1034, 3574, 3604) + * always remove endpoints from delevery queue in HH (CASSANDRA-3546) + * fix race between cf flush and its 2ndary indexes flush (CASSANDRA-3547) + * fix potential race in AES when a repair fails (CASSANDRA-3548) + * Remove columns shadowed by a deleted container even when we cannot purge + (CASSANDRA-3538) + * Improve memtable slice iteration performance (CASSANDRA-3545) + * more efficient allocation of small bloom filters (CASSANDRA-3618) + * Use separate writer thread in SSTableSimpleUnsortedWriter (CASSANDRA-3619) + * fsync the directory after new sstable or commitlog segment are created (CASSANDRA-3250) + * fix minor issues reported by FindBugs (CASSANDRA-3658) + * global key/row caches (CASSANDRA-3143, 3849) + * optimize memtable iteration during range scan (CASSANDRA-3638) + * introduce 'crc_check_chance' in CompressionParameters to support + a checksum percentage checking chance similarly to read-repair (CASSANDRA-3611) + * a way to deactivate global key/row cache on per-CF basis (CASSANDRA-3667) + * fix LeveledCompactionStrategy broken because of generation pre-allocation + in LeveledManifest (CASSANDRA-3691) + * finer-grained control over data directories (CASSANDRA-2749) + * Fix ClassCastException during hinted handoff (CASSANDRA-3694) + * Upgrade Thrift to 0.7 (CASSANDRA-3213) + * Make stress.java insert operation to use microseconds (CASSANDRA-3725) + *
[9/16] git commit: remove unnecessary asserts in native code interfaces patch by jbellis; reviewed by pschuller for CASSANDRA-4096
remove unnecessary asserts in native code interfaces patch by jbellis; reviewed by pschuller for CASSANDRA-4096 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/4a653117 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/4a653117 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/4a653117 Branch: refs/heads/cassandra-1.1 Commit: 4a6531172c7d142e199f198e275942b7952c80f7 Parents: 5cde93d Author: Jonathan Ellis Authored: Fri Mar 30 10:41:32 2012 -0500 Committer: Jonathan Ellis Committed: Fri Mar 30 10:41:32 2012 -0500 -- CHANGES.txt |1 + src/java/org/apache/cassandra/utils/CLibrary.java |8 +++- 2 files changed, 4 insertions(+), 5 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/4a653117/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index bf1a34f..e81f2bb 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -17,6 +17,7 @@ * allow custom types in CLI's assume command (CASSANDRA-4081) * fix totalBytes count for parallel compactions (CASSANDRA-3758) * fix intermittent NPE in get_slice (CASSANDRA-4095) + * remove unnecessary asserts in native code interfaces (CASSANDRA-4096) 1.0.8 http://git-wip-us.apache.org/repos/asf/cassandra/blob/4a653117/src/java/org/apache/cassandra/utils/CLibrary.java -- diff --git a/src/java/org/apache/cassandra/utils/CLibrary.java b/src/java/org/apache/cassandra/utils/CLibrary.java index 090a355..6270d8c 100644 --- a/src/java/org/apache/cassandra/utils/CLibrary.java +++ b/src/java/org/apache/cassandra/utils/CLibrary.java @@ -105,8 +105,7 @@ public final class CLibrary { try { -int result = mlockall(MCL_CURRENT); -assert result == 0; // mlockall should always be zero on success +mlockall(MCL_CURRENT); logger.info("JNA mlockall successful"); } catch (UnsatisfiedLinkError e) @@ -143,8 +142,7 @@ public final class CLibrary { try { -int result = link(sourceFile.getAbsolutePath(), destinationFile.getAbsolutePath()); -assert result == 0; // success is always zero +link(sourceFile.getAbsolutePath(), destinationFile.getAbsolutePath()); } catch (UnsatisfiedLinkError e) { @@ -242,12 +240,12 @@ public final class CLibrary public static int tryFcntl(int fd, int command, int flags) { +// fcntl return value may or may not be useful, depending on the command int result = -1; try { result = CLibrary.fcntl(fd, command, flags); -assert result >= 0; // on error a value of -1 is returned and errno is set to indicate the error. } catch (RuntimeException e) {
[10/16] git commit: remove unnecessary asserts in native code interfaces patch by jbellis; reviewed by pschuller for CASSANDRA-4096
remove unnecessary asserts in native code interfaces patch by jbellis; reviewed by pschuller for CASSANDRA-4096 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/4a653117 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/4a653117 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/4a653117 Branch: refs/heads/trunk Commit: 4a6531172c7d142e199f198e275942b7952c80f7 Parents: 5cde93d Author: Jonathan Ellis Authored: Fri Mar 30 10:41:32 2012 -0500 Committer: Jonathan Ellis Committed: Fri Mar 30 10:41:32 2012 -0500 -- CHANGES.txt |1 + src/java/org/apache/cassandra/utils/CLibrary.java |8 +++- 2 files changed, 4 insertions(+), 5 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/4a653117/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index bf1a34f..e81f2bb 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -17,6 +17,7 @@ * allow custom types in CLI's assume command (CASSANDRA-4081) * fix totalBytes count for parallel compactions (CASSANDRA-3758) * fix intermittent NPE in get_slice (CASSANDRA-4095) + * remove unnecessary asserts in native code interfaces (CASSANDRA-4096) 1.0.8 http://git-wip-us.apache.org/repos/asf/cassandra/blob/4a653117/src/java/org/apache/cassandra/utils/CLibrary.java -- diff --git a/src/java/org/apache/cassandra/utils/CLibrary.java b/src/java/org/apache/cassandra/utils/CLibrary.java index 090a355..6270d8c 100644 --- a/src/java/org/apache/cassandra/utils/CLibrary.java +++ b/src/java/org/apache/cassandra/utils/CLibrary.java @@ -105,8 +105,7 @@ public final class CLibrary { try { -int result = mlockall(MCL_CURRENT); -assert result == 0; // mlockall should always be zero on success +mlockall(MCL_CURRENT); logger.info("JNA mlockall successful"); } catch (UnsatisfiedLinkError e) @@ -143,8 +142,7 @@ public final class CLibrary { try { -int result = link(sourceFile.getAbsolutePath(), destinationFile.getAbsolutePath()); -assert result == 0; // success is always zero +link(sourceFile.getAbsolutePath(), destinationFile.getAbsolutePath()); } catch (UnsatisfiedLinkError e) { @@ -242,12 +240,12 @@ public final class CLibrary public static int tryFcntl(int fd, int command, int flags) { +// fcntl return value may or may not be useful, depending on the command int result = -1; try { result = CLibrary.fcntl(fd, command, flags); -assert result >= 0; // on error a value of -1 is returned and errno is set to indicate the error. } catch (RuntimeException e) {
[11/16] git commit: Make loadNewSSTable preserve sstable version
Make loadNewSSTable preserve sstable version patch by slebresne; reviewed by jbellis for CASSANDRA-4077 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/e5a324e3 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/e5a324e3 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/e5a324e3 Branch: refs/heads/cassandra-1.1 Commit: e5a324e31e0da3e5e57d3bd87e06f20aaf108a3d Parents: 9ad9c24 Author: Sylvain Lebresne Authored: Fri Mar 30 17:31:51 2012 +0200 Committer: Sylvain Lebresne Committed: Fri Mar 30 17:31:51 2012 +0200 -- CHANGES.txt|1 + .../org/apache/cassandra/db/ColumnFamilyStore.java |3 ++- 2 files changed, 3 insertions(+), 1 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/e5a324e3/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 827c0c4..df13658 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -3,6 +3,7 @@ * Adds posibility to autoconfigure size of the KeyCache (CASSANDRA-4087) * 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) 1.1-beta2 http://git-wip-us.apache.org/repos/asf/cassandra/blob/e5a324e3/src/java/org/apache/cassandra/db/ColumnFamilyStore.java -- diff --git a/src/java/org/apache/cassandra/db/ColumnFamilyStore.java b/src/java/org/apache/cassandra/db/ColumnFamilyStore.java index 0fc7604..4ab9eba 100644 --- a/src/java/org/apache/cassandra/db/ColumnFamilyStore.java +++ b/src/java/org/apache/cassandra/db/ColumnFamilyStore.java @@ -469,7 +469,8 @@ public class ColumnFamilyStore implements ColumnFamilyStoreMBean Descriptor.CURRENT_VERSION, descriptor)); -Descriptor newDescriptor = new Descriptor(descriptor.directory, +Descriptor newDescriptor = new Descriptor(descriptor.version, + descriptor.directory, descriptor.ksname, descriptor.cfname, fileIndexGenerator.incrementAndGet(),
[2/16] 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/a40e162b Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/a40e162b Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/a40e162b Branch: refs/heads/trunk Commit: a40e162ba891de94a2a2e7d442019032edf370ed Parents: 7935448 41314a2 Author: Jonathan Ellis Authored: Fri Mar 30 11:24:29 2012 -0500 Committer: Jonathan Ellis Committed: Fri Mar 30 11:24:29 2012 -0500 -- CHANGES.txt|5 - .../org/apache/cassandra/db/ColumnFamilyStore.java |3 ++- .../apache/cassandra/db/SliceFromReadCommand.java |2 +- src/java/org/apache/cassandra/utils/CLibrary.java |8 +++- 4 files changed, 10 insertions(+), 8 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/a40e162b/CHANGES.txt -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/a40e162b/src/java/org/apache/cassandra/db/ColumnFamilyStore.java --
[3/16] 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/a40e162b Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/a40e162b Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/a40e162b Branch: refs/heads/cassandra-1.1 Commit: a40e162ba891de94a2a2e7d442019032edf370ed Parents: 7935448 41314a2 Author: Jonathan Ellis Authored: Fri Mar 30 11:24:29 2012 -0500 Committer: Jonathan Ellis Committed: Fri Mar 30 11:24:29 2012 -0500 -- CHANGES.txt|5 - .../org/apache/cassandra/db/ColumnFamilyStore.java |3 ++- .../apache/cassandra/db/SliceFromReadCommand.java |2 +- src/java/org/apache/cassandra/utils/CLibrary.java |8 +++- 4 files changed, 10 insertions(+), 8 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/a40e162b/CHANGES.txt -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/a40e162b/src/java/org/apache/cassandra/db/ColumnFamilyStore.java --
[8/16] git commit: remove unnecessary asserts in native code interfaces patch by jbellis; reviewed by pschuller for CASSANDRA-4096
remove unnecessary asserts in native code interfaces patch by jbellis; reviewed by pschuller for CASSANDRA-4096 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/4a653117 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/4a653117 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/4a653117 Branch: refs/heads/cassandra-1.0 Commit: 4a6531172c7d142e199f198e275942b7952c80f7 Parents: 5cde93d Author: Jonathan Ellis Authored: Fri Mar 30 10:41:32 2012 -0500 Committer: Jonathan Ellis Committed: Fri Mar 30 10:41:32 2012 -0500 -- CHANGES.txt |1 + src/java/org/apache/cassandra/utils/CLibrary.java |8 +++- 2 files changed, 4 insertions(+), 5 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/4a653117/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index bf1a34f..e81f2bb 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -17,6 +17,7 @@ * allow custom types in CLI's assume command (CASSANDRA-4081) * fix totalBytes count for parallel compactions (CASSANDRA-3758) * fix intermittent NPE in get_slice (CASSANDRA-4095) + * remove unnecessary asserts in native code interfaces (CASSANDRA-4096) 1.0.8 http://git-wip-us.apache.org/repos/asf/cassandra/blob/4a653117/src/java/org/apache/cassandra/utils/CLibrary.java -- diff --git a/src/java/org/apache/cassandra/utils/CLibrary.java b/src/java/org/apache/cassandra/utils/CLibrary.java index 090a355..6270d8c 100644 --- a/src/java/org/apache/cassandra/utils/CLibrary.java +++ b/src/java/org/apache/cassandra/utils/CLibrary.java @@ -105,8 +105,7 @@ public final class CLibrary { try { -int result = mlockall(MCL_CURRENT); -assert result == 0; // mlockall should always be zero on success +mlockall(MCL_CURRENT); logger.info("JNA mlockall successful"); } catch (UnsatisfiedLinkError e) @@ -143,8 +142,7 @@ public final class CLibrary { try { -int result = link(sourceFile.getAbsolutePath(), destinationFile.getAbsolutePath()); -assert result == 0; // success is always zero +link(sourceFile.getAbsolutePath(), destinationFile.getAbsolutePath()); } catch (UnsatisfiedLinkError e) { @@ -242,12 +240,12 @@ public final class CLibrary public static int tryFcntl(int fd, int command, int flags) { +// fcntl return value may or may not be useful, depending on the command int result = -1; try { result = CLibrary.fcntl(fd, command, flags); -assert result >= 0; // on error a value of -1 is returned and errno is set to indicate the error. } catch (RuntimeException e) {
[5/16] git commit: Merge branch 'cassandra-1.0' into cassandra-1.1.0
Merge branch 'cassandra-1.0' into cassandra-1.1.0 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/41314a21 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/41314a21 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/41314a21 Branch: refs/heads/trunk Commit: 41314a21dcadfdae59a8f31c71f09700bf9b0233 Parents: e5a324e 4a65311 Author: Jonathan Ellis Authored: Fri Mar 30 11:24:08 2012 -0500 Committer: Jonathan Ellis Committed: Fri Mar 30 11:24:08 2012 -0500 -- CHANGES.txt |1 + src/java/org/apache/cassandra/utils/CLibrary.java |8 +++- 2 files changed, 4 insertions(+), 5 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/41314a21/CHANGES.txt -- diff --cc CHANGES.txt index df13658,e81f2bb..5f0db66 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -53,96 -17,9 +53,97 @@@ Merged from 1.0 * allow custom types in CLI's assume command (CASSANDRA-4081) * fix totalBytes count for parallel compactions (CASSANDRA-3758) * fix intermittent NPE in get_slice (CASSANDRA-4095) + * remove unnecessary asserts in native code interfaces (CASSANDRA-4096) +1.1-beta1 + * (cqlsh) + + add SOURCE and CAPTURE commands, and --file option (CASSANDRA-3479) + + add ALTER COLUMNFAMILY WITH (CASSANDRA-3523) + + bundle Python dependencies with Cassandra (CASSANDRA-3507) + + added to Debian package (CASSANDRA-3458) + + display byte data instead of erroring out on decode failure + (CASSANDRA-3874) + * add nodetool rebuild_index (CASSANDRA-3583) + * add nodetool rangekeysample (CASSANDRA-2917) + * Fix streaming too much data during move operations (CASSANDRA-3639) + * Nodetool and CLI connect to localhost by default (CASSANDRA-3568) + * Reduce memory used by primary index sample (CASSANDRA-3743) + * (Hadoop) separate input/output configurations (CASSANDRA-3197, 3765) + * avoid returning internal Cassandra classes over JMX (CASSANDRA-2805) + * add row-level isolation via SnapTree (CASSANDRA-2893) + * Optimize key count estimation when opening sstable on startup + (CASSANDRA-2988) + * multi-dc replication optimization supporting CL > ONE (CASSANDRA-3577) + * add command to stop compactions (CASSANDRA-1740, 3566, 3582) + * multithreaded streaming (CASSANDRA-3494) + * removed in-tree redhat spec (CASSANDRA-3567) + * "defragment" rows for name-based queries under STCS, again (CASSANDRA-2503) + * Recycle commitlog segments for improved performance + (CASSANDRA-3411, 3543, 3557, 3615) + * update size-tiered compaction to prioritize small tiers (CASSANDRA-2407) + * add message expiration logic to OutboundTcpConnection (CASSANDRA-3005) + * off-heap cache to use sun.misc.Unsafe instead of JNA (CASSANDRA-3271) + * EACH_QUORUM is only supported for writes (CASSANDRA-3272) + * replace compactionlock use in schema migration by checking CFS.isValid + (CASSANDRA-3116) + * recognize that "SELECT first ... *" isn't really "SELECT *" (CASSANDRA-3445) + * Use faster bytes comparison (CASSANDRA-3434) + * Bulk loader is no longer a fat client, (HADOOP) bulk load output format + (CASSANDRA-3045) + * (Hadoop) add support for KeyRange.filter + * remove assumption that keys and token are in bijection + (CASSANDRA-1034, 3574, 3604) + * always remove endpoints from delevery queue in HH (CASSANDRA-3546) + * fix race between cf flush and its 2ndary indexes flush (CASSANDRA-3547) + * fix potential race in AES when a repair fails (CASSANDRA-3548) + * Remove columns shadowed by a deleted container even when we cannot purge + (CASSANDRA-3538) + * Improve memtable slice iteration performance (CASSANDRA-3545) + * more efficient allocation of small bloom filters (CASSANDRA-3618) + * Use separate writer thread in SSTableSimpleUnsortedWriter (CASSANDRA-3619) + * fsync the directory after new sstable or commitlog segment are created (CASSANDRA-3250) + * fix minor issues reported by FindBugs (CASSANDRA-3658) + * global key/row caches (CASSANDRA-3143, 3849) + * optimize memtable iteration during range scan (CASSANDRA-3638) + * introduce 'crc_check_chance' in CompressionParameters to support + a checksum percentage checking chance similarly to read-repair (CASSANDRA-3611) + * a way to deactivate global key/row cache on per-CF basis (CASSANDRA-3667) + * fix LeveledCompactionStrategy broken because of generation pre-allocation + in LeveledManifest (CASSANDRA-3691) + * finer-grained control over data directories (CASSANDRA-2749) + * Fix ClassCastException during hinted handoff (CASSANDRA-3694) + * Upgrade Thrift to 0.7 (CASSANDRA-3213) + * Make stress.java insert operation to use microseconds (CASSANDRA-3725) + * Allows
[7/16] git commit: remove unnecessary asserts in native code interfaces patch by jbellis; reviewed by pschuller for CASSANDRA-4096
remove unnecessary asserts in native code interfaces patch by jbellis; reviewed by pschuller for CASSANDRA-4096 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/4a653117 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/4a653117 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/4a653117 Branch: refs/heads/cassandra-1.1.0 Commit: 4a6531172c7d142e199f198e275942b7952c80f7 Parents: 5cde93d Author: Jonathan Ellis Authored: Fri Mar 30 10:41:32 2012 -0500 Committer: Jonathan Ellis Committed: Fri Mar 30 10:41:32 2012 -0500 -- CHANGES.txt |1 + src/java/org/apache/cassandra/utils/CLibrary.java |8 +++- 2 files changed, 4 insertions(+), 5 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/4a653117/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index bf1a34f..e81f2bb 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -17,6 +17,7 @@ * allow custom types in CLI's assume command (CASSANDRA-4081) * fix totalBytes count for parallel compactions (CASSANDRA-3758) * fix intermittent NPE in get_slice (CASSANDRA-4095) + * remove unnecessary asserts in native code interfaces (CASSANDRA-4096) 1.0.8 http://git-wip-us.apache.org/repos/asf/cassandra/blob/4a653117/src/java/org/apache/cassandra/utils/CLibrary.java -- diff --git a/src/java/org/apache/cassandra/utils/CLibrary.java b/src/java/org/apache/cassandra/utils/CLibrary.java index 090a355..6270d8c 100644 --- a/src/java/org/apache/cassandra/utils/CLibrary.java +++ b/src/java/org/apache/cassandra/utils/CLibrary.java @@ -105,8 +105,7 @@ public final class CLibrary { try { -int result = mlockall(MCL_CURRENT); -assert result == 0; // mlockall should always be zero on success +mlockall(MCL_CURRENT); logger.info("JNA mlockall successful"); } catch (UnsatisfiedLinkError e) @@ -143,8 +142,7 @@ public final class CLibrary { try { -int result = link(sourceFile.getAbsolutePath(), destinationFile.getAbsolutePath()); -assert result == 0; // success is always zero +link(sourceFile.getAbsolutePath(), destinationFile.getAbsolutePath()); } catch (UnsatisfiedLinkError e) { @@ -242,12 +240,12 @@ public final class CLibrary public static int tryFcntl(int fd, int command, int flags) { +// fcntl return value may or may not be useful, depending on the command int result = -1; try { result = CLibrary.fcntl(fd, command, flags); -assert result >= 0; // on error a value of -1 is returned and errno is set to indicate the error. } catch (RuntimeException e) {
[1/16] git commit: Merge branch 'cassandra-1.1' into trunk
Updated Branches: refs/heads/cassandra-1.0 5cde93d96 -> 4a6531172 refs/heads/cassandra-1.1 79354482a -> a40e162ba refs/heads/cassandra-1.1.0 e5a324e31 -> 41314a21d refs/heads/trunk 38515b19a -> 6c5b1b663 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/6c5b1b66 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/6c5b1b66 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/6c5b1b66 Branch: refs/heads/trunk Commit: 6c5b1b66342e8f9ffbbe2d72680f745f2d54e625 Parents: 38515b1 a40e162 Author: Jonathan Ellis Authored: Fri Mar 30 11:24:37 2012 -0500 Committer: Jonathan Ellis Committed: Fri Mar 30 11:24:37 2012 -0500 -- CHANGES.txt|5 - .../org/apache/cassandra/db/ColumnFamilyStore.java |3 ++- .../apache/cassandra/db/SliceFromReadCommand.java |2 +- src/java/org/apache/cassandra/utils/CLibrary.java |8 +++- 4 files changed, 10 insertions(+), 8 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/6c5b1b66/CHANGES.txt -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/6c5b1b66/src/java/org/apache/cassandra/db/ColumnFamilyStore.java -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/6c5b1b66/src/java/org/apache/cassandra/db/SliceFromReadCommand.java -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/6c5b1b66/src/java/org/apache/cassandra/utils/CLibrary.java --
[4/16] git commit: Merge branch 'cassandra-1.0' into cassandra-1.1.0
Merge branch 'cassandra-1.0' into cassandra-1.1.0 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/41314a21 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/41314a21 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/41314a21 Branch: refs/heads/cassandra-1.1.0 Commit: 41314a21dcadfdae59a8f31c71f09700bf9b0233 Parents: e5a324e 4a65311 Author: Jonathan Ellis Authored: Fri Mar 30 11:24:08 2012 -0500 Committer: Jonathan Ellis Committed: Fri Mar 30 11:24:08 2012 -0500 -- CHANGES.txt |1 + src/java/org/apache/cassandra/utils/CLibrary.java |8 +++- 2 files changed, 4 insertions(+), 5 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/41314a21/CHANGES.txt -- diff --cc CHANGES.txt index df13658,e81f2bb..5f0db66 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -53,96 -17,9 +53,97 @@@ Merged from 1.0 * allow custom types in CLI's assume command (CASSANDRA-4081) * fix totalBytes count for parallel compactions (CASSANDRA-3758) * fix intermittent NPE in get_slice (CASSANDRA-4095) + * remove unnecessary asserts in native code interfaces (CASSANDRA-4096) +1.1-beta1 + * (cqlsh) + + add SOURCE and CAPTURE commands, and --file option (CASSANDRA-3479) + + add ALTER COLUMNFAMILY WITH (CASSANDRA-3523) + + bundle Python dependencies with Cassandra (CASSANDRA-3507) + + added to Debian package (CASSANDRA-3458) + + display byte data instead of erroring out on decode failure + (CASSANDRA-3874) + * add nodetool rebuild_index (CASSANDRA-3583) + * add nodetool rangekeysample (CASSANDRA-2917) + * Fix streaming too much data during move operations (CASSANDRA-3639) + * Nodetool and CLI connect to localhost by default (CASSANDRA-3568) + * Reduce memory used by primary index sample (CASSANDRA-3743) + * (Hadoop) separate input/output configurations (CASSANDRA-3197, 3765) + * avoid returning internal Cassandra classes over JMX (CASSANDRA-2805) + * add row-level isolation via SnapTree (CASSANDRA-2893) + * Optimize key count estimation when opening sstable on startup + (CASSANDRA-2988) + * multi-dc replication optimization supporting CL > ONE (CASSANDRA-3577) + * add command to stop compactions (CASSANDRA-1740, 3566, 3582) + * multithreaded streaming (CASSANDRA-3494) + * removed in-tree redhat spec (CASSANDRA-3567) + * "defragment" rows for name-based queries under STCS, again (CASSANDRA-2503) + * Recycle commitlog segments for improved performance + (CASSANDRA-3411, 3543, 3557, 3615) + * update size-tiered compaction to prioritize small tiers (CASSANDRA-2407) + * add message expiration logic to OutboundTcpConnection (CASSANDRA-3005) + * off-heap cache to use sun.misc.Unsafe instead of JNA (CASSANDRA-3271) + * EACH_QUORUM is only supported for writes (CASSANDRA-3272) + * replace compactionlock use in schema migration by checking CFS.isValid + (CASSANDRA-3116) + * recognize that "SELECT first ... *" isn't really "SELECT *" (CASSANDRA-3445) + * Use faster bytes comparison (CASSANDRA-3434) + * Bulk loader is no longer a fat client, (HADOOP) bulk load output format + (CASSANDRA-3045) + * (Hadoop) add support for KeyRange.filter + * remove assumption that keys and token are in bijection + (CASSANDRA-1034, 3574, 3604) + * always remove endpoints from delevery queue in HH (CASSANDRA-3546) + * fix race between cf flush and its 2ndary indexes flush (CASSANDRA-3547) + * fix potential race in AES when a repair fails (CASSANDRA-3548) + * Remove columns shadowed by a deleted container even when we cannot purge + (CASSANDRA-3538) + * Improve memtable slice iteration performance (CASSANDRA-3545) + * more efficient allocation of small bloom filters (CASSANDRA-3618) + * Use separate writer thread in SSTableSimpleUnsortedWriter (CASSANDRA-3619) + * fsync the directory after new sstable or commitlog segment are created (CASSANDRA-3250) + * fix minor issues reported by FindBugs (CASSANDRA-3658) + * global key/row caches (CASSANDRA-3143, 3849) + * optimize memtable iteration during range scan (CASSANDRA-3638) + * introduce 'crc_check_chance' in CompressionParameters to support + a checksum percentage checking chance similarly to read-repair (CASSANDRA-3611) + * a way to deactivate global key/row cache on per-CF basis (CASSANDRA-3667) + * fix LeveledCompactionStrategy broken because of generation pre-allocation + in LeveledManifest (CASSANDRA-3691) + * finer-grained control over data directories (CASSANDRA-2749) + * Fix ClassCastException during hinted handoff (CASSANDRA-3694) + * Upgrade Thrift to 0.7 (CASSANDRA-3213) + * Make stress.java insert operation to use microseconds (CASSANDRA-3725) +
[jira] [Commented] (CASSANDRA-4078) StackOverflowError when upgrading to 1.0.8 from 0.8.10
[ https://issues.apache.org/jira/browse/CASSANDRA-4078?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13242499#comment-13242499 ] Wenjun commented on CASSANDRA-4078: --- Paul, yes, finally I am able to narrow it down to this one CF. I truncated data from all other CFs, ran 'cleanp' and 'scrub', and it is still happening. What else can I do to help debugging this issue? The followings are definition of this CF: ColumnFamily: UserAgreementStatus Key Validation Class: org.apache.cassandra.db.marshal.BytesType Default column value validator: org.apache.cassandra.db.marshal.BytesType Columns sorted by: org.apache.cassandra.db.marshal.UTF8Type Row cache size / save period in seconds: 0.0/0 Row Cache Provider: org.apache.cassandra.cache.ConcurrentLinkedHashCacheProvider Key cache size / save period in seconds: 20.0/14400 Memtable thresholds: 0.454687497/1440/97 (millions of ops/minutes/MB) GC grace seconds: 864000 Compaction min/max thresholds: 4/32 Read repair chance: 1.0 Replicate on write: false Built indexes: [UserAgreementStatus.userId] Column Metadata: Column Name: agreementName Validation Class: org.apache.cassandra.db.marshal.UTF8Type Column Name: response Validation Class: org.apache.cassandra.db.marshal.UTF8Type Column Name: userId Validation Class: org.apache.cassandra.db.marshal.LexicalUUIDType Index Name: userId Index Type: KEYS Column Name: viewTime Validation Class: org.apache.cassandra.db.marshal.LongType Log right before the exception: DEBUG [SSTableBatchOpen:2] 2012-03-30 12:09:20,277 SSTableReader.java (line 190) INDEX LOAD TIME for /home/cassandra/var/lib/cassandra/d ata/Appoji/UserAgreementStatus.userId-f-56: 3 ms. DEBUG [SSTableBatchOpen:2] 2012-03-30 12:09:20,277 SSTableReader.java (line 193) key cache contains 0/0 keys > StackOverflowError when upgrading to 1.0.8 from 0.8.10 > -- > > Key: CASSANDRA-4078 > URL: https://issues.apache.org/jira/browse/CASSANDRA-4078 > Project: Cassandra > Issue Type: Bug > Components: Core >Affects Versions: 0.8.10 > Environment: OS: Linux xps.openfin 2.6.35.13-91.fc14.i686 #1 SMP Tue > May 3 13:36:36 UTC 2011 i686 i686 i386 GNU/Linux > Java: JVM vendor/version: Java HotSpot(TM) Server VM/1.6.0_31 >Reporter: Wenjun >Assignee: paul cannon >Priority: Critical > Fix For: 0.8.10 > > Attachments: 4078.add-asserts.txt, cassandra.yaml.1.0.8, > cassandra.yaml.8.10, system.log, system.log.0326, system.log.0326-02 > > > Hello > I am trying to upgrade our 1-node setup from 0.8.10 to 1.0.8 and seeing the > following exception when starting up 1.0.8. We have been running 0.8.10 > without any issues. > > Attached is the entire log file during startup of 1.0.8. There are 2 > exceptions: > 1. StackOverflowError (line 2599) > 2. InstanceAlreadyExistsException (line 3632) > I tried "run scrub" under 0.8.10 first, it did not help. Also, I tried > dropping the column family which caused the exception, it just got the same > exceptions from another column family. > Thanks -- 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-4099) IncomingTCPConnection recognizes from by doing socket.getInetAddress() instead of BroadCastAddress
[ https://issues.apache.org/jira/browse/CASSANDRA-4099?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13242498#comment-13242498 ] Brandon Williams commented on CASSANDRA-4099: - +1 > IncomingTCPConnection recognizes from by doing socket.getInetAddress() > instead of BroadCastAddress > -- > > Key: CASSANDRA-4099 > URL: https://issues.apache.org/jira/browse/CASSANDRA-4099 > Project: Cassandra > Issue Type: Bug >Reporter: Vijay >Assignee: Vijay >Priority: Minor > Fix For: 1.0.9, 1.1.0 > > Attachments: 0001-CASSANDRA-4099-v2.patch, > 0001-CASSANDRA-4099-v3.patch, 0001-CASSANDRA-4099-v4.patch, > 0001-CASSANDRA-4099.patch > > > change "this.from = socket.getInetAddress()" to understand the broad cast IP, > but the problem is we dont know until the first packet is received, this > ticket is to work around the problem until it reads the first packet. -- 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-4021) CFS.scrubDataDirectories tries to delete nonexistent orphans
[ https://issues.apache.org/jira/browse/CASSANDRA-4021?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13242484#comment-13242484 ] Brandon Williams commented on CASSANDRA-4021: - FWIW, there has been another case of this reported, but it was on Windows. > CFS.scrubDataDirectories tries to delete nonexistent orphans > > > Key: CASSANDRA-4021 > URL: https://issues.apache.org/jira/browse/CASSANDRA-4021 > Project: Cassandra > Issue Type: Bug > Components: Core >Affects Versions: 0.7 beta 2 >Reporter: Brandon Williams >Assignee: Brandon Williams >Priority: Minor > Labels: datastax_qa > Fix For: 0.8.11, 1.0.9 > > Attachments: 4021.txt > > > The check only looks for a missing data file, then deletes all other > components, however it's possible for the data file and another component to > be missing, causing an error: > {noformat} > WARN 17:19:28,765 Removing orphans for > /var/lib/cassandra/data/system/HintsColumnFamily/system-HintsColumnFamily-hd-24492: > [Index.db, Filter.db, Digest.sha1, Statistics.db, Data.db] > ERROR 17:19:28,766 Exception encountered during startup > java.lang.AssertionError: attempted to delete non-existing file > system-HintsColumnFamily-hd-24492-Index.db > at > org.apache.cassandra.io.util.FileUtils.deleteWithConfirm(FileUtils.java:49) > at > org.apache.cassandra.io.util.FileUtils.deleteWithConfirm(FileUtils.java:44) > at > org.apache.cassandra.db.ColumnFamilyStore.scrubDataDirectories(ColumnFamilyStore.java:357) > at > org.apache.cassandra.service.AbstractCassandraDaemon.setup(AbstractCassandraDaemon.java:167) > at > org.apache.cassandra.service.AbstractCassandraDaemon.activate(AbstractCassandraDaemon.java:352) > at > org.apache.cassandra.thrift.CassandraDaemon.main(CassandraDaemon.java:105) > java.lang.AssertionError: attempted to delete non-existing file > system-HintsColumnFamily-hd-24492-Index.db > at > org.apache.cassandra.io.util.FileUtils.deleteWithConfirm(FileUtils.java:49) > at > org.apache.cassandra.io.util.FileUtils.deleteWithConfirm(FileUtils.java:44) > at > org.apache.cassandra.db.ColumnFamilyStore.scrubDataDirectories(ColumnFamilyStore.java:357) > at > org.apache.cassandra.service.AbstractCassandraDaemon.setup(AbstractCassandraDaemon.java:167) > at > org.apache.cassandra.service.AbstractCassandraDaemon.activate(AbstractCassandraDaemon.java:352) > at > org.apache.cassandra.thrift.CassandraDaemon.main(CassandraDaemon.java:105) > Exception encountered during startup: attempted to delete non-existing file > system-HintsColumnFamily-hd-24492-Index.db > {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-4093) schema_* CFs do not respect column comparator which leads to CLI commands failure.
[ https://issues.apache.org/jira/browse/CASSANDRA-4093?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13242467#comment-13242467 ] Jonathan Ellis commented on CASSANDRA-4093: --- The thing about backwards-compatibility hacks is you tend to get stuck with them. I'm okay with any of these alternatives: # Add a big huge warning to NEWS that this corner case is not supported to 1.1, but an alternative solution for "tagging" will be supported eventually. Fail 1.1 startup if such a schema startup is detected and explain the new limitation # Wait until we actually have indexes on composite PKs supported to release 1.1 # Ask users@ if anyone actually has such a use case in production, and go with 1 or 2 based on the responses Here is why I'm willing to go scorched earth on this: - Schema design is *the* most difficult thing to explain to new Cassandra users. We've made *huge* strides towards simplifying this in CQL3 and composite PKs. I don't think we can afford to dilute this with footnotes about how you can escape hatch back to the old world, dragging in all our old legacy baggage again. Put another way: it's time to bury "wtf is a supercolumn" once and for all. - Of our hundreds of deployments of 0.8 and 1.0, I can live with one or two needing to wait for 1.1.2 or whatever to upgrade. We have a pretty good feel at this point for commonly used features and this isn't one of those. TLDR: backwards compatibility in this specific case is high cost, low benefit. > schema_* CFs do not respect column comparator which leads to CLI commands > failure. > -- > > Key: CASSANDRA-4093 > URL: https://issues.apache.org/jira/browse/CASSANDRA-4093 > Project: Cassandra > Issue Type: Bug > Components: Tools >Affects Versions: 1.1.0 >Reporter: Dave Brosius >Assignee: Sylvain Lebresne > Fix For: 1.1.0 > > Attachments: 4093.txt, CASSANDRA-4093-CD-changes.patch > > > ColumnDefinition.{ascii, utf8, bool, ...} static methods used to initialize > schema_* CFs column_metadata do not respect CF comparator and use > ByteBufferUtil.bytes(...) for column names which creates problems in CLI and > probably in other places. > The CompositeType validator throws exception on first column > String columnName = columnNameValidator.getString(columnDef.name); > Because it appears the composite type length header is wrong (25455) > AbstractCompositeType.getWithShortLength > java.lang.IllegalArgumentException > at java.nio.Buffer.limit(Buffer.java:247) > at > org.apache.cassandra.db.marshal.AbstractCompositeType.getBytes(AbstractCompositeType.java:50) > at > org.apache.cassandra.db.marshal.AbstractCompositeType.getWithShortLength(AbstractCompositeType.java:59) > at > org.apache.cassandra.db.marshal.AbstractCompositeType.getString(AbstractCompositeType.java:139) > at > org.apache.cassandra.cli.CliClient.describeColumnFamily(CliClient.java:2046) > at > org.apache.cassandra.cli.CliClient.describeKeySpace(CliClient.java:1969) > at > org.apache.cassandra.cli.CliClient.executeShowKeySpaces(CliClient.java:1574) > (seen in trunk) -- 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: Make loadNewSSTable preserve sstable version
Updated Branches: refs/heads/cassandra-1.1.0 9ad9c2475 -> e5a324e31 Make loadNewSSTable preserve sstable version patch by slebresne; reviewed by jbellis for CASSANDRA-4077 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/e5a324e3 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/e5a324e3 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/e5a324e3 Branch: refs/heads/cassandra-1.1.0 Commit: e5a324e31e0da3e5e57d3bd87e06f20aaf108a3d Parents: 9ad9c24 Author: Sylvain Lebresne Authored: Fri Mar 30 17:31:51 2012 +0200 Committer: Sylvain Lebresne Committed: Fri Mar 30 17:31:51 2012 +0200 -- CHANGES.txt|1 + .../org/apache/cassandra/db/ColumnFamilyStore.java |3 ++- 2 files changed, 3 insertions(+), 1 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/e5a324e3/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 827c0c4..df13658 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -3,6 +3,7 @@ * Adds posibility to autoconfigure size of the KeyCache (CASSANDRA-4087) * 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) 1.1-beta2 http://git-wip-us.apache.org/repos/asf/cassandra/blob/e5a324e3/src/java/org/apache/cassandra/db/ColumnFamilyStore.java -- diff --git a/src/java/org/apache/cassandra/db/ColumnFamilyStore.java b/src/java/org/apache/cassandra/db/ColumnFamilyStore.java index 0fc7604..4ab9eba 100644 --- a/src/java/org/apache/cassandra/db/ColumnFamilyStore.java +++ b/src/java/org/apache/cassandra/db/ColumnFamilyStore.java @@ -469,7 +469,8 @@ public class ColumnFamilyStore implements ColumnFamilyStoreMBean Descriptor.CURRENT_VERSION, descriptor)); -Descriptor newDescriptor = new Descriptor(descriptor.directory, +Descriptor newDescriptor = new Descriptor(descriptor.version, + descriptor.directory, descriptor.ksname, descriptor.cfname, fileIndexGenerator.incrementAndGet(),
[jira] [Commented] (CASSANDRA-4077) ScrubTest failing on current 1.1.0 branch
[ https://issues.apache.org/jira/browse/CASSANDRA-4077?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13242435#comment-13242435 ] Jonathan Ellis commented on CASSANDRA-4077: --- +1 > ScrubTest failing on current 1.1.0 branch > - > > Key: CASSANDRA-4077 > URL: https://issues.apache.org/jira/browse/CASSANDRA-4077 > Project: Cassandra > Issue Type: Bug > Components: Tests >Affects Versions: 1.1.0 >Reporter: Sylvain Lebresne >Assignee: Sylvain Lebresne > Fix For: 1.1.0 > > Attachments: 4077.txt > > > I get the following error: > {noformat} > [junit] - Standard Error - > [junit] ERROR 09:53:05,979 Corrupt sstable > build/test/cassandra/data/Keyspace1/Super5/Keyspace1-Super5-f-2; skipped > [junit] java.io.EOFException > [junit] at java.io.DataInputStream.readFully(DataInputStream.java:180) > [junit] at java.io.DataInputStream.readLong(DataInputStream.java:399) > [junit] at > org.apache.cassandra.db.commitlog.ReplayPosition$ReplayPositionSerializer.deserialize(ReplayPosition.java:133) > [junit] at > org.apache.cassandra.io.sstable.SSTableMetadata$SSTableMetadataSerializer.deserialize(SSTableMetadata.java:206) > [junit] at > org.apache.cassandra.io.sstable.SSTableMetadata$SSTableMetadataSerializer.deserialize(SSTableMetadata.java:194) > [junit] at > org.apache.cassandra.io.sstable.SSTableReader.open(SSTableReader.java:155) > [junit] at > org.apache.cassandra.db.ColumnFamilyStore.loadNewSSTables(ColumnFamilyStore.java:483) > [junit] at > org.apache.cassandra.db.ScrubTest.testScrubFile(ScrubTest.java:86) > [junit] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > [junit] at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > [junit] at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > [junit] at java.lang.reflect.Method.invoke(Method.java:597) > [junit] at > org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44) > [junit] at > org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15) > [junit] at > org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41) > [junit] at > org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20) > [junit] at > org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28) > [junit] at > org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31) > [junit] at > org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) > [junit] at > org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:44) > [junit] at > org.junit.runners.ParentRunner.runChildren(ParentRunner.java:180) > [junit] at > org.junit.runners.ParentRunner.access$000(ParentRunner.java:41) > [junit] at > org.junit.runners.ParentRunner$1.evaluate(ParentRunner.java:173) > [junit] at > org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28) > [junit] at > org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31) > [junit] at org.junit.runners.ParentRunner.run(ParentRunner.java:220) > [junit] at > junit.framework.JUnit4TestAdapter.run(JUnit4TestAdapter.java:39) > [junit] at > org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.run(JUnitTestRunner.java:518) > [junit] at > org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.launch(JUnitTestRunner.java:1052) > [junit] at > org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.main(JUnitTestRunner.java:906) > [junit] - --- > [junit] Testcase: testScrubFile(org.apache.cassandra.db.ScrubTest): > FAILED > [junit] null > [junit] junit.framework.AssertionFailedError > [junit] at > org.apache.cassandra.db.ScrubTest.testScrubFile(ScrubTest.java:87) > {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
[1/2] git commit: Merge branch 'cassandra-1.0' into cassandra-1.1.0
Updated Branches: refs/heads/cassandra-1.1.0 adc0931e8 -> 9ad9c2475 Merge branch 'cassandra-1.0' into cassandra-1.1.0 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/9ad9c247 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/9ad9c247 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/9ad9c247 Branch: refs/heads/cassandra-1.1.0 Commit: 9ad9c2475f4c1749056ad43dc8c49f35d54ab2bb Parents: adc0931 5cde93d Author: Sylvain Lebresne Authored: Fri Mar 30 17:24:33 2012 +0200 Committer: Sylvain Lebresne Committed: Fri Mar 30 17:24:33 2012 +0200 -- CHANGES.txt|3 ++- .../apache/cassandra/db/SliceFromReadCommand.java |2 +- 2 files changed, 3 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/9ad9c247/CHANGES.txt -- diff --cc CHANGES.txt index 00848f6,bf1a34f..827c0c4 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -50,97 -15,10 +50,98 @@@ Merged from 1.0 tasks and upgradesstables (CASSANDRA-3985) * fix NPE on invalid CQL delete command (CASSANDRA-3755) * allow custom types in CLI's assume command (CASSANDRA-4081) - * Fix totalBytes count for parallel compactions (CASSANDRA-3758) + * fix totalBytes count for parallel compactions (CASSANDRA-3758) + * fix intermittent NPE in get_slice (CASSANDRA-4095) +1.1-beta1 + * (cqlsh) + + add SOURCE and CAPTURE commands, and --file option (CASSANDRA-3479) + + add ALTER COLUMNFAMILY WITH (CASSANDRA-3523) + + bundle Python dependencies with Cassandra (CASSANDRA-3507) + + added to Debian package (CASSANDRA-3458) + + display byte data instead of erroring out on decode failure + (CASSANDRA-3874) + * add nodetool rebuild_index (CASSANDRA-3583) + * add nodetool rangekeysample (CASSANDRA-2917) + * Fix streaming too much data during move operations (CASSANDRA-3639) + * Nodetool and CLI connect to localhost by default (CASSANDRA-3568) + * Reduce memory used by primary index sample (CASSANDRA-3743) + * (Hadoop) separate input/output configurations (CASSANDRA-3197, 3765) + * avoid returning internal Cassandra classes over JMX (CASSANDRA-2805) + * add row-level isolation via SnapTree (CASSANDRA-2893) + * Optimize key count estimation when opening sstable on startup + (CASSANDRA-2988) + * multi-dc replication optimization supporting CL > ONE (CASSANDRA-3577) + * add command to stop compactions (CASSANDRA-1740, 3566, 3582) + * multithreaded streaming (CASSANDRA-3494) + * removed in-tree redhat spec (CASSANDRA-3567) + * "defragment" rows for name-based queries under STCS, again (CASSANDRA-2503) + * Recycle commitlog segments for improved performance + (CASSANDRA-3411, 3543, 3557, 3615) + * update size-tiered compaction to prioritize small tiers (CASSANDRA-2407) + * add message expiration logic to OutboundTcpConnection (CASSANDRA-3005) + * off-heap cache to use sun.misc.Unsafe instead of JNA (CASSANDRA-3271) + * EACH_QUORUM is only supported for writes (CASSANDRA-3272) + * replace compactionlock use in schema migration by checking CFS.isValid + (CASSANDRA-3116) + * recognize that "SELECT first ... *" isn't really "SELECT *" (CASSANDRA-3445) + * Use faster bytes comparison (CASSANDRA-3434) + * Bulk loader is no longer a fat client, (HADOOP) bulk load output format + (CASSANDRA-3045) + * (Hadoop) add support for KeyRange.filter + * remove assumption that keys and token are in bijection + (CASSANDRA-1034, 3574, 3604) + * always remove endpoints from delevery queue in HH (CASSANDRA-3546) + * fix race between cf flush and its 2ndary indexes flush (CASSANDRA-3547) + * fix potential race in AES when a repair fails (CASSANDRA-3548) + * Remove columns shadowed by a deleted container even when we cannot purge + (CASSANDRA-3538) + * Improve memtable slice iteration performance (CASSANDRA-3545) + * more efficient allocation of small bloom filters (CASSANDRA-3618) + * Use separate writer thread in SSTableSimpleUnsortedWriter (CASSANDRA-3619) + * fsync the directory after new sstable or commitlog segment are created (CASSANDRA-3250) + * fix minor issues reported by FindBugs (CASSANDRA-3658) + * global key/row caches (CASSANDRA-3143, 3849) + * optimize memtable iteration during range scan (CASSANDRA-3638) + * introduce 'crc_check_chance' in CompressionParameters to support + a checksum percentage checking chance similarly to read-repair (CASSANDRA-3611) + * a way to deactivate global key/row cache on per-CF basis (CASSANDRA-3667) + * fix LeveledCompactionStrategy broken because of generation pre-allocation + in LeveledManifest (CASSANDRA-3691) + * finer-grained control over data directories (CASSANDRA-2749) + * Fix Clas
[2/2] git commit: Fix intermittent NPE in get_slice
Fix intermittent NPE in get_slice patch by jbellis; reviewed by vijay for CASSANDRA-4095 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/5cde93d9 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/5cde93d9 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/5cde93d9 Branch: refs/heads/cassandra-1.1.0 Commit: 5cde93d9607ddbdb5316afaa2be9b9132d1bec3f Parents: 3931ee7 Author: Sylvain Lebresne Authored: Fri Mar 30 17:22:59 2012 +0200 Committer: Sylvain Lebresne Committed: Fri Mar 30 17:22:59 2012 +0200 -- CHANGES.txt|3 ++- src/java/org/apache/cassandra/db/Row.java |5 + .../apache/cassandra/db/SliceFromReadCommand.java |2 +- 3 files changed, 8 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/5cde93d9/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 438bc91..bf1a34f 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -15,7 +15,8 @@ tasks and upgradesstables (CASSANDRA-3985) * fix NPE on invalid CQL delete command (CASSANDRA-3755) * allow custom types in CLI's assume command (CASSANDRA-4081) - * Fix totalBytes count for parallel compactions (CASSANDRA-3758) + * fix totalBytes count for parallel compactions (CASSANDRA-3758) + * fix intermittent NPE in get_slice (CASSANDRA-4095) 1.0.8 http://git-wip-us.apache.org/repos/asf/cassandra/blob/5cde93d9/src/java/org/apache/cassandra/db/Row.java -- diff --git a/src/java/org/apache/cassandra/db/Row.java b/src/java/org/apache/cassandra/db/Row.java index 523f501..71a7332 100644 --- a/src/java/org/apache/cassandra/db/Row.java +++ b/src/java/org/apache/cassandra/db/Row.java @@ -45,6 +45,11 @@ public class Row this.cf = cf; } +public int getLiveColumnCount() +{ +return cf == null ? 0 : cf.getLiveColumnCount(); +} + @Override public String toString() { http://git-wip-us.apache.org/repos/asf/cassandra/blob/5cde93d9/src/java/org/apache/cassandra/db/SliceFromReadCommand.java -- diff --git a/src/java/org/apache/cassandra/db/SliceFromReadCommand.java b/src/java/org/apache/cassandra/db/SliceFromReadCommand.java index 4ea89b6..be73472 100644 --- a/src/java/org/apache/cassandra/db/SliceFromReadCommand.java +++ b/src/java/org/apache/cassandra/db/SliceFromReadCommand.java @@ -73,7 +73,7 @@ public class SliceFromReadCommand extends ReadCommand public ReadCommand maybeGenerateRetryCommand(RepairCallback handler, Row row) { int maxLiveColumns = handler.getMaxLiveColumns(); -int liveColumnsInRow = row != null ? row.cf.getLiveColumnCount() : 0; +int liveColumnsInRow = row != null ? row.getLiveColumnCount() : 0; assert maxLiveColumns <= count; // We generate a retry if at least one node reply with count live columns but after merge we have less
git commit: Fix intermittent NPE in get_slice
Updated Branches: refs/heads/cassandra-1.0 3931ee709 -> 5cde93d96 Fix intermittent NPE in get_slice patch by jbellis; reviewed by vijay for CASSANDRA-4095 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/5cde93d9 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/5cde93d9 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/5cde93d9 Branch: refs/heads/cassandra-1.0 Commit: 5cde93d9607ddbdb5316afaa2be9b9132d1bec3f Parents: 3931ee7 Author: Sylvain Lebresne Authored: Fri Mar 30 17:22:59 2012 +0200 Committer: Sylvain Lebresne Committed: Fri Mar 30 17:22:59 2012 +0200 -- CHANGES.txt|3 ++- src/java/org/apache/cassandra/db/Row.java |5 + .../apache/cassandra/db/SliceFromReadCommand.java |2 +- 3 files changed, 8 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/5cde93d9/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 438bc91..bf1a34f 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -15,7 +15,8 @@ tasks and upgradesstables (CASSANDRA-3985) * fix NPE on invalid CQL delete command (CASSANDRA-3755) * allow custom types in CLI's assume command (CASSANDRA-4081) - * Fix totalBytes count for parallel compactions (CASSANDRA-3758) + * fix totalBytes count for parallel compactions (CASSANDRA-3758) + * fix intermittent NPE in get_slice (CASSANDRA-4095) 1.0.8 http://git-wip-us.apache.org/repos/asf/cassandra/blob/5cde93d9/src/java/org/apache/cassandra/db/Row.java -- diff --git a/src/java/org/apache/cassandra/db/Row.java b/src/java/org/apache/cassandra/db/Row.java index 523f501..71a7332 100644 --- a/src/java/org/apache/cassandra/db/Row.java +++ b/src/java/org/apache/cassandra/db/Row.java @@ -45,6 +45,11 @@ public class Row this.cf = cf; } +public int getLiveColumnCount() +{ +return cf == null ? 0 : cf.getLiveColumnCount(); +} + @Override public String toString() { http://git-wip-us.apache.org/repos/asf/cassandra/blob/5cde93d9/src/java/org/apache/cassandra/db/SliceFromReadCommand.java -- diff --git a/src/java/org/apache/cassandra/db/SliceFromReadCommand.java b/src/java/org/apache/cassandra/db/SliceFromReadCommand.java index 4ea89b6..be73472 100644 --- a/src/java/org/apache/cassandra/db/SliceFromReadCommand.java +++ b/src/java/org/apache/cassandra/db/SliceFromReadCommand.java @@ -73,7 +73,7 @@ public class SliceFromReadCommand extends ReadCommand public ReadCommand maybeGenerateRetryCommand(RepairCallback handler, Row row) { int maxLiveColumns = handler.getMaxLiveColumns(); -int liveColumnsInRow = row != null ? row.cf.getLiveColumnCount() : 0; +int liveColumnsInRow = row != null ? row.getLiveColumnCount() : 0; assert maxLiveColumns <= count; // We generate a retry if at least one node reply with count live columns but after merge we have less
[jira] [Assigned] (CASSANDRA-4077) ScrubTest failing on current 1.1.0 branch
[ https://issues.apache.org/jira/browse/CASSANDRA-4077?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Sylvain Lebresne reassigned CASSANDRA-4077: --- Assignee: Sylvain Lebresne > ScrubTest failing on current 1.1.0 branch > - > > Key: CASSANDRA-4077 > URL: https://issues.apache.org/jira/browse/CASSANDRA-4077 > Project: Cassandra > Issue Type: Bug > Components: Tests >Affects Versions: 1.1.0 >Reporter: Sylvain Lebresne >Assignee: Sylvain Lebresne > Fix For: 1.1.0 > > Attachments: 4077.txt > > > I get the following error: > {noformat} > [junit] - Standard Error - > [junit] ERROR 09:53:05,979 Corrupt sstable > build/test/cassandra/data/Keyspace1/Super5/Keyspace1-Super5-f-2; skipped > [junit] java.io.EOFException > [junit] at java.io.DataInputStream.readFully(DataInputStream.java:180) > [junit] at java.io.DataInputStream.readLong(DataInputStream.java:399) > [junit] at > org.apache.cassandra.db.commitlog.ReplayPosition$ReplayPositionSerializer.deserialize(ReplayPosition.java:133) > [junit] at > org.apache.cassandra.io.sstable.SSTableMetadata$SSTableMetadataSerializer.deserialize(SSTableMetadata.java:206) > [junit] at > org.apache.cassandra.io.sstable.SSTableMetadata$SSTableMetadataSerializer.deserialize(SSTableMetadata.java:194) > [junit] at > org.apache.cassandra.io.sstable.SSTableReader.open(SSTableReader.java:155) > [junit] at > org.apache.cassandra.db.ColumnFamilyStore.loadNewSSTables(ColumnFamilyStore.java:483) > [junit] at > org.apache.cassandra.db.ScrubTest.testScrubFile(ScrubTest.java:86) > [junit] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > [junit] at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > [junit] at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > [junit] at java.lang.reflect.Method.invoke(Method.java:597) > [junit] at > org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44) > [junit] at > org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15) > [junit] at > org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41) > [junit] at > org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20) > [junit] at > org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28) > [junit] at > org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31) > [junit] at > org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) > [junit] at > org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:44) > [junit] at > org.junit.runners.ParentRunner.runChildren(ParentRunner.java:180) > [junit] at > org.junit.runners.ParentRunner.access$000(ParentRunner.java:41) > [junit] at > org.junit.runners.ParentRunner$1.evaluate(ParentRunner.java:173) > [junit] at > org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28) > [junit] at > org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31) > [junit] at org.junit.runners.ParentRunner.run(ParentRunner.java:220) > [junit] at > junit.framework.JUnit4TestAdapter.run(JUnit4TestAdapter.java:39) > [junit] at > org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.run(JUnitTestRunner.java:518) > [junit] at > org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.launch(JUnitTestRunner.java:1052) > [junit] at > org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.main(JUnitTestRunner.java:906) > [junit] - --- > [junit] Testcase: testScrubFile(org.apache.cassandra.db.ScrubTest): > FAILED > [junit] null > [junit] junit.framework.AssertionFailedError > [junit] at > org.apache.cassandra.db.ScrubTest.testScrubFile(ScrubTest.java:87) > {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] [Updated] (CASSANDRA-4077) ScrubTest failing on current 1.1.0 branch
[ https://issues.apache.org/jira/browse/CASSANDRA-4077?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Sylvain Lebresne updated CASSANDRA-4077: Attachment: 4077.txt This is because loadNewSSTable was incorrectly bumping the version of the sstables to the current version when renaming them. Trivial patch attached. > ScrubTest failing on current 1.1.0 branch > - > > Key: CASSANDRA-4077 > URL: https://issues.apache.org/jira/browse/CASSANDRA-4077 > Project: Cassandra > Issue Type: Bug > Components: Tests >Affects Versions: 1.1.0 >Reporter: Sylvain Lebresne >Assignee: Sylvain Lebresne > Fix For: 1.1.0 > > Attachments: 4077.txt > > > I get the following error: > {noformat} > [junit] - Standard Error - > [junit] ERROR 09:53:05,979 Corrupt sstable > build/test/cassandra/data/Keyspace1/Super5/Keyspace1-Super5-f-2; skipped > [junit] java.io.EOFException > [junit] at java.io.DataInputStream.readFully(DataInputStream.java:180) > [junit] at java.io.DataInputStream.readLong(DataInputStream.java:399) > [junit] at > org.apache.cassandra.db.commitlog.ReplayPosition$ReplayPositionSerializer.deserialize(ReplayPosition.java:133) > [junit] at > org.apache.cassandra.io.sstable.SSTableMetadata$SSTableMetadataSerializer.deserialize(SSTableMetadata.java:206) > [junit] at > org.apache.cassandra.io.sstable.SSTableMetadata$SSTableMetadataSerializer.deserialize(SSTableMetadata.java:194) > [junit] at > org.apache.cassandra.io.sstable.SSTableReader.open(SSTableReader.java:155) > [junit] at > org.apache.cassandra.db.ColumnFamilyStore.loadNewSSTables(ColumnFamilyStore.java:483) > [junit] at > org.apache.cassandra.db.ScrubTest.testScrubFile(ScrubTest.java:86) > [junit] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > [junit] at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > [junit] at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > [junit] at java.lang.reflect.Method.invoke(Method.java:597) > [junit] at > org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44) > [junit] at > org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15) > [junit] at > org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41) > [junit] at > org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20) > [junit] at > org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28) > [junit] at > org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31) > [junit] at > org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) > [junit] at > org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:44) > [junit] at > org.junit.runners.ParentRunner.runChildren(ParentRunner.java:180) > [junit] at > org.junit.runners.ParentRunner.access$000(ParentRunner.java:41) > [junit] at > org.junit.runners.ParentRunner$1.evaluate(ParentRunner.java:173) > [junit] at > org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28) > [junit] at > org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31) > [junit] at org.junit.runners.ParentRunner.run(ParentRunner.java:220) > [junit] at > junit.framework.JUnit4TestAdapter.run(JUnit4TestAdapter.java:39) > [junit] at > org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.run(JUnitTestRunner.java:518) > [junit] at > org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.launch(JUnitTestRunner.java:1052) > [junit] at > org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.main(JUnitTestRunner.java:906) > [junit] - --- > [junit] Testcase: testScrubFile(org.apache.cassandra.db.ScrubTest): > FAILED > [junit] null > [junit] junit.framework.AssertionFailedError > [junit] at > org.apache.cassandra.db.ScrubTest.testScrubFile(ScrubTest.java:87) > {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
[6/8] git commit: Allow custom types in CLI's assume command
Allow custom types in CLI's assume command patch by xedin; reviewed by slebresne for CASSANDRA-4081 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/7326ba88 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/7326ba88 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/7326ba88 Branch: refs/heads/trunk Commit: 7326ba88795665d241d2aac9a1386598f35f157e Parents: b85d44a Author: Sylvain Lebresne Authored: Fri Mar 30 10:33:29 2012 +0200 Committer: Sylvain Lebresne Committed: Fri Mar 30 10:33:29 2012 +0200 -- CHANGES.txt |1 + src/java/org/apache/cassandra/cli/Cli.g |4 +- src/java/org/apache/cassandra/cli/CliClient.java | 20 +++- 3 files changed, 17 insertions(+), 8 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/7326ba88/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index e4d207c..3316e87 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -14,6 +14,7 @@ * ensure that directory is selected for compaction for user-defined tasks and upgradesstables (CASSANDRA-3985) * fix NPE on invalid CQL delete command (CASSANDRA-3755) + * allow custom types in CLI's assume command (CASSANDRA-4081) 1.0.8 http://git-wip-us.apache.org/repos/asf/cassandra/blob/7326ba88/src/java/org/apache/cassandra/cli/Cli.g -- diff --git a/src/java/org/apache/cassandra/cli/Cli.g b/src/java/org/apache/cassandra/cli/Cli.g index e7cba6c..742ccf2 100644 --- a/src/java/org/apache/cassandra/cli/Cli.g +++ b/src/java/org/apache/cassandra/cli/Cli.g @@ -301,8 +301,8 @@ truncateStatement ; assumeStatement -: ASSUME columnFamily assumptionElement=Identifier 'AS' defaultType=Identifier --> ^(NODE_ASSUME columnFamily $assumptionElement $defaultType) +: ASSUME columnFamily assumptionElement=Identifier 'AS' entityName +-> ^(NODE_ASSUME columnFamily $assumptionElement entityName) ; consistencyLevelStatement http://git-wip-us.apache.org/repos/asf/cassandra/blob/7326ba88/src/java/org/apache/cassandra/cli/CliClient.java -- diff --git a/src/java/org/apache/cassandra/cli/CliClient.java b/src/java/org/apache/cassandra/cli/CliClient.java index 8e76b89..dfbcb68 100644 --- a/src/java/org/apache/cassandra/cli/CliClient.java +++ b/src/java/org/apache/cassandra/cli/CliClient.java @@ -1491,17 +1491,25 @@ public class CliClient AbstractType comparator; // Could be UTF8Type, IntegerType, LexicalUUIDType etc. -String defaultType = statement.getChild(2).getText(); +String defaultType = CliUtils.unescapeSQLString(statement.getChild(2).getText()); try { -comparator = Function.valueOf(defaultType.toUpperCase()).getValidator(); +comparator = TypeParser.parse(defaultType); } -catch (Exception e) +catch (ConfigurationException e) { -String functions = Function.getFunctionNames(); -sessionState.out.println("Type '" + defaultType + "' was not found. Available: " + functions); -return; +try +{ +comparator = Function.valueOf(defaultType.toUpperCase()).getValidator(); +} +catch (Exception ne) +{ +String functions = Function.getFunctionNames(); +sessionState.out.println("Type '" + defaultType + "' was not found. Available: " + functions + + " Or any class which extends o.a.c.db.marshal.AbstractType."); +return; +} } // making string representation look property e.g. o.a.c.db.marshal.UTF8Type
[4/8] git commit: Remove dead sliced_buffer_size_in_kb option
Remove dead sliced_buffer_size_in_kb option patch by slebresne; reviewed by jbellis for CASSANDRA-4076 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/d69d304c Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/d69d304c Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/d69d304c Branch: refs/heads/trunk Commit: d69d304c4e4788daa201539e5e8441d30bb02396 Parents: e05a327 Author: Sylvain Lebresne Authored: Fri Mar 30 16:44:24 2012 +0200 Committer: Sylvain Lebresne Committed: Fri Mar 30 16:44:24 2012 +0200 -- CHANGES.txt|1 + NEWS.txt |3 ++- conf/cassandra.yaml|4 examples/client_only/conf/cassandra.yaml |4 src/java/org/apache/cassandra/config/Config.java |2 -- .../cassandra/config/DatabaseDescriptor.java | 10 -- .../db/columniterator/SSTableNamesIterator.java|2 +- .../db/columniterator/SSTableSliceIterator.java|2 +- .../apache/cassandra/io/sstable/SSTableReader.java |2 +- .../cassandra/io/sstable/SSTableReaderTest.java|2 +- 10 files changed, 7 insertions(+), 25 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/d69d304c/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 55d17f7..9c62679 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -2,6 +2,7 @@ * 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) + * Remove sliced_buffer_size_in_kb dead option (CASSANDRA-4076) 1.1-beta2 http://git-wip-us.apache.org/repos/asf/cassandra/blob/d69d304c/NEWS.txt -- diff --git a/NEWS.txt b/NEWS.txt index a588e91..eca9e02 100644 --- a/NEWS.txt +++ b/NEWS.txt @@ -48,7 +48,8 @@ Upgrading + Prior to 1.1, you could use KEY as the primary key name in some select statements, even if the PK was actually given a different name. In 1.1+ you must use the defined PK name. - +- The sliced_buffer_size_in_kb option has been removed from the + cassandra.yaml config file (this option was a no-op since 1.0). Features http://git-wip-us.apache.org/repos/asf/cassandra/blob/d69d304c/conf/cassandra.yaml -- diff --git a/conf/cassandra.yaml b/conf/cassandra.yaml index 866319c..1874f32 100644 --- a/conf/cassandra.yaml +++ b/conf/cassandra.yaml @@ -223,10 +223,6 @@ concurrent_writes: 32 # the maximum number of secondary indexes created on a single CF. memtable_flush_queue_size: 4 -# Buffer size to use when performing contiguous column slices. -# Increase this to the size of the column slices you typically perform -sliced_buffer_size_in_kb: 64 - # Whether to, when doing sequential writing, fsync() at intervals in # order to force the operating system to flush the dirty # buffers. Enable this to avoid sudden dirty buffer flushing from http://git-wip-us.apache.org/repos/asf/cassandra/blob/d69d304c/examples/client_only/conf/cassandra.yaml -- diff --git a/examples/client_only/conf/cassandra.yaml b/examples/client_only/conf/cassandra.yaml index 2d92794..701d191 100644 --- a/examples/client_only/conf/cassandra.yaml +++ b/examples/client_only/conf/cassandra.yaml @@ -150,10 +150,6 @@ concurrent_writes: 32 # By default this will be set to the amount of data directories defined. #memtable_flush_writers: 1 -# Buffer size to use when performing contiguous column slices. -# Increase this to the size of the column slices you typically perform -sliced_buffer_size_in_kb: 64 - # TCP port, for commands and data storage_port: 7000 http://git-wip-us.apache.org/repos/asf/cassandra/blob/d69d304c/src/java/org/apache/cassandra/config/Config.java -- diff --git a/src/java/org/apache/cassandra/config/Config.java b/src/java/org/apache/cassandra/config/Config.java index 2bc34dc..91b96f1 100644 --- a/src/java/org/apache/cassandra/config/Config.java +++ b/src/java/org/apache/cassandra/config/Config.java @@ -61,8 +61,6 @@ public class Config public Integer memtable_flush_writers = null; // will get set to the length of data dirs in DatabaseDescriptor public Integer memtable_total_space_in_mb; -public Integer sliced_buffer_size_in_kb = 64; - public Integer storage_port = 7000; public Integer ssl_storage_port = 7001; public St
[7/8] git commit: make ITC to handle versioning using BCA patch by Vijay; reviewed by Brandon Williams for CASSANDRA-4098
make ITC to handle versioning using BCA patch by Vijay; reviewed by Brandon Williams for CASSANDRA-4098 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/b85d44a2 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/b85d44a2 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/b85d44a2 Branch: refs/heads/trunk Commit: b85d44a25bec8355a86288376eca17021b9793f2 Parents: b0dfb4c Author: Vijay Parthasarathy Authored: Thu Mar 29 16:29:07 2012 -0700 Committer: Vijay Parthasarathy Committed: Thu Mar 29 16:29:07 2012 -0700 -- .../cassandra/net/IncomingTcpConnection.java |4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/b85d44a2/src/java/org/apache/cassandra/net/IncomingTcpConnection.java -- diff --git a/src/java/org/apache/cassandra/net/IncomingTcpConnection.java b/src/java/org/apache/cassandra/net/IncomingTcpConnection.java index ee44a1c..47ab39a 100644 --- a/src/java/org/apache/cassandra/net/IncomingTcpConnection.java +++ b/src/java/org/apache/cassandra/net/IncomingTcpConnection.java @@ -48,7 +48,6 @@ public class IncomingTcpConnection extends Thread { assert socket != null; this.socket = socket; -from = socket.getInetAddress(); // maximize chance of this not being nulled by disconnect } /** @@ -94,6 +93,7 @@ public class IncomingTcpConnection extends Thread input = new DataInputStream(new BufferedInputStream(socket.getInputStream(), 4096)); // Receive the first message to set the version. Message msg = receiveMessage(input, version); +from = msg.getFrom(); // why? see => CASSANDRA-4099 if (version > MessagingService.version_) { // save the endpoint so gossip will reconnect to it @@ -102,7 +102,7 @@ public class IncomingTcpConnection extends Thread } else if (msg != null) { -Gossiper.instance.setVersion(msg.getFrom(), version); +Gossiper.instance.setVersion(from, version); logger.debug("set version for {} to {}", from, version); }
[8/8] git commit: Fix underscores
Fix underscores Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/33f66e4f Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/33f66e4f Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/33f66e4f Branch: refs/heads/trunk Commit: 33f66e4fb13b17be08c368424aac07f532bdbab8 Parents: 190e27b Author: Brandon Williams Authored: Thu Mar 29 13:16:21 2012 -0500 Committer: Brandon Williams Committed: Thu Mar 29 13:16:21 2012 -0500 -- .../org/apache/cassandra/gms/FailureDetector.java |6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/33f66e4f/src/java/org/apache/cassandra/gms/FailureDetector.java -- diff --git a/src/java/org/apache/cassandra/gms/FailureDetector.java b/src/java/org/apache/cassandra/gms/FailureDetector.java index 0a66cb6..2f03e8c 100644 --- a/src/java/org/apache/cassandra/gms/FailureDetector.java +++ b/src/java/org/apache/cassandra/gms/FailureDetector.java @@ -197,10 +197,10 @@ public class FailureDetector implements IFailureDetector, FailureDetectorMBean public void forceConviction(InetAddress ep) { -logger.debug("Forcing conviction of {}", ep); -for ( IFailureDetectionEventListener listener : fdEvntListeners ) +logger_.debug("Forcing conviction of {}", ep); +for ( IFailureDetectionEventListener listener : fdEvntListeners_ ) { -listener.convict(ep, phiConvictThreshold); +listener.convict(ep, phiConvictThreshold_); } }
[2/8] 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/79354482 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/79354482 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/79354482 Branch: refs/heads/trunk Commit: 79354482aa5faf12dd375c7a7e9b9b2ebd3cd378 Parents: 33f66e4 adc0931 Author: Sylvain Lebresne Authored: Fri Mar 30 16:49:51 2012 +0200 Committer: Sylvain Lebresne Committed: Fri Mar 30 16:49:51 2012 +0200 -- CHANGES.txt|3 ++ NEWS.txt |3 +- conf/cassandra.yaml|4 --- examples/client_only/conf/cassandra.yaml |4 --- src/java/org/apache/cassandra/cli/Cli.g|4 +- src/java/org/apache/cassandra/cli/CliClient.java | 20 ++ src/java/org/apache/cassandra/config/Config.java |2 - .../cassandra/config/DatabaseDescriptor.java | 10 --- .../db/columniterator/SSTableNamesIterator.java|2 +- .../db/columniterator/SSTableSliceIterator.java|2 +- .../db/compaction/AbstractCompactionIterable.java | 13 - .../db/compaction/CompactionIterable.java |7 + .../db/compaction/ParallelCompactionIterable.java |4 +-- .../apache/cassandra/io/sstable/SSTableReader.java |2 +- .../cassandra/net/IncomingTcpConnection.java |4 +- .../cassandra/io/sstable/SSTableReaderTest.java|2 +- 16 files changed, 40 insertions(+), 46 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/79354482/CHANGES.txt -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/79354482/NEWS.txt -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/79354482/src/java/org/apache/cassandra/cli/Cli.g -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/79354482/src/java/org/apache/cassandra/cli/CliClient.java -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/79354482/src/java/org/apache/cassandra/db/columniterator/SSTableNamesIterator.java -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/79354482/src/java/org/apache/cassandra/db/columniterator/SSTableSliceIterator.java -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/79354482/src/java/org/apache/cassandra/db/compaction/ParallelCompactionIterable.java -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/79354482/src/java/org/apache/cassandra/io/sstable/SSTableReader.java --
[3/8] git commit: Merge branch 'cassandra-1.0' into cassandra-1.1.0
Merge branch 'cassandra-1.0' into cassandra-1.1.0 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/adc0931e Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/adc0931e Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/adc0931e Branch: refs/heads/trunk Commit: adc0931e8154c12536b8aafa0c90b5a4e8a708b0 Parents: d69d304 3931ee7 Author: Sylvain Lebresne Authored: Fri Mar 30 16:47:25 2012 +0200 Committer: Sylvain Lebresne Committed: Fri Mar 30 16:47:25 2012 +0200 -- CHANGES.txt|2 + src/java/org/apache/cassandra/cli/Cli.g|4 +- src/java/org/apache/cassandra/cli/CliClient.java | 20 ++ .../db/compaction/AbstractCompactionIterable.java | 13 - .../db/compaction/CompactionIterable.java |7 + .../db/compaction/ParallelCompactionIterable.java |4 +-- .../cassandra/net/IncomingTcpConnection.java |4 +- 7 files changed, 33 insertions(+), 21 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/adc0931e/CHANGES.txt -- diff --cc CHANGES.txt index 9c62679,438bc91..00848f6 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -49,96 -14,10 +49,98 @@@ Merged from 1.0 * ensure that directory is selected for compaction for user-defined tasks and upgradesstables (CASSANDRA-3985) * fix NPE on invalid CQL delete command (CASSANDRA-3755) + * allow custom types in CLI's assume command (CASSANDRA-4081) + * Fix totalBytes count for parallel compactions (CASSANDRA-3758) +1.1-beta1 + * (cqlsh) + + add SOURCE and CAPTURE commands, and --file option (CASSANDRA-3479) + + add ALTER COLUMNFAMILY WITH (CASSANDRA-3523) + + bundle Python dependencies with Cassandra (CASSANDRA-3507) + + added to Debian package (CASSANDRA-3458) + + display byte data instead of erroring out on decode failure + (CASSANDRA-3874) + * add nodetool rebuild_index (CASSANDRA-3583) + * add nodetool rangekeysample (CASSANDRA-2917) + * Fix streaming too much data during move operations (CASSANDRA-3639) + * Nodetool and CLI connect to localhost by default (CASSANDRA-3568) + * Reduce memory used by primary index sample (CASSANDRA-3743) + * (Hadoop) separate input/output configurations (CASSANDRA-3197, 3765) + * avoid returning internal Cassandra classes over JMX (CASSANDRA-2805) + * add row-level isolation via SnapTree (CASSANDRA-2893) + * Optimize key count estimation when opening sstable on startup + (CASSANDRA-2988) + * multi-dc replication optimization supporting CL > ONE (CASSANDRA-3577) + * add command to stop compactions (CASSANDRA-1740, 3566, 3582) + * multithreaded streaming (CASSANDRA-3494) + * removed in-tree redhat spec (CASSANDRA-3567) + * "defragment" rows for name-based queries under STCS, again (CASSANDRA-2503) + * Recycle commitlog segments for improved performance + (CASSANDRA-3411, 3543, 3557, 3615) + * update size-tiered compaction to prioritize small tiers (CASSANDRA-2407) + * add message expiration logic to OutboundTcpConnection (CASSANDRA-3005) + * off-heap cache to use sun.misc.Unsafe instead of JNA (CASSANDRA-3271) + * EACH_QUORUM is only supported for writes (CASSANDRA-3272) + * replace compactionlock use in schema migration by checking CFS.isValid + (CASSANDRA-3116) + * recognize that "SELECT first ... *" isn't really "SELECT *" (CASSANDRA-3445) + * Use faster bytes comparison (CASSANDRA-3434) + * Bulk loader is no longer a fat client, (HADOOP) bulk load output format + (CASSANDRA-3045) + * (Hadoop) add support for KeyRange.filter + * remove assumption that keys and token are in bijection + (CASSANDRA-1034, 3574, 3604) + * always remove endpoints from delevery queue in HH (CASSANDRA-3546) + * fix race between cf flush and its 2ndary indexes flush (CASSANDRA-3547) + * fix potential race in AES when a repair fails (CASSANDRA-3548) + * Remove columns shadowed by a deleted container even when we cannot purge + (CASSANDRA-3538) + * Improve memtable slice iteration performance (CASSANDRA-3545) + * more efficient allocation of small bloom filters (CASSANDRA-3618) + * Use separate writer thread in SSTableSimpleUnsortedWriter (CASSANDRA-3619) + * fsync the directory after new sstable or commitlog segment are created (CASSANDRA-3250) + * fix minor issues reported by FindBugs (CASSANDRA-3658) + * global key/row caches (CASSANDRA-3143, 3849) + * optimize memtable iteration during range scan (CASSANDRA-3638) + * introduce 'crc_check_chance' in CompressionParameters to support + a checksum percentage checking chance similarly to read-repair (CASSANDRA-3611) + * a way to deactivate global key/row cache on per-CF basis (CASSANDRA-3667)
[5/8] git commit: Fix total bytes count for parallel compaction
Fix total bytes count for parallel compaction patch by slebresne; reviewed by jbellis for CASSANDRA-3758 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/3931ee70 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/3931ee70 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/3931ee70 Branch: refs/heads/trunk Commit: 3931ee709da29d3b9d9c28b8d0ef34cfdb357c1c Parents: 7326ba8 Author: Sylvain Lebresne Authored: Fri Mar 30 16:19:27 2012 +0200 Committer: Sylvain Lebresne Committed: Fri Mar 30 16:19:27 2012 +0200 -- CHANGES.txt|1 + .../db/compaction/AbstractCompactionIterable.java | 13 +++-- .../db/compaction/CompactionIterable.java |7 +-- .../db/compaction/ParallelCompactionIterable.java |4 +--- 4 files changed, 14 insertions(+), 11 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/3931ee70/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 3316e87..438bc91 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -15,6 +15,7 @@ tasks and upgradesstables (CASSANDRA-3985) * fix NPE on invalid CQL delete command (CASSANDRA-3755) * allow custom types in CLI's assume command (CASSANDRA-4081) + * Fix totalBytes count for parallel compactions (CASSANDRA-3758) 1.0.8 http://git-wip-us.apache.org/repos/asf/cassandra/blob/3931ee70/src/java/org/apache/cassandra/db/compaction/AbstractCompactionIterable.java -- diff --git a/src/java/org/apache/cassandra/db/compaction/AbstractCompactionIterable.java b/src/java/org/apache/cassandra/db/compaction/AbstractCompactionIterable.java index 53b1ba9..3182219 100644 --- a/src/java/org/apache/cassandra/db/compaction/AbstractCompactionIterable.java +++ b/src/java/org/apache/cassandra/db/compaction/AbstractCompactionIterable.java @@ -41,15 +41,24 @@ public abstract class AbstractCompactionIterable implements Iterable scanners; protected final Throttle throttle; -public AbstractCompactionIterable(CompactionController controller, OperationType type) +public AbstractCompactionIterable(CompactionController controller, OperationType type, List scanners) { this.controller = controller; this.type = type; +this.scanners = scanners; +this.bytesRead = 0; + +long bytes = 0; +for (SSTableScanner scanner : scanners) +bytes += scanner.getFileLength(); +this.totalBytes = bytes; + this.throttle = new Throttle(toString(), new Throttle.ThroughputFunction() { /** @return Instantaneous throughput target in bytes per millisecond. */ http://git-wip-us.apache.org/repos/asf/cassandra/blob/3931ee70/src/java/org/apache/cassandra/db/compaction/CompactionIterable.java -- diff --git a/src/java/org/apache/cassandra/db/compaction/CompactionIterable.java b/src/java/org/apache/cassandra/db/compaction/CompactionIterable.java index 5e0dfa7..65e4b54 100644 --- a/src/java/org/apache/cassandra/db/compaction/CompactionIterable.java +++ b/src/java/org/apache/cassandra/db/compaction/CompactionIterable.java @@ -41,7 +41,6 @@ public class CompactionIterable extends AbstractCompactionIterable private static Logger logger = LoggerFactory.getLogger(CompactionIterable.class); private long row; -private final List scanners; private static final Comparator comparator = new Comparator() { @@ -58,12 +57,8 @@ public class CompactionIterable extends AbstractCompactionIterable protected CompactionIterable(OperationType type, List scanners, CompactionController controller) { -super(controller, type); -this.scanners = scanners; +super(controller, type, scanners); row = 0; -totalBytes = bytesRead = 0; -for (SSTableScanner scanner : scanners) -totalBytes += scanner.getFileLength(); } protected static List getScanners(Iterable sstables) throws IOException http://git-wip-us.apache.org/repos/asf/cassandra/blob/3931ee70/src/java/org/apache/cassandra/db/compaction/ParallelCompactionIterable.java -- diff --git a/src/java/org/apache/cassandra/db/compaction/ParallelCompactionIterable.java b/src/java/org/apache/cassandra/db/compaction/ParallelCompactionIterable.java index dba8f55..52f81e0 100644 --- a/src/java/org/apache/cassandra/db/compaction/ParallelCompactionIterable.java +++ b/src/java/org/apache/cassandra/db/compaction/ParallelCompactionIterable.java @@ -59,7 +59,6 @@ public class Pa
[1/8] git commit: Merge branch 'cassandra-1.1' into trunk
Updated Branches: refs/heads/trunk 3f7c7323b -> 38515b19a Merge branch 'cassandra-1.1' into trunk Conflicts: src/java/org/apache/cassandra/db/columniterator/SSTableNamesIterator.java src/java/org/apache/cassandra/db/columniterator/SSTableSliceIterator.java src/java/org/apache/cassandra/io/sstable/SSTableReader.java src/java/org/apache/cassandra/net/IncomingTcpConnection.java test/unit/org/apache/cassandra/io/sstable/SSTableReaderTest.java Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/38515b19 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/38515b19 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/38515b19 Branch: refs/heads/trunk Commit: 38515b19a78ee2e1db69fd194e95135100ba34e9 Parents: 3f7c732 7935448 Author: Sylvain Lebresne Authored: Fri Mar 30 16:55:43 2012 +0200 Committer: Sylvain Lebresne Committed: Fri Mar 30 16:55:43 2012 +0200 -- CHANGES.txt|3 ++ NEWS.txt |3 +- conf/cassandra.yaml|4 --- examples/client_only/conf/cassandra.yaml |4 --- src/java/org/apache/cassandra/cli/Cli.g|4 +- src/java/org/apache/cassandra/cli/CliClient.java | 20 ++ src/java/org/apache/cassandra/config/Config.java |2 - .../cassandra/config/DatabaseDescriptor.java | 10 --- .../db/compaction/AbstractCompactionIterable.java | 13 - .../db/compaction/CompactionIterable.java |7 + .../db/compaction/ParallelCompactionIterable.java |4 +-- .../org/apache/cassandra/gms/FailureDetector.java |2 +- 12 files changed, 35 insertions(+), 41 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/38515b19/CHANGES.txt -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/38515b19/src/java/org/apache/cassandra/cli/CliClient.java -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/38515b19/src/java/org/apache/cassandra/config/Config.java -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/38515b19/src/java/org/apache/cassandra/config/DatabaseDescriptor.java -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/38515b19/src/java/org/apache/cassandra/db/compaction/AbstractCompactionIterable.java -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/38515b19/src/java/org/apache/cassandra/db/compaction/CompactionIterable.java -- diff --cc src/java/org/apache/cassandra/db/compaction/CompactionIterable.java index 4f9a6d1,eb88489..ba4e3c2 --- a/src/java/org/apache/cassandra/db/compaction/CompactionIterable.java +++ b/src/java/org/apache/cassandra/db/compaction/CompactionIterable.java @@@ -34,10 -38,9 +34,9 @@@ import org.apache.cassandra.utils.Merge public class CompactionIterable extends AbstractCompactionIterable { -private static Logger logger = LoggerFactory.getLogger(CompactionIterable.class); +private static final Logger logger = LoggerFactory.getLogger(CompactionIterable.class); private long row; - private final List scanners; private static final Comparator comparator = new Comparator() { http://git-wip-us.apache.org/repos/asf/cassandra/blob/38515b19/src/java/org/apache/cassandra/db/compaction/ParallelCompactionIterable.java -- diff --cc src/java/org/apache/cassandra/db/compaction/ParallelCompactionIterable.java index eed60c5,764a549..a04bb91 --- a/src/java/org/apache/cassandra/db/compaction/ParallelCompactionIterable.java +++ b/src/java/org/apache/cassandra/db/compaction/ParallelCompactionIterable.java @@@ -54,9 -57,8 +54,8 @@@ import org.apache.cassandra.utils.* */ public class ParallelCompactionIterable extends AbstractCompactionIterable { -private static Logger logger = LoggerFactory.getLogger(ParallelCompactionIterable.class); +private static final Logger logger = LoggerFactory.getLogger(ParallelCompactionIterable.class); - private final List scanners; private final int maxInMemorySize; public ParallelCompactionIterable(OperationType type, Iterable sstables, CompactionController controller) throws IOException http://git-wip-us.apache.org/repos/asf/cassandra/blob/38515b19/src/java/org/apache/cassandra/gms/FailureDetector.j
[jira] [Commented] (CASSANDRA-4095) Internal error processing get_slice (NullPointerException)
[ https://issues.apache.org/jira/browse/CASSANDRA-4095?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13242401#comment-13242401 ] Vijay commented on CASSANDRA-4095: -- I Should have also verified against 1.0, thanks! > Internal error processing get_slice (NullPointerException) > -- > > Key: CASSANDRA-4095 > URL: https://issues.apache.org/jira/browse/CASSANDRA-4095 > Project: Cassandra > Issue Type: Bug > Components: Core >Affects Versions: 1.0.2 > Environment: Java(TM) SE Runtime Environment (build 1.6.0_30-b12) >Reporter: John Laban >Assignee: Jonathan Ellis >Priority: Minor > Fix For: 1.0.9, 1.1.0 > > Attachments: 4095.txt, 4095_v2.txt > > > I get this pretty regularly. It seems to happen transiently on multiple > nodes in my cluster, every so often, and goes away. > ERROR [Thrift:45] 2012-03-26 19:59:12,024 Cassandra.java (line 3041) Internal > error processing get_slice > java.lang.NullPointerException > at > org.apache.cassandra.db.SliceFromReadCommand.maybeGenerateRetryCommand(SliceFromReadCommand.java:76) > at > org.apache.cassandra.service.StorageProxy.fetchRows(StorageProxy.java:724) > at > org.apache.cassandra.service.StorageProxy.read(StorageProxy.java:564) > at > org.apache.cassandra.thrift.CassandraServer.readColumnFamily(CassandraServer.java:128) > at > org.apache.cassandra.thrift.CassandraServer.getSlice(CassandraServer.java:283) > at > org.apache.cassandra.thrift.CassandraServer.multigetSliceInternal(CassandraServer.java:365) > at > org.apache.cassandra.thrift.CassandraServer.get_slice(CassandraServer.java:326) > at > org.apache.cassandra.thrift.Cassandra$Processor$get_slice.process(Cassandra.java:3033) > at > org.apache.cassandra.thrift.Cassandra$Processor.process(Cassandra.java:2889) > at > org.apache.cassandra.thrift.CustomTThreadPoolServer$WorkerProcess.run(CustomTThreadPoolServer.java:187) > 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) > The line in question is (I think) the one below, so it looks like the column > family reference for a row can sometimes be null? > int liveColumnsInRow = row != null ? row.cf.getLiveColumnCount() : 0; > Here is my column family (on 1.0.8): > ColumnFamily: WorkQueue (Super) > Key Validation Class: org.apache.cassandra.db.marshal.UTF8Type > Default column value validator: org.apache.cassandra.db.marshal.UTF8Type > Columns sorted by: > org.apache.cassandra.db.marshal.UTF8Type/org.apache.cassandra.db.marshal.UTF8Type > Row cache size / save period in seconds / keys to save : 0.0/0/all > Row Cache Provider: > org.apache.cassandra.cache.ConcurrentLinkedHashCacheProvider > Key cache size / save period in seconds: 0.0/0 > GC grace seconds: 0 > Compaction min/max thresholds: 4/32 > Read repair chance: 0.0 > Replicate on write: false > Bloom Filter FP chance: default > Built indexes: [] > Compaction Strategy: > org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy -- 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
[3/6] git commit: Remove dead sliced_buffer_size_in_kb option
Remove dead sliced_buffer_size_in_kb option patch by slebresne; reviewed by jbellis for CASSANDRA-4076 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/d69d304c Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/d69d304c Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/d69d304c Branch: refs/heads/cassandra-1.1 Commit: d69d304c4e4788daa201539e5e8441d30bb02396 Parents: e05a327 Author: Sylvain Lebresne Authored: Fri Mar 30 16:44:24 2012 +0200 Committer: Sylvain Lebresne Committed: Fri Mar 30 16:44:24 2012 +0200 -- CHANGES.txt|1 + NEWS.txt |3 ++- conf/cassandra.yaml|4 examples/client_only/conf/cassandra.yaml |4 src/java/org/apache/cassandra/config/Config.java |2 -- .../cassandra/config/DatabaseDescriptor.java | 10 -- .../db/columniterator/SSTableNamesIterator.java|2 +- .../db/columniterator/SSTableSliceIterator.java|2 +- .../apache/cassandra/io/sstable/SSTableReader.java |2 +- .../cassandra/io/sstable/SSTableReaderTest.java|2 +- 10 files changed, 7 insertions(+), 25 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/d69d304c/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 55d17f7..9c62679 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -2,6 +2,7 @@ * 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) + * Remove sliced_buffer_size_in_kb dead option (CASSANDRA-4076) 1.1-beta2 http://git-wip-us.apache.org/repos/asf/cassandra/blob/d69d304c/NEWS.txt -- diff --git a/NEWS.txt b/NEWS.txt index a588e91..eca9e02 100644 --- a/NEWS.txt +++ b/NEWS.txt @@ -48,7 +48,8 @@ Upgrading + Prior to 1.1, you could use KEY as the primary key name in some select statements, even if the PK was actually given a different name. In 1.1+ you must use the defined PK name. - +- The sliced_buffer_size_in_kb option has been removed from the + cassandra.yaml config file (this option was a no-op since 1.0). Features http://git-wip-us.apache.org/repos/asf/cassandra/blob/d69d304c/conf/cassandra.yaml -- diff --git a/conf/cassandra.yaml b/conf/cassandra.yaml index 866319c..1874f32 100644 --- a/conf/cassandra.yaml +++ b/conf/cassandra.yaml @@ -223,10 +223,6 @@ concurrent_writes: 32 # the maximum number of secondary indexes created on a single CF. memtable_flush_queue_size: 4 -# Buffer size to use when performing contiguous column slices. -# Increase this to the size of the column slices you typically perform -sliced_buffer_size_in_kb: 64 - # Whether to, when doing sequential writing, fsync() at intervals in # order to force the operating system to flush the dirty # buffers. Enable this to avoid sudden dirty buffer flushing from http://git-wip-us.apache.org/repos/asf/cassandra/blob/d69d304c/examples/client_only/conf/cassandra.yaml -- diff --git a/examples/client_only/conf/cassandra.yaml b/examples/client_only/conf/cassandra.yaml index 2d92794..701d191 100644 --- a/examples/client_only/conf/cassandra.yaml +++ b/examples/client_only/conf/cassandra.yaml @@ -150,10 +150,6 @@ concurrent_writes: 32 # By default this will be set to the amount of data directories defined. #memtable_flush_writers: 1 -# Buffer size to use when performing contiguous column slices. -# Increase this to the size of the column slices you typically perform -sliced_buffer_size_in_kb: 64 - # TCP port, for commands and data storage_port: 7000 http://git-wip-us.apache.org/repos/asf/cassandra/blob/d69d304c/src/java/org/apache/cassandra/config/Config.java -- diff --git a/src/java/org/apache/cassandra/config/Config.java b/src/java/org/apache/cassandra/config/Config.java index 2bc34dc..91b96f1 100644 --- a/src/java/org/apache/cassandra/config/Config.java +++ b/src/java/org/apache/cassandra/config/Config.java @@ -61,8 +61,6 @@ public class Config public Integer memtable_flush_writers = null; // will get set to the length of data dirs in DatabaseDescriptor public Integer memtable_total_space_in_mb; -public Integer sliced_buffer_size_in_kb = 64; - public Integer storage_port = 7000; public Integer ssl_storage_port = 7001; p
[6/6] git commit: make ITC to handle versioning using BCA patch by Vijay; reviewed by Brandon Williams for CASSANDRA-4098
make ITC to handle versioning using BCA patch by Vijay; reviewed by Brandon Williams for CASSANDRA-4098 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/b85d44a2 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/b85d44a2 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/b85d44a2 Branch: refs/heads/cassandra-1.1 Commit: b85d44a25bec8355a86288376eca17021b9793f2 Parents: b0dfb4c Author: Vijay Parthasarathy Authored: Thu Mar 29 16:29:07 2012 -0700 Committer: Vijay Parthasarathy Committed: Thu Mar 29 16:29:07 2012 -0700 -- .../cassandra/net/IncomingTcpConnection.java |4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/b85d44a2/src/java/org/apache/cassandra/net/IncomingTcpConnection.java -- diff --git a/src/java/org/apache/cassandra/net/IncomingTcpConnection.java b/src/java/org/apache/cassandra/net/IncomingTcpConnection.java index ee44a1c..47ab39a 100644 --- a/src/java/org/apache/cassandra/net/IncomingTcpConnection.java +++ b/src/java/org/apache/cassandra/net/IncomingTcpConnection.java @@ -48,7 +48,6 @@ public class IncomingTcpConnection extends Thread { assert socket != null; this.socket = socket; -from = socket.getInetAddress(); // maximize chance of this not being nulled by disconnect } /** @@ -94,6 +93,7 @@ public class IncomingTcpConnection extends Thread input = new DataInputStream(new BufferedInputStream(socket.getInputStream(), 4096)); // Receive the first message to set the version. Message msg = receiveMessage(input, version); +from = msg.getFrom(); // why? see => CASSANDRA-4099 if (version > MessagingService.version_) { // save the endpoint so gossip will reconnect to it @@ -102,7 +102,7 @@ public class IncomingTcpConnection extends Thread } else if (msg != null) { -Gossiper.instance.setVersion(msg.getFrom(), version); +Gossiper.instance.setVersion(from, version); logger.debug("set version for {} to {}", from, version); }
[5/6] git commit: Allow custom types in CLI's assume command
Allow custom types in CLI's assume command patch by xedin; reviewed by slebresne for CASSANDRA-4081 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/7326ba88 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/7326ba88 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/7326ba88 Branch: refs/heads/cassandra-1.1 Commit: 7326ba88795665d241d2aac9a1386598f35f157e Parents: b85d44a Author: Sylvain Lebresne Authored: Fri Mar 30 10:33:29 2012 +0200 Committer: Sylvain Lebresne Committed: Fri Mar 30 10:33:29 2012 +0200 -- CHANGES.txt |1 + src/java/org/apache/cassandra/cli/Cli.g |4 +- src/java/org/apache/cassandra/cli/CliClient.java | 20 +++- 3 files changed, 17 insertions(+), 8 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/7326ba88/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index e4d207c..3316e87 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -14,6 +14,7 @@ * ensure that directory is selected for compaction for user-defined tasks and upgradesstables (CASSANDRA-3985) * fix NPE on invalid CQL delete command (CASSANDRA-3755) + * allow custom types in CLI's assume command (CASSANDRA-4081) 1.0.8 http://git-wip-us.apache.org/repos/asf/cassandra/blob/7326ba88/src/java/org/apache/cassandra/cli/Cli.g -- diff --git a/src/java/org/apache/cassandra/cli/Cli.g b/src/java/org/apache/cassandra/cli/Cli.g index e7cba6c..742ccf2 100644 --- a/src/java/org/apache/cassandra/cli/Cli.g +++ b/src/java/org/apache/cassandra/cli/Cli.g @@ -301,8 +301,8 @@ truncateStatement ; assumeStatement -: ASSUME columnFamily assumptionElement=Identifier 'AS' defaultType=Identifier --> ^(NODE_ASSUME columnFamily $assumptionElement $defaultType) +: ASSUME columnFamily assumptionElement=Identifier 'AS' entityName +-> ^(NODE_ASSUME columnFamily $assumptionElement entityName) ; consistencyLevelStatement http://git-wip-us.apache.org/repos/asf/cassandra/blob/7326ba88/src/java/org/apache/cassandra/cli/CliClient.java -- diff --git a/src/java/org/apache/cassandra/cli/CliClient.java b/src/java/org/apache/cassandra/cli/CliClient.java index 8e76b89..dfbcb68 100644 --- a/src/java/org/apache/cassandra/cli/CliClient.java +++ b/src/java/org/apache/cassandra/cli/CliClient.java @@ -1491,17 +1491,25 @@ public class CliClient AbstractType comparator; // Could be UTF8Type, IntegerType, LexicalUUIDType etc. -String defaultType = statement.getChild(2).getText(); +String defaultType = CliUtils.unescapeSQLString(statement.getChild(2).getText()); try { -comparator = Function.valueOf(defaultType.toUpperCase()).getValidator(); +comparator = TypeParser.parse(defaultType); } -catch (Exception e) +catch (ConfigurationException e) { -String functions = Function.getFunctionNames(); -sessionState.out.println("Type '" + defaultType + "' was not found. Available: " + functions); -return; +try +{ +comparator = Function.valueOf(defaultType.toUpperCase()).getValidator(); +} +catch (Exception ne) +{ +String functions = Function.getFunctionNames(); +sessionState.out.println("Type '" + defaultType + "' was not found. Available: " + functions + + " Or any class which extends o.a.c.db.marshal.AbstractType."); +return; +} } // making string representation look property e.g. o.a.c.db.marshal.UTF8Type
[4/6] git commit: Fix total bytes count for parallel compaction
Fix total bytes count for parallel compaction patch by slebresne; reviewed by jbellis for CASSANDRA-3758 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/3931ee70 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/3931ee70 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/3931ee70 Branch: refs/heads/cassandra-1.1 Commit: 3931ee709da29d3b9d9c28b8d0ef34cfdb357c1c Parents: 7326ba8 Author: Sylvain Lebresne Authored: Fri Mar 30 16:19:27 2012 +0200 Committer: Sylvain Lebresne Committed: Fri Mar 30 16:19:27 2012 +0200 -- CHANGES.txt|1 + .../db/compaction/AbstractCompactionIterable.java | 13 +++-- .../db/compaction/CompactionIterable.java |7 +-- .../db/compaction/ParallelCompactionIterable.java |4 +--- 4 files changed, 14 insertions(+), 11 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/3931ee70/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 3316e87..438bc91 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -15,6 +15,7 @@ tasks and upgradesstables (CASSANDRA-3985) * fix NPE on invalid CQL delete command (CASSANDRA-3755) * allow custom types in CLI's assume command (CASSANDRA-4081) + * Fix totalBytes count for parallel compactions (CASSANDRA-3758) 1.0.8 http://git-wip-us.apache.org/repos/asf/cassandra/blob/3931ee70/src/java/org/apache/cassandra/db/compaction/AbstractCompactionIterable.java -- diff --git a/src/java/org/apache/cassandra/db/compaction/AbstractCompactionIterable.java b/src/java/org/apache/cassandra/db/compaction/AbstractCompactionIterable.java index 53b1ba9..3182219 100644 --- a/src/java/org/apache/cassandra/db/compaction/AbstractCompactionIterable.java +++ b/src/java/org/apache/cassandra/db/compaction/AbstractCompactionIterable.java @@ -41,15 +41,24 @@ public abstract class AbstractCompactionIterable implements Iterable scanners; protected final Throttle throttle; -public AbstractCompactionIterable(CompactionController controller, OperationType type) +public AbstractCompactionIterable(CompactionController controller, OperationType type, List scanners) { this.controller = controller; this.type = type; +this.scanners = scanners; +this.bytesRead = 0; + +long bytes = 0; +for (SSTableScanner scanner : scanners) +bytes += scanner.getFileLength(); +this.totalBytes = bytes; + this.throttle = new Throttle(toString(), new Throttle.ThroughputFunction() { /** @return Instantaneous throughput target in bytes per millisecond. */ http://git-wip-us.apache.org/repos/asf/cassandra/blob/3931ee70/src/java/org/apache/cassandra/db/compaction/CompactionIterable.java -- diff --git a/src/java/org/apache/cassandra/db/compaction/CompactionIterable.java b/src/java/org/apache/cassandra/db/compaction/CompactionIterable.java index 5e0dfa7..65e4b54 100644 --- a/src/java/org/apache/cassandra/db/compaction/CompactionIterable.java +++ b/src/java/org/apache/cassandra/db/compaction/CompactionIterable.java @@ -41,7 +41,6 @@ public class CompactionIterable extends AbstractCompactionIterable private static Logger logger = LoggerFactory.getLogger(CompactionIterable.class); private long row; -private final List scanners; private static final Comparator comparator = new Comparator() { @@ -58,12 +57,8 @@ public class CompactionIterable extends AbstractCompactionIterable protected CompactionIterable(OperationType type, List scanners, CompactionController controller) { -super(controller, type); -this.scanners = scanners; +super(controller, type, scanners); row = 0; -totalBytes = bytesRead = 0; -for (SSTableScanner scanner : scanners) -totalBytes += scanner.getFileLength(); } protected static List getScanners(Iterable sstables) throws IOException http://git-wip-us.apache.org/repos/asf/cassandra/blob/3931ee70/src/java/org/apache/cassandra/db/compaction/ParallelCompactionIterable.java -- diff --git a/src/java/org/apache/cassandra/db/compaction/ParallelCompactionIterable.java b/src/java/org/apache/cassandra/db/compaction/ParallelCompactionIterable.java index dba8f55..52f81e0 100644 --- a/src/java/org/apache/cassandra/db/compaction/ParallelCompactionIterable.java +++ b/src/java/org/apache/cassandra/db/compaction/ParallelCompactionIterable.java @@ -59,7 +59,6 @@ public
[1/6] git commit: Merge branch 'cassandra-1.1.0' into cassandra-1.1
Updated Branches: refs/heads/cassandra-1.1 33f66e4fb -> 79354482a 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/79354482 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/79354482 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/79354482 Branch: refs/heads/cassandra-1.1 Commit: 79354482aa5faf12dd375c7a7e9b9b2ebd3cd378 Parents: 33f66e4 adc0931 Author: Sylvain Lebresne Authored: Fri Mar 30 16:49:51 2012 +0200 Committer: Sylvain Lebresne Committed: Fri Mar 30 16:49:51 2012 +0200 -- CHANGES.txt|3 ++ NEWS.txt |3 +- conf/cassandra.yaml|4 --- examples/client_only/conf/cassandra.yaml |4 --- src/java/org/apache/cassandra/cli/Cli.g|4 +- src/java/org/apache/cassandra/cli/CliClient.java | 20 ++ src/java/org/apache/cassandra/config/Config.java |2 - .../cassandra/config/DatabaseDescriptor.java | 10 --- .../db/columniterator/SSTableNamesIterator.java|2 +- .../db/columniterator/SSTableSliceIterator.java|2 +- .../db/compaction/AbstractCompactionIterable.java | 13 - .../db/compaction/CompactionIterable.java |7 + .../db/compaction/ParallelCompactionIterable.java |4 +-- .../apache/cassandra/io/sstable/SSTableReader.java |2 +- .../cassandra/net/IncomingTcpConnection.java |4 +- .../cassandra/io/sstable/SSTableReaderTest.java|2 +- 16 files changed, 40 insertions(+), 46 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/79354482/CHANGES.txt -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/79354482/NEWS.txt -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/79354482/src/java/org/apache/cassandra/cli/Cli.g -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/79354482/src/java/org/apache/cassandra/cli/CliClient.java -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/79354482/src/java/org/apache/cassandra/db/columniterator/SSTableNamesIterator.java -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/79354482/src/java/org/apache/cassandra/db/columniterator/SSTableSliceIterator.java -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/79354482/src/java/org/apache/cassandra/db/compaction/ParallelCompactionIterable.java -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/79354482/src/java/org/apache/cassandra/io/sstable/SSTableReader.java --
[2/6] git commit: Merge branch 'cassandra-1.0' into cassandra-1.1.0
Merge branch 'cassandra-1.0' into cassandra-1.1.0 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/adc0931e Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/adc0931e Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/adc0931e Branch: refs/heads/cassandra-1.1 Commit: adc0931e8154c12536b8aafa0c90b5a4e8a708b0 Parents: d69d304 3931ee7 Author: Sylvain Lebresne Authored: Fri Mar 30 16:47:25 2012 +0200 Committer: Sylvain Lebresne Committed: Fri Mar 30 16:47:25 2012 +0200 -- CHANGES.txt|2 + src/java/org/apache/cassandra/cli/Cli.g|4 +- src/java/org/apache/cassandra/cli/CliClient.java | 20 ++ .../db/compaction/AbstractCompactionIterable.java | 13 - .../db/compaction/CompactionIterable.java |7 + .../db/compaction/ParallelCompactionIterable.java |4 +-- .../cassandra/net/IncomingTcpConnection.java |4 +- 7 files changed, 33 insertions(+), 21 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/adc0931e/CHANGES.txt -- diff --cc CHANGES.txt index 9c62679,438bc91..00848f6 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -49,96 -14,10 +49,98 @@@ Merged from 1.0 * ensure that directory is selected for compaction for user-defined tasks and upgradesstables (CASSANDRA-3985) * fix NPE on invalid CQL delete command (CASSANDRA-3755) + * allow custom types in CLI's assume command (CASSANDRA-4081) + * Fix totalBytes count for parallel compactions (CASSANDRA-3758) +1.1-beta1 + * (cqlsh) + + add SOURCE and CAPTURE commands, and --file option (CASSANDRA-3479) + + add ALTER COLUMNFAMILY WITH (CASSANDRA-3523) + + bundle Python dependencies with Cassandra (CASSANDRA-3507) + + added to Debian package (CASSANDRA-3458) + + display byte data instead of erroring out on decode failure + (CASSANDRA-3874) + * add nodetool rebuild_index (CASSANDRA-3583) + * add nodetool rangekeysample (CASSANDRA-2917) + * Fix streaming too much data during move operations (CASSANDRA-3639) + * Nodetool and CLI connect to localhost by default (CASSANDRA-3568) + * Reduce memory used by primary index sample (CASSANDRA-3743) + * (Hadoop) separate input/output configurations (CASSANDRA-3197, 3765) + * avoid returning internal Cassandra classes over JMX (CASSANDRA-2805) + * add row-level isolation via SnapTree (CASSANDRA-2893) + * Optimize key count estimation when opening sstable on startup + (CASSANDRA-2988) + * multi-dc replication optimization supporting CL > ONE (CASSANDRA-3577) + * add command to stop compactions (CASSANDRA-1740, 3566, 3582) + * multithreaded streaming (CASSANDRA-3494) + * removed in-tree redhat spec (CASSANDRA-3567) + * "defragment" rows for name-based queries under STCS, again (CASSANDRA-2503) + * Recycle commitlog segments for improved performance + (CASSANDRA-3411, 3543, 3557, 3615) + * update size-tiered compaction to prioritize small tiers (CASSANDRA-2407) + * add message expiration logic to OutboundTcpConnection (CASSANDRA-3005) + * off-heap cache to use sun.misc.Unsafe instead of JNA (CASSANDRA-3271) + * EACH_QUORUM is only supported for writes (CASSANDRA-3272) + * replace compactionlock use in schema migration by checking CFS.isValid + (CASSANDRA-3116) + * recognize that "SELECT first ... *" isn't really "SELECT *" (CASSANDRA-3445) + * Use faster bytes comparison (CASSANDRA-3434) + * Bulk loader is no longer a fat client, (HADOOP) bulk load output format + (CASSANDRA-3045) + * (Hadoop) add support for KeyRange.filter + * remove assumption that keys and token are in bijection + (CASSANDRA-1034, 3574, 3604) + * always remove endpoints from delevery queue in HH (CASSANDRA-3546) + * fix race between cf flush and its 2ndary indexes flush (CASSANDRA-3547) + * fix potential race in AES when a repair fails (CASSANDRA-3548) + * Remove columns shadowed by a deleted container even when we cannot purge + (CASSANDRA-3538) + * Improve memtable slice iteration performance (CASSANDRA-3545) + * more efficient allocation of small bloom filters (CASSANDRA-3618) + * Use separate writer thread in SSTableSimpleUnsortedWriter (CASSANDRA-3619) + * fsync the directory after new sstable or commitlog segment are created (CASSANDRA-3250) + * fix minor issues reported by FindBugs (CASSANDRA-3658) + * global key/row caches (CASSANDRA-3143, 3849) + * optimize memtable iteration during range scan (CASSANDRA-3638) + * introduce 'crc_check_chance' in CompressionParameters to support + a checksum percentage checking chance similarly to read-repair (CASSANDRA-3611) + * a way to deactivate global key/row cache on per-CF basis (CASSANDRA
[jira] [Resolved] (CASSANDRA-4076) Remove get{Indexed,Sliced}ReadBufferSizeInKB methods
[ https://issues.apache.org/jira/browse/CASSANDRA-4076?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Sylvain Lebresne resolved CASSANDRA-4076. - Resolution: Fixed Reviewer: jbellis Assignee: Sylvain Lebresne Committed, thanks > Remove get{Indexed,Sliced}ReadBufferSizeInKB methods > > > Key: CASSANDRA-4076 > URL: https://issues.apache.org/jira/browse/CASSANDRA-4076 > Project: Cassandra > Issue Type: Improvement > Components: Core >Affects Versions: 1.0.0 >Reporter: Sylvain Lebresne >Assignee: Sylvain Lebresne >Priority: Trivial > Fix For: 1.1.0 > > Attachments: 4076.txt > > > Since CASSANDRA-3171, the > DatabaseDescriptor.get{Indexed,Sliced}ReadBufferSizeInKB methods are dead > code (they are used as bufferSize argument to SSTableReader.getFileDataInput > but that method ignore the argument). This means in particular that we can > remove the configuration option sliced_buffer_size_in_kb (we shouldn't do > that in 1.0 which is why I targeted to 1.1.0, though we could add a message > in 1.0 that this argument is ignored). -- 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
[1/4] git commit: Merge branch 'cassandra-1.0' into cassandra-1.1.0
Updated Branches: refs/heads/cassandra-1.1.0 d69d304c4 -> adc0931e8 Merge branch 'cassandra-1.0' into cassandra-1.1.0 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/adc0931e Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/adc0931e Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/adc0931e Branch: refs/heads/cassandra-1.1.0 Commit: adc0931e8154c12536b8aafa0c90b5a4e8a708b0 Parents: d69d304 3931ee7 Author: Sylvain Lebresne Authored: Fri Mar 30 16:47:25 2012 +0200 Committer: Sylvain Lebresne Committed: Fri Mar 30 16:47:25 2012 +0200 -- CHANGES.txt|2 + src/java/org/apache/cassandra/cli/Cli.g|4 +- src/java/org/apache/cassandra/cli/CliClient.java | 20 ++ .../db/compaction/AbstractCompactionIterable.java | 13 - .../db/compaction/CompactionIterable.java |7 + .../db/compaction/ParallelCompactionIterable.java |4 +-- .../cassandra/net/IncomingTcpConnection.java |4 +- 7 files changed, 33 insertions(+), 21 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/adc0931e/CHANGES.txt -- diff --cc CHANGES.txt index 9c62679,438bc91..00848f6 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -49,96 -14,10 +49,98 @@@ Merged from 1.0 * ensure that directory is selected for compaction for user-defined tasks and upgradesstables (CASSANDRA-3985) * fix NPE on invalid CQL delete command (CASSANDRA-3755) + * allow custom types in CLI's assume command (CASSANDRA-4081) + * Fix totalBytes count for parallel compactions (CASSANDRA-3758) +1.1-beta1 + * (cqlsh) + + add SOURCE and CAPTURE commands, and --file option (CASSANDRA-3479) + + add ALTER COLUMNFAMILY WITH (CASSANDRA-3523) + + bundle Python dependencies with Cassandra (CASSANDRA-3507) + + added to Debian package (CASSANDRA-3458) + + display byte data instead of erroring out on decode failure + (CASSANDRA-3874) + * add nodetool rebuild_index (CASSANDRA-3583) + * add nodetool rangekeysample (CASSANDRA-2917) + * Fix streaming too much data during move operations (CASSANDRA-3639) + * Nodetool and CLI connect to localhost by default (CASSANDRA-3568) + * Reduce memory used by primary index sample (CASSANDRA-3743) + * (Hadoop) separate input/output configurations (CASSANDRA-3197, 3765) + * avoid returning internal Cassandra classes over JMX (CASSANDRA-2805) + * add row-level isolation via SnapTree (CASSANDRA-2893) + * Optimize key count estimation when opening sstable on startup + (CASSANDRA-2988) + * multi-dc replication optimization supporting CL > ONE (CASSANDRA-3577) + * add command to stop compactions (CASSANDRA-1740, 3566, 3582) + * multithreaded streaming (CASSANDRA-3494) + * removed in-tree redhat spec (CASSANDRA-3567) + * "defragment" rows for name-based queries under STCS, again (CASSANDRA-2503) + * Recycle commitlog segments for improved performance + (CASSANDRA-3411, 3543, 3557, 3615) + * update size-tiered compaction to prioritize small tiers (CASSANDRA-2407) + * add message expiration logic to OutboundTcpConnection (CASSANDRA-3005) + * off-heap cache to use sun.misc.Unsafe instead of JNA (CASSANDRA-3271) + * EACH_QUORUM is only supported for writes (CASSANDRA-3272) + * replace compactionlock use in schema migration by checking CFS.isValid + (CASSANDRA-3116) + * recognize that "SELECT first ... *" isn't really "SELECT *" (CASSANDRA-3445) + * Use faster bytes comparison (CASSANDRA-3434) + * Bulk loader is no longer a fat client, (HADOOP) bulk load output format + (CASSANDRA-3045) + * (Hadoop) add support for KeyRange.filter + * remove assumption that keys and token are in bijection + (CASSANDRA-1034, 3574, 3604) + * always remove endpoints from delevery queue in HH (CASSANDRA-3546) + * fix race between cf flush and its 2ndary indexes flush (CASSANDRA-3547) + * fix potential race in AES when a repair fails (CASSANDRA-3548) + * Remove columns shadowed by a deleted container even when we cannot purge + (CASSANDRA-3538) + * Improve memtable slice iteration performance (CASSANDRA-3545) + * more efficient allocation of small bloom filters (CASSANDRA-3618) + * Use separate writer thread in SSTableSimpleUnsortedWriter (CASSANDRA-3619) + * fsync the directory after new sstable or commitlog segment are created (CASSANDRA-3250) + * fix minor issues reported by FindBugs (CASSANDRA-3658) + * global key/row caches (CASSANDRA-3143, 3849) + * optimize memtable iteration during range scan (CASSANDRA-3638) + * introduce 'crc_check_chance' in CompressionParameters to support + a checksum percentage checking chance similarly to read-repair (CASSANDRA-3611
[2/4] git commit: Fix total bytes count for parallel compaction
Fix total bytes count for parallel compaction patch by slebresne; reviewed by jbellis for CASSANDRA-3758 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/3931ee70 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/3931ee70 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/3931ee70 Branch: refs/heads/cassandra-1.1.0 Commit: 3931ee709da29d3b9d9c28b8d0ef34cfdb357c1c Parents: 7326ba8 Author: Sylvain Lebresne Authored: Fri Mar 30 16:19:27 2012 +0200 Committer: Sylvain Lebresne Committed: Fri Mar 30 16:19:27 2012 +0200 -- CHANGES.txt|1 + .../db/compaction/AbstractCompactionIterable.java | 13 +++-- .../db/compaction/CompactionIterable.java |7 +-- .../db/compaction/ParallelCompactionIterable.java |4 +--- 4 files changed, 14 insertions(+), 11 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/3931ee70/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 3316e87..438bc91 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -15,6 +15,7 @@ tasks and upgradesstables (CASSANDRA-3985) * fix NPE on invalid CQL delete command (CASSANDRA-3755) * allow custom types in CLI's assume command (CASSANDRA-4081) + * Fix totalBytes count for parallel compactions (CASSANDRA-3758) 1.0.8 http://git-wip-us.apache.org/repos/asf/cassandra/blob/3931ee70/src/java/org/apache/cassandra/db/compaction/AbstractCompactionIterable.java -- diff --git a/src/java/org/apache/cassandra/db/compaction/AbstractCompactionIterable.java b/src/java/org/apache/cassandra/db/compaction/AbstractCompactionIterable.java index 53b1ba9..3182219 100644 --- a/src/java/org/apache/cassandra/db/compaction/AbstractCompactionIterable.java +++ b/src/java/org/apache/cassandra/db/compaction/AbstractCompactionIterable.java @@ -41,15 +41,24 @@ public abstract class AbstractCompactionIterable implements Iterable scanners; protected final Throttle throttle; -public AbstractCompactionIterable(CompactionController controller, OperationType type) +public AbstractCompactionIterable(CompactionController controller, OperationType type, List scanners) { this.controller = controller; this.type = type; +this.scanners = scanners; +this.bytesRead = 0; + +long bytes = 0; +for (SSTableScanner scanner : scanners) +bytes += scanner.getFileLength(); +this.totalBytes = bytes; + this.throttle = new Throttle(toString(), new Throttle.ThroughputFunction() { /** @return Instantaneous throughput target in bytes per millisecond. */ http://git-wip-us.apache.org/repos/asf/cassandra/blob/3931ee70/src/java/org/apache/cassandra/db/compaction/CompactionIterable.java -- diff --git a/src/java/org/apache/cassandra/db/compaction/CompactionIterable.java b/src/java/org/apache/cassandra/db/compaction/CompactionIterable.java index 5e0dfa7..65e4b54 100644 --- a/src/java/org/apache/cassandra/db/compaction/CompactionIterable.java +++ b/src/java/org/apache/cassandra/db/compaction/CompactionIterable.java @@ -41,7 +41,6 @@ public class CompactionIterable extends AbstractCompactionIterable private static Logger logger = LoggerFactory.getLogger(CompactionIterable.class); private long row; -private final List scanners; private static final Comparator comparator = new Comparator() { @@ -58,12 +57,8 @@ public class CompactionIterable extends AbstractCompactionIterable protected CompactionIterable(OperationType type, List scanners, CompactionController controller) { -super(controller, type); -this.scanners = scanners; +super(controller, type, scanners); row = 0; -totalBytes = bytesRead = 0; -for (SSTableScanner scanner : scanners) -totalBytes += scanner.getFileLength(); } protected static List getScanners(Iterable sstables) throws IOException http://git-wip-us.apache.org/repos/asf/cassandra/blob/3931ee70/src/java/org/apache/cassandra/db/compaction/ParallelCompactionIterable.java -- diff --git a/src/java/org/apache/cassandra/db/compaction/ParallelCompactionIterable.java b/src/java/org/apache/cassandra/db/compaction/ParallelCompactionIterable.java index dba8f55..52f81e0 100644 --- a/src/java/org/apache/cassandra/db/compaction/ParallelCompactionIterable.java +++ b/src/java/org/apache/cassandra/db/compaction/ParallelCompactionIterable.java @@ -59,7 +59,6 @@ publi
[4/4] git commit: make ITC to handle versioning using BCA patch by Vijay; reviewed by Brandon Williams for CASSANDRA-4098
make ITC to handle versioning using BCA patch by Vijay; reviewed by Brandon Williams for CASSANDRA-4098 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/b85d44a2 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/b85d44a2 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/b85d44a2 Branch: refs/heads/cassandra-1.1.0 Commit: b85d44a25bec8355a86288376eca17021b9793f2 Parents: b0dfb4c Author: Vijay Parthasarathy Authored: Thu Mar 29 16:29:07 2012 -0700 Committer: Vijay Parthasarathy Committed: Thu Mar 29 16:29:07 2012 -0700 -- .../cassandra/net/IncomingTcpConnection.java |4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/b85d44a2/src/java/org/apache/cassandra/net/IncomingTcpConnection.java -- diff --git a/src/java/org/apache/cassandra/net/IncomingTcpConnection.java b/src/java/org/apache/cassandra/net/IncomingTcpConnection.java index ee44a1c..47ab39a 100644 --- a/src/java/org/apache/cassandra/net/IncomingTcpConnection.java +++ b/src/java/org/apache/cassandra/net/IncomingTcpConnection.java @@ -48,7 +48,6 @@ public class IncomingTcpConnection extends Thread { assert socket != null; this.socket = socket; -from = socket.getInetAddress(); // maximize chance of this not being nulled by disconnect } /** @@ -94,6 +93,7 @@ public class IncomingTcpConnection extends Thread input = new DataInputStream(new BufferedInputStream(socket.getInputStream(), 4096)); // Receive the first message to set the version. Message msg = receiveMessage(input, version); +from = msg.getFrom(); // why? see => CASSANDRA-4099 if (version > MessagingService.version_) { // save the endpoint so gossip will reconnect to it @@ -102,7 +102,7 @@ public class IncomingTcpConnection extends Thread } else if (msg != null) { -Gossiper.instance.setVersion(msg.getFrom(), version); +Gossiper.instance.setVersion(from, version); logger.debug("set version for {} to {}", from, version); }
[3/4] git commit: Allow custom types in CLI's assume command
Allow custom types in CLI's assume command patch by xedin; reviewed by slebresne for CASSANDRA-4081 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/7326ba88 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/7326ba88 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/7326ba88 Branch: refs/heads/cassandra-1.1.0 Commit: 7326ba88795665d241d2aac9a1386598f35f157e Parents: b85d44a Author: Sylvain Lebresne Authored: Fri Mar 30 10:33:29 2012 +0200 Committer: Sylvain Lebresne Committed: Fri Mar 30 10:33:29 2012 +0200 -- CHANGES.txt |1 + src/java/org/apache/cassandra/cli/Cli.g |4 +- src/java/org/apache/cassandra/cli/CliClient.java | 20 +++- 3 files changed, 17 insertions(+), 8 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/7326ba88/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index e4d207c..3316e87 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -14,6 +14,7 @@ * ensure that directory is selected for compaction for user-defined tasks and upgradesstables (CASSANDRA-3985) * fix NPE on invalid CQL delete command (CASSANDRA-3755) + * allow custom types in CLI's assume command (CASSANDRA-4081) 1.0.8 http://git-wip-us.apache.org/repos/asf/cassandra/blob/7326ba88/src/java/org/apache/cassandra/cli/Cli.g -- diff --git a/src/java/org/apache/cassandra/cli/Cli.g b/src/java/org/apache/cassandra/cli/Cli.g index e7cba6c..742ccf2 100644 --- a/src/java/org/apache/cassandra/cli/Cli.g +++ b/src/java/org/apache/cassandra/cli/Cli.g @@ -301,8 +301,8 @@ truncateStatement ; assumeStatement -: ASSUME columnFamily assumptionElement=Identifier 'AS' defaultType=Identifier --> ^(NODE_ASSUME columnFamily $assumptionElement $defaultType) +: ASSUME columnFamily assumptionElement=Identifier 'AS' entityName +-> ^(NODE_ASSUME columnFamily $assumptionElement entityName) ; consistencyLevelStatement http://git-wip-us.apache.org/repos/asf/cassandra/blob/7326ba88/src/java/org/apache/cassandra/cli/CliClient.java -- diff --git a/src/java/org/apache/cassandra/cli/CliClient.java b/src/java/org/apache/cassandra/cli/CliClient.java index 8e76b89..dfbcb68 100644 --- a/src/java/org/apache/cassandra/cli/CliClient.java +++ b/src/java/org/apache/cassandra/cli/CliClient.java @@ -1491,17 +1491,25 @@ public class CliClient AbstractType comparator; // Could be UTF8Type, IntegerType, LexicalUUIDType etc. -String defaultType = statement.getChild(2).getText(); +String defaultType = CliUtils.unescapeSQLString(statement.getChild(2).getText()); try { -comparator = Function.valueOf(defaultType.toUpperCase()).getValidator(); +comparator = TypeParser.parse(defaultType); } -catch (Exception e) +catch (ConfigurationException e) { -String functions = Function.getFunctionNames(); -sessionState.out.println("Type '" + defaultType + "' was not found. Available: " + functions); -return; +try +{ +comparator = Function.valueOf(defaultType.toUpperCase()).getValidator(); +} +catch (Exception ne) +{ +String functions = Function.getFunctionNames(); +sessionState.out.println("Type '" + defaultType + "' was not found. Available: " + functions + + " Or any class which extends o.a.c.db.marshal.AbstractType."); +return; +} } // making string representation look property e.g. o.a.c.db.marshal.UTF8Type
git commit: Remove dead sliced_buffer_size_in_kb option
Updated Branches: refs/heads/cassandra-1.1.0 e05a327e2 -> d69d304c4 Remove dead sliced_buffer_size_in_kb option patch by slebresne; reviewed by jbellis for CASSANDRA-4076 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/d69d304c Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/d69d304c Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/d69d304c Branch: refs/heads/cassandra-1.1.0 Commit: d69d304c4e4788daa201539e5e8441d30bb02396 Parents: e05a327 Author: Sylvain Lebresne Authored: Fri Mar 30 16:44:24 2012 +0200 Committer: Sylvain Lebresne Committed: Fri Mar 30 16:44:24 2012 +0200 -- CHANGES.txt|1 + NEWS.txt |3 ++- conf/cassandra.yaml|4 examples/client_only/conf/cassandra.yaml |4 src/java/org/apache/cassandra/config/Config.java |2 -- .../cassandra/config/DatabaseDescriptor.java | 10 -- .../db/columniterator/SSTableNamesIterator.java|2 +- .../db/columniterator/SSTableSliceIterator.java|2 +- .../apache/cassandra/io/sstable/SSTableReader.java |2 +- .../cassandra/io/sstable/SSTableReaderTest.java|2 +- 10 files changed, 7 insertions(+), 25 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/d69d304c/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 55d17f7..9c62679 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -2,6 +2,7 @@ * 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) + * Remove sliced_buffer_size_in_kb dead option (CASSANDRA-4076) 1.1-beta2 http://git-wip-us.apache.org/repos/asf/cassandra/blob/d69d304c/NEWS.txt -- diff --git a/NEWS.txt b/NEWS.txt index a588e91..eca9e02 100644 --- a/NEWS.txt +++ b/NEWS.txt @@ -48,7 +48,8 @@ Upgrading + Prior to 1.1, you could use KEY as the primary key name in some select statements, even if the PK was actually given a different name. In 1.1+ you must use the defined PK name. - +- The sliced_buffer_size_in_kb option has been removed from the + cassandra.yaml config file (this option was a no-op since 1.0). Features http://git-wip-us.apache.org/repos/asf/cassandra/blob/d69d304c/conf/cassandra.yaml -- diff --git a/conf/cassandra.yaml b/conf/cassandra.yaml index 866319c..1874f32 100644 --- a/conf/cassandra.yaml +++ b/conf/cassandra.yaml @@ -223,10 +223,6 @@ concurrent_writes: 32 # the maximum number of secondary indexes created on a single CF. memtable_flush_queue_size: 4 -# Buffer size to use when performing contiguous column slices. -# Increase this to the size of the column slices you typically perform -sliced_buffer_size_in_kb: 64 - # Whether to, when doing sequential writing, fsync() at intervals in # order to force the operating system to flush the dirty # buffers. Enable this to avoid sudden dirty buffer flushing from http://git-wip-us.apache.org/repos/asf/cassandra/blob/d69d304c/examples/client_only/conf/cassandra.yaml -- diff --git a/examples/client_only/conf/cassandra.yaml b/examples/client_only/conf/cassandra.yaml index 2d92794..701d191 100644 --- a/examples/client_only/conf/cassandra.yaml +++ b/examples/client_only/conf/cassandra.yaml @@ -150,10 +150,6 @@ concurrent_writes: 32 # By default this will be set to the amount of data directories defined. #memtable_flush_writers: 1 -# Buffer size to use when performing contiguous column slices. -# Increase this to the size of the column slices you typically perform -sliced_buffer_size_in_kb: 64 - # TCP port, for commands and data storage_port: 7000 http://git-wip-us.apache.org/repos/asf/cassandra/blob/d69d304c/src/java/org/apache/cassandra/config/Config.java -- diff --git a/src/java/org/apache/cassandra/config/Config.java b/src/java/org/apache/cassandra/config/Config.java index 2bc34dc..91b96f1 100644 --- a/src/java/org/apache/cassandra/config/Config.java +++ b/src/java/org/apache/cassandra/config/Config.java @@ -61,8 +61,6 @@ public class Config public Integer memtable_flush_writers = null; // will get set to the length of data dirs in DatabaseDescriptor public Integer memtable_total_space_in_mb; -public Integer sliced_buffer_size_in_kb = 64; - public Intege
[jira] [Commented] (CASSANDRA-4093) schema_* CFs do not respect column comparator which leads to CLI commands failure.
[ https://issues.apache.org/jira/browse/CASSANDRA-4093?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13242388#comment-13242388 ] Sylvain Lebresne commented on CASSANDRA-4093: - bq. But you don't need to support indexing the CT column itself, to support that use case. More consistent to have a "tag" sparse column and index that instead. But my concern is for backward compatibility. Currently (with 0.8-1.0), you *cannot* support this with a tag sparse column that you index because we *don't* support indexing on a component of a CT (even 1.1 doesn't support it yet). I'm not talking of adding some new possibility that may or may not be useful. I'm saying that if someone is indexing on the CT column itself, which again is currently the *only* solution and btw wcan be done with pure thrift that we have swear not to break, then we'll completely break these users application (and as if that wasn't bad enough, they won't even have a correct replacement at the moment). > schema_* CFs do not respect column comparator which leads to CLI commands > failure. > -- > > Key: CASSANDRA-4093 > URL: https://issues.apache.org/jira/browse/CASSANDRA-4093 > Project: Cassandra > Issue Type: Bug > Components: Tools >Affects Versions: 1.1.0 >Reporter: Dave Brosius >Assignee: Sylvain Lebresne > Fix For: 1.1.0 > > Attachments: 4093.txt, CASSANDRA-4093-CD-changes.patch > > > ColumnDefinition.{ascii, utf8, bool, ...} static methods used to initialize > schema_* CFs column_metadata do not respect CF comparator and use > ByteBufferUtil.bytes(...) for column names which creates problems in CLI and > probably in other places. > The CompositeType validator throws exception on first column > String columnName = columnNameValidator.getString(columnDef.name); > Because it appears the composite type length header is wrong (25455) > AbstractCompositeType.getWithShortLength > java.lang.IllegalArgumentException > at java.nio.Buffer.limit(Buffer.java:247) > at > org.apache.cassandra.db.marshal.AbstractCompositeType.getBytes(AbstractCompositeType.java:50) > at > org.apache.cassandra.db.marshal.AbstractCompositeType.getWithShortLength(AbstractCompositeType.java:59) > at > org.apache.cassandra.db.marshal.AbstractCompositeType.getString(AbstractCompositeType.java:139) > at > org.apache.cassandra.cli.CliClient.describeColumnFamily(CliClient.java:2046) > at > org.apache.cassandra.cli.CliClient.describeKeySpace(CliClient.java:1969) > at > org.apache.cassandra.cli.CliClient.executeShowKeySpaces(CliClient.java:1574) > (seen in trunk) -- 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-4076) Remove get{Indexed,Sliced}ReadBufferSizeInKB methods
[ https://issues.apache.org/jira/browse/CASSANDRA-4076?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13242371#comment-13242371 ] Jonathan Ellis commented on CASSANDRA-4076: --- +1 > Remove get{Indexed,Sliced}ReadBufferSizeInKB methods > > > Key: CASSANDRA-4076 > URL: https://issues.apache.org/jira/browse/CASSANDRA-4076 > Project: Cassandra > Issue Type: Improvement > Components: Core >Affects Versions: 1.0.0 >Reporter: Sylvain Lebresne >Priority: Trivial > Fix For: 1.1.0 > > Attachments: 4076.txt > > > Since CASSANDRA-3171, the > DatabaseDescriptor.get{Indexed,Sliced}ReadBufferSizeInKB methods are dead > code (they are used as bufferSize argument to SSTableReader.getFileDataInput > but that method ignore the argument). This means in particular that we can > remove the configuration option sliced_buffer_size_in_kb (we shouldn't do > that in 1.0 which is why I targeted to 1.1.0, though we could add a message > in 1.0 that this argument is ignored). -- 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-3758) parallel compaction hang (on large rows?)
[ https://issues.apache.org/jira/browse/CASSANDRA-3758?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13242372#comment-13242372 ] Sylvain Lebresne commented on CASSANDRA-3758: - bq. I assume they are using a version from before CASSANDRA-3711. I remembered we had something like that but wasn't able to find the issue. You're probably right they ran into this, and maybe that happen to have something to do with the hanging too (even though the lack of any error is kind of weird). I've committed the total bytes count fix. I wonder if we should try to close this one on the idea that it would be a consequence of CASSANDRA-3711 and just let someone reopen if he can reproduce with 1.0.7+ ? > parallel compaction hang (on large rows?) > - > > Key: CASSANDRA-3758 > URL: https://issues.apache.org/jira/browse/CASSANDRA-3758 > Project: Cassandra > Issue Type: Bug > Components: Core >Reporter: Jackson Chung >Assignee: Sylvain Lebresne > Labels: compaction, datastax_qa > Fix For: 1.0.9 > > Attachments: > 0001-Fix-totalBytes-count-for-ParallelCompactionIterable.txt, > cassandra.log.zip > > > it is observed that: > nodetool -h 127.0.0.1 -p 8080 compactionstats > pending tasks: 1 > compaction type keyspace column family bytes compacted bytes total progress > Compaction SyncCoreComputedContactNetworks 119739938 0 n/a > and that is not moving (ie the bytes compacted never increase, the bytes > total stay 0). > this is probably going to be difficult to reproduce, as the problem is > observed when compacting 15 large sstables (total ~300G). > attaching the thread dumps (along with logs), when such happen. -- 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: Fix total bytes count for parallel compaction
Updated Branches: refs/heads/cassandra-1.0 7326ba887 -> 3931ee709 Fix total bytes count for parallel compaction patch by slebresne; reviewed by jbellis for CASSANDRA-3758 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/3931ee70 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/3931ee70 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/3931ee70 Branch: refs/heads/cassandra-1.0 Commit: 3931ee709da29d3b9d9c28b8d0ef34cfdb357c1c Parents: 7326ba8 Author: Sylvain Lebresne Authored: Fri Mar 30 16:19:27 2012 +0200 Committer: Sylvain Lebresne Committed: Fri Mar 30 16:19:27 2012 +0200 -- CHANGES.txt|1 + .../db/compaction/AbstractCompactionIterable.java | 13 +++-- .../db/compaction/CompactionIterable.java |7 +-- .../db/compaction/ParallelCompactionIterable.java |4 +--- 4 files changed, 14 insertions(+), 11 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/3931ee70/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 3316e87..438bc91 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -15,6 +15,7 @@ tasks and upgradesstables (CASSANDRA-3985) * fix NPE on invalid CQL delete command (CASSANDRA-3755) * allow custom types in CLI's assume command (CASSANDRA-4081) + * Fix totalBytes count for parallel compactions (CASSANDRA-3758) 1.0.8 http://git-wip-us.apache.org/repos/asf/cassandra/blob/3931ee70/src/java/org/apache/cassandra/db/compaction/AbstractCompactionIterable.java -- diff --git a/src/java/org/apache/cassandra/db/compaction/AbstractCompactionIterable.java b/src/java/org/apache/cassandra/db/compaction/AbstractCompactionIterable.java index 53b1ba9..3182219 100644 --- a/src/java/org/apache/cassandra/db/compaction/AbstractCompactionIterable.java +++ b/src/java/org/apache/cassandra/db/compaction/AbstractCompactionIterable.java @@ -41,15 +41,24 @@ public abstract class AbstractCompactionIterable implements Iterable scanners; protected final Throttle throttle; -public AbstractCompactionIterable(CompactionController controller, OperationType type) +public AbstractCompactionIterable(CompactionController controller, OperationType type, List scanners) { this.controller = controller; this.type = type; +this.scanners = scanners; +this.bytesRead = 0; + +long bytes = 0; +for (SSTableScanner scanner : scanners) +bytes += scanner.getFileLength(); +this.totalBytes = bytes; + this.throttle = new Throttle(toString(), new Throttle.ThroughputFunction() { /** @return Instantaneous throughput target in bytes per millisecond. */ http://git-wip-us.apache.org/repos/asf/cassandra/blob/3931ee70/src/java/org/apache/cassandra/db/compaction/CompactionIterable.java -- diff --git a/src/java/org/apache/cassandra/db/compaction/CompactionIterable.java b/src/java/org/apache/cassandra/db/compaction/CompactionIterable.java index 5e0dfa7..65e4b54 100644 --- a/src/java/org/apache/cassandra/db/compaction/CompactionIterable.java +++ b/src/java/org/apache/cassandra/db/compaction/CompactionIterable.java @@ -41,7 +41,6 @@ public class CompactionIterable extends AbstractCompactionIterable private static Logger logger = LoggerFactory.getLogger(CompactionIterable.class); private long row; -private final List scanners; private static final Comparator comparator = new Comparator() { @@ -58,12 +57,8 @@ public class CompactionIterable extends AbstractCompactionIterable protected CompactionIterable(OperationType type, List scanners, CompactionController controller) { -super(controller, type); -this.scanners = scanners; +super(controller, type, scanners); row = 0; -totalBytes = bytesRead = 0; -for (SSTableScanner scanner : scanners) -totalBytes += scanner.getFileLength(); } protected static List getScanners(Iterable sstables) throws IOException http://git-wip-us.apache.org/repos/asf/cassandra/blob/3931ee70/src/java/org/apache/cassandra/db/compaction/ParallelCompactionIterable.java -- diff --git a/src/java/org/apache/cassandra/db/compaction/ParallelCompactionIterable.java b/src/java/org/apache/cassandra/db/compaction/ParallelCompactionIterable.java index dba8f55..52f81e0 100644 --- a/src/java/org/apache/cassandra/db/compaction/ParallelCompactionIterable.java +++ b/src/java/org/apache/cassandra/d
[jira] [Commented] (CASSANDRA-4093) schema_* CFs do not respect column comparator which leads to CLI commands failure.
[ https://issues.apache.org/jira/browse/CASSANDRA-4093?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13242367#comment-13242367 ] Jonathan Ellis commented on CASSANDRA-4093: --- bq. we agreed on CASSANDRA-3782 that it could sometimes be usefull to index a specific column in a wide row as a way of 'tagging' such wide rows But you don't need to support indexing the CT column itself, to support that use case. More consistent to have a "tag" sparse column and index that instead. bq. really adding new and useful flexibility New, yes; useful? dubious. We've barely educated people on CQL3 wide rows as it is, now is not a good time to complicate things further. Let's take an incremental approach and add such things in response to user demand, should it materialize, instead of adding features "because we can." > schema_* CFs do not respect column comparator which leads to CLI commands > failure. > -- > > Key: CASSANDRA-4093 > URL: https://issues.apache.org/jira/browse/CASSANDRA-4093 > Project: Cassandra > Issue Type: Bug > Components: Tools >Affects Versions: 1.1.0 >Reporter: Dave Brosius >Assignee: Sylvain Lebresne > Fix For: 1.1.0 > > Attachments: 4093.txt, CASSANDRA-4093-CD-changes.patch > > > ColumnDefinition.{ascii, utf8, bool, ...} static methods used to initialize > schema_* CFs column_metadata do not respect CF comparator and use > ByteBufferUtil.bytes(...) for column names which creates problems in CLI and > probably in other places. > The CompositeType validator throws exception on first column > String columnName = columnNameValidator.getString(columnDef.name); > Because it appears the composite type length header is wrong (25455) > AbstractCompositeType.getWithShortLength > java.lang.IllegalArgumentException > at java.nio.Buffer.limit(Buffer.java:247) > at > org.apache.cassandra.db.marshal.AbstractCompositeType.getBytes(AbstractCompositeType.java:50) > at > org.apache.cassandra.db.marshal.AbstractCompositeType.getWithShortLength(AbstractCompositeType.java:59) > at > org.apache.cassandra.db.marshal.AbstractCompositeType.getString(AbstractCompositeType.java:139) > at > org.apache.cassandra.cli.CliClient.describeColumnFamily(CliClient.java:2046) > at > org.apache.cassandra.cli.CliClient.describeKeySpace(CliClient.java:1969) > at > org.apache.cassandra.cli.CliClient.executeShowKeySpaces(CliClient.java:1574) > (seen in trunk) -- 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-4076) Remove get{Indexed,Sliced}ReadBufferSizeInKB methods
[ https://issues.apache.org/jira/browse/CASSANDRA-4076?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Sylvain Lebresne updated CASSANDRA-4076: Attachment: 4076.txt Trivial patch attached. I'd like to get that in 1.1.0 just before this remove a (useless) option from the cassandra.yaml file and I want to avoid doing that on a minor release. Besides, this really just remove dead code. > Remove get{Indexed,Sliced}ReadBufferSizeInKB methods > > > Key: CASSANDRA-4076 > URL: https://issues.apache.org/jira/browse/CASSANDRA-4076 > Project: Cassandra > Issue Type: Improvement > Components: Core >Affects Versions: 1.0.0 >Reporter: Sylvain Lebresne >Priority: Trivial > Fix For: 1.1.0 > > Attachments: 4076.txt > > > Since CASSANDRA-3171, the > DatabaseDescriptor.get{Indexed,Sliced}ReadBufferSizeInKB methods are dead > code (they are used as bufferSize argument to SSTableReader.getFileDataInput > but that method ignore the argument). This means in particular that we can > remove the configuration option sliced_buffer_size_in_kb (we shouldn't do > that in 1.0 which is why I targeted to 1.1.0, though we could add a message > in 1.0 that this argument is ignored). -- 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-3758) parallel compaction hang (on large rows?)
[ https://issues.apache.org/jira/browse/CASSANDRA-3758?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13242362#comment-13242362 ] Jonathan Ellis commented on CASSANDRA-3758: --- bq. there seems to be tons of CompactionReducer threads, coming for lots of different ParallelCompactionIterable, which would suggest we don't shutdown the executor of CompactionReducer correctly. But I don't see why that would happen I assume they are using a version from before CASSANDRA-3711. bq. attaching a patch to fix that problem +1 > parallel compaction hang (on large rows?) > - > > Key: CASSANDRA-3758 > URL: https://issues.apache.org/jira/browse/CASSANDRA-3758 > Project: Cassandra > Issue Type: Bug > Components: Core >Reporter: Jackson Chung >Assignee: Sylvain Lebresne > Labels: compaction, datastax_qa > Fix For: 1.0.9 > > Attachments: > 0001-Fix-totalBytes-count-for-ParallelCompactionIterable.txt, > cassandra.log.zip > > > it is observed that: > nodetool -h 127.0.0.1 -p 8080 compactionstats > pending tasks: 1 > compaction type keyspace column family bytes compacted bytes total progress > Compaction SyncCoreComputedContactNetworks 119739938 0 n/a > and that is not moving (ie the bytes compacted never increase, the bytes > total stay 0). > this is probably going to be difficult to reproduce, as the problem is > observed when compacting 15 large sstables (total ~300G). > attaching the thread dumps (along with logs), when such happen. -- 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-4095) Internal error processing get_slice (NullPointerException)
[ https://issues.apache.org/jira/browse/CASSANDRA-4095?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13242359#comment-13242359 ] Jonathan Ellis commented on CASSANDRA-4095: --- I wrote the patch against 1.1, which already has that method. Sorry for not being clear. > Internal error processing get_slice (NullPointerException) > -- > > Key: CASSANDRA-4095 > URL: https://issues.apache.org/jira/browse/CASSANDRA-4095 > Project: Cassandra > Issue Type: Bug > Components: Core >Affects Versions: 1.0.2 > Environment: Java(TM) SE Runtime Environment (build 1.6.0_30-b12) >Reporter: John Laban >Assignee: Jonathan Ellis >Priority: Minor > Fix For: 1.0.9, 1.1.0 > > Attachments: 4095.txt, 4095_v2.txt > > > I get this pretty regularly. It seems to happen transiently on multiple > nodes in my cluster, every so often, and goes away. > ERROR [Thrift:45] 2012-03-26 19:59:12,024 Cassandra.java (line 3041) Internal > error processing get_slice > java.lang.NullPointerException > at > org.apache.cassandra.db.SliceFromReadCommand.maybeGenerateRetryCommand(SliceFromReadCommand.java:76) > at > org.apache.cassandra.service.StorageProxy.fetchRows(StorageProxy.java:724) > at > org.apache.cassandra.service.StorageProxy.read(StorageProxy.java:564) > at > org.apache.cassandra.thrift.CassandraServer.readColumnFamily(CassandraServer.java:128) > at > org.apache.cassandra.thrift.CassandraServer.getSlice(CassandraServer.java:283) > at > org.apache.cassandra.thrift.CassandraServer.multigetSliceInternal(CassandraServer.java:365) > at > org.apache.cassandra.thrift.CassandraServer.get_slice(CassandraServer.java:326) > at > org.apache.cassandra.thrift.Cassandra$Processor$get_slice.process(Cassandra.java:3033) > at > org.apache.cassandra.thrift.Cassandra$Processor.process(Cassandra.java:2889) > at > org.apache.cassandra.thrift.CustomTThreadPoolServer$WorkerProcess.run(CustomTThreadPoolServer.java:187) > 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) > The line in question is (I think) the one below, so it looks like the column > family reference for a row can sometimes be null? > int liveColumnsInRow = row != null ? row.cf.getLiveColumnCount() : 0; > Here is my column family (on 1.0.8): > ColumnFamily: WorkQueue (Super) > Key Validation Class: org.apache.cassandra.db.marshal.UTF8Type > Default column value validator: org.apache.cassandra.db.marshal.UTF8Type > Columns sorted by: > org.apache.cassandra.db.marshal.UTF8Type/org.apache.cassandra.db.marshal.UTF8Type > Row cache size / save period in seconds / keys to save : 0.0/0/all > Row Cache Provider: > org.apache.cassandra.cache.ConcurrentLinkedHashCacheProvider > Key cache size / save period in seconds: 0.0/0 > GC grace seconds: 0 > Compaction min/max thresholds: 4/32 > Read repair chance: 0.0 > Replicate on write: false > Bloom Filter FP chance: default > Built indexes: [] > Compaction Strategy: > org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy -- 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-4088) Respect 1.0 cache settings as much as possible when upgrading
[ https://issues.apache.org/jira/browse/CASSANDRA-4088?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Pavel Yaskevich updated CASSANDRA-4088: --- Attachment: CASSANDRA-4088.patch > Respect 1.0 cache settings as much as possible when upgrading > - > > Key: CASSANDRA-4088 > URL: https://issues.apache.org/jira/browse/CASSANDRA-4088 > Project: Cassandra > Issue Type: Improvement >Affects Versions: 1.1.0 >Reporter: Jonathan Ellis >Assignee: Pavel Yaskevich > Fix For: 1.1.0 > > Attachments: CASSANDRA-4088.patch > > > When converting a 1.0 schema to 1.1, we should look at the key and row caches > (just whether they are en- or dis-abled) and set the caching setting > accordingly. I think right now upgrading means all your row caching is gone > until you update it manually. -- 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