[jira] [Resolved] (CASSANDRA-7129) Consider allowing clients to make the Paging State available to users

2014-11-03 Thread Sylvain Lebresne (JIRA)

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

Sylvain Lebresne resolved CASSANDRA-7129.
-
Resolution: Invalid

As far as the native protocol is concerned, the paging state is some bytes that 
the driver should return to continue paging as is (you definitively should not 
try to decode those bytes in one way or another if you don't want trouble for 
sure). This is not extremely different from say the prepared statement ID in 
that respect. What the drivers want to do with the paging state is their 
business and I don't see what more we can do.

 Consider allowing clients to make the Paging State available to users
 -

 Key: CASSANDRA-7129
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7129
 Project: Cassandra
  Issue Type: Improvement
  Components: API
Reporter: Michaël Figuière

 This is a follow up to a ticket that has been opened on the DataStax Java 
 Driver JIRA (https://datastax-oss.atlassian.net/browse/JAVA-323).
 Currently the Paging State is described as an internal data structure that 
 might change in any upcoming version. As a consequence it isn't safe to make 
 it available to users of the Cassandra Drivers.
 It would be and interesting feature to work on making Cassandra safe against 
 all the situation that might happen after unleashing paging states in the 
 wild on the client side: they could end up being included in some web 
 cookies, allowing malicious users to forge some, we might also have some 
 compatibility issues as some paging states might come back to Cassandra after 
 an upgrade of the cluster,...
 If the discussion in this ticket turns out to conclude that the paging state 
 SHOULD NOT be made available to users, at least it will be a clarification of 
 something that was mostly implicit (AFAIK) so far.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (CASSANDRA-8229) Aggregate functions do not return expected values or metadata

2014-11-03 Thread Benjamin Lerer (JIRA)

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

Benjamin Lerer updated CASSANDRA-8229:
--
Attachment: CASSANDRA-8229-V2.txt

 Aggregate functions do not return expected values or metadata
 -

 Key: CASSANDRA-8229
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8229
 Project: Cassandra
  Issue Type: Bug
Reporter: Benjamin Lerer
Assignee: Benjamin Lerer
 Fix For: 3.0

 Attachments: CASSANDRA-8229-V2.txt, CASSANDRA-8229.txt


 Aggregrate functions do not behave as expected on the following points:
 * If no row is selected the resultset returned is empty whereas in the case 
 of aggregates it should returns some default values (e.g. {{SELECT count(*) 
 ...}} should return 0 if no row is returned).
 * The column name returned for {{max(a)}} when a is an int is {{max(int - 
 int)}} and should be {{max(a)}} if no alias is used.
 * When used with limit the value returned is not always the expected one. It 
 sometimes include an extra row.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-8225) Production-capable COPY FROM

2014-11-03 Thread Tupshin Harper (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8225?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14194640#comment-14194640
 ] 

Tupshin Harper commented on CASSANDRA-8225:
---

fwiw, i agree wholeheartedly with sylvain. the cqlsh-based approach (executing 
python code) is a dead end for getting decent performance out of bulk loading.

 Production-capable COPY FROM
 

 Key: CASSANDRA-8225
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8225
 Project: Cassandra
  Issue Type: New Feature
  Components: Tools
Reporter: Jonathan Ellis
 Fix For: 2.1.2


 Via [~schumacr],
 bq. I pulled down a sourceforge data generator and created a moc file of 
 500,000 rows that had an incrementing sequence number, date, and SSN. I then 
 used our COPY command and MySQL's LOAD DATA INFILE to load the file on my 
 Mac. Results were: 
 {noformat}
 mysql load data infile '/Users/robin/dev/datagen3.txt'  into table p_test  
 fields terminated by ',';
 Query OK, 50 rows affected (2.18 sec)
 {noformat}
 C* 2.1.0 (pre-CASSANDRA-7405)
 {noformat}
 cqlsh:dev copy p_test from '/Users/robin/dev/datagen3.txt' with 
 delimiter=',';
 50 rows imported in 16 minutes and 45.485 seconds.
 {noformat}
 Cassandra 2.1.1:
 {noformat}
 cqlsh:dev copy p_test from '/Users/robin/dev/datagen3.txt' with 
 delimiter=',';
 Processed 50 rows; Write: 4037.46 rows/s
 50 rows imported in 2 minutes and 3.058 seconds.
 {noformat}
 [jbellis] 7405 gets us almost an order of magnitude improvement.  
 Unfortunately we're still almost 2 orders slower than mysql.
 I don't think we can continue to tell people, use sstableloader instead.  
 The number of users sophisticated enough to use the sstable writers is small 
 and (relatively) decreasing as our user base expands.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-8225) Production-capable COPY FROM

2014-11-03 Thread Aleksey Yeschenko (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8225?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14194654#comment-14194654
 ] 

Aleksey Yeschenko commented on CASSANDRA-8225:
--

So is simplistic CVS-loader, even if made fast. It's not where most of the 
imported data (in huge amounts, where 10x improved 2.1 COPY FROM doesn't cut 
it) is coming from, and a wrong place to focus our effort.

The only reason I'm okay with improving it with using batches+prepared+multiple 
processes is that this stuff is very LHF.

What we *should* go after is data loading directly via JDBC (and from C* itself 
- to cover CASSANDRA-8234 as well). Maybe an importer for mangodb, too. 
Something like Sqoop, but tailored for C*, and flexible enough to support 
denormalization out of the box. Maybe distributed, and based on Spark, maybe 
not.

Writing a faster csvloader in Java IMO is just a waste of our time, compared to 
that.

 Production-capable COPY FROM
 

 Key: CASSANDRA-8225
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8225
 Project: Cassandra
  Issue Type: New Feature
  Components: Tools
Reporter: Jonathan Ellis
 Fix For: 2.1.2


 Via [~schumacr],
 bq. I pulled down a sourceforge data generator and created a moc file of 
 500,000 rows that had an incrementing sequence number, date, and SSN. I then 
 used our COPY command and MySQL's LOAD DATA INFILE to load the file on my 
 Mac. Results were: 
 {noformat}
 mysql load data infile '/Users/robin/dev/datagen3.txt'  into table p_test  
 fields terminated by ',';
 Query OK, 50 rows affected (2.18 sec)
 {noformat}
 C* 2.1.0 (pre-CASSANDRA-7405)
 {noformat}
 cqlsh:dev copy p_test from '/Users/robin/dev/datagen3.txt' with 
 delimiter=',';
 50 rows imported in 16 minutes and 45.485 seconds.
 {noformat}
 Cassandra 2.1.1:
 {noformat}
 cqlsh:dev copy p_test from '/Users/robin/dev/datagen3.txt' with 
 delimiter=',';
 Processed 50 rows; Write: 4037.46 rows/s
 50 rows imported in 2 minutes and 3.058 seconds.
 {noformat}
 [jbellis] 7405 gets us almost an order of magnitude improvement.  
 Unfortunately we're still almost 2 orders slower than mysql.
 I don't think we can continue to tell people, use sstableloader instead.  
 The number of users sophisticated enough to use the sstable writers is small 
 and (relatively) decreasing as our user base expands.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


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

2014-11-03 Thread marcuse
Merge branch 'cassandra-2.1' into trunk

Conflicts:
src/java/org/apache/cassandra/db/compaction/CompactionManager.java
src/java/org/apache/cassandra/db/compaction/Upgrader.java
src/java/org/apache/cassandra/io/sstable/SSTableRewriter.java
test/unit/org/apache/cassandra/db/compaction/AntiCompactionTest.java


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

Branch: refs/heads/trunk
Commit: 0f59629ce280ba2a74d65a7719dde7cf79923f05
Parents: e60a06c 5160c91
Author: Marcus Eriksson marc...@apache.org
Authored: Mon Nov 3 17:02:10 2014 +0100
Committer: Marcus Eriksson marc...@apache.org
Committed: Mon Nov 3 17:02:10 2014 +0100

--
 CHANGES.txt |   2 +
 .../org/apache/cassandra/db/DataTracker.java| 109 ++--
 .../db/compaction/CompactionManager.java|  29 +-
 .../cassandra/db/compaction/CompactionTask.java |   7 +-
 .../cassandra/db/compaction/Scrubber.java   |  12 +-
 .../cassandra/db/compaction/Upgrader.java   |  31 +-
 .../io/sstable/IndexSummaryManager.java |   2 +-
 .../cassandra/io/sstable/SSTableRewriter.java   | 160 +++---
 .../io/sstable/format/SSTableReader.java|   6 +
 .../db/compaction/AntiCompactionTest.java   |  42 +-
 .../io/sstable/IndexSummaryManagerTest.java |   2 +-
 .../cassandra/io/sstable/SSTableReaderTest.java |   2 +-
 .../io/sstable/SSTableRewriterTest.java | 504 +++
 13 files changed, 755 insertions(+), 153 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/0f59629c/CHANGES.txt
--
diff --cc CHANGES.txt
index 3a8ada2,32083cc..9754110
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,37 -1,6 +1,39 @@@
 +3.0
 + * Mark sstables as repaired after full repair (CASSANDRA-7586) 
 + * Extend Descriptor to include a format value and refactor reader/writer 
apis (CASSANDRA-7443)
 + * Integrate JMH for microbenchmarks (CASSANDRA-8151)
 + * Keep sstable levels when bootstrapping (CASSANDRA-7460)
 + * Add Sigar library and perform basic OS settings check on startup 
(CASSANDRA-7838)
 + * Support for aggregation functions (CASSANDRA-4914)
 + * Remove cassandra-cli (CASSANDRA-7920)
 + * Accept dollar quoted strings in CQL (CASSANDRA-7769)
 + * Make assassinate a first class command (CASSANDRA-7935)
 + * Support IN clause on any clustering column (CASSANDRA-4762)
 + * Improve compaction logging (CASSANDRA-7818)
 + * Remove YamlFileNetworkTopologySnitch (CASSANDRA-7917)
 + * Do anticompaction in groups (CASSANDRA-6851)
 + * Support pure user-defined functions (CASSANDRA-7395, 7526, 7562, 7740, 
7781, 7929,
 +   7924, 7812, 8063)
 + * Permit configurable timestamps with cassandra-stress (CASSANDRA-7416)
 + * Move sstable RandomAccessReader to nio2, which allows using the
 +   FILE_SHARE_DELETE flag on Windows (CASSANDRA-4050)
 + * Remove CQL2 (CASSANDRA-5918)
 + * Add Thrift get_multi_slice call (CASSANDRA-6757)
 + * Optimize fetching multiple cells by name (CASSANDRA-6933)
 + * Allow compilation in java 8 (CASSANDRA-7028)
 + * Make incremental repair default (CASSANDRA-7250)
 + * Enable code coverage thru JaCoCo (CASSANDRA-7226)
 + * Switch external naming of 'column families' to 'tables' (CASSANDRA-4369) 
 + * Shorten SSTable path (CASSANDRA-6962)
 + * Use unsafe mutations for most unit tests (CASSANDRA-6969)
 + * Fix race condition during calculation of pending ranges (CASSANDRA-7390)
 + * Fail on very large batch sizes (CASSANDRA-8011)
 + * improve concurrency of repair (CASSANDRA-6455)
 +
 +
  2.1.2
+  * Refactor how we track live size (CASSANDRA-7852)
+  * Make sure unfinished compaction files are removed (CASSANDRA-8124)
   * Fix shutdown when run as Windows service (CASSANDRA-8136)
   * Fix DESCRIBE TABLE with custom indexes (CASSANDRA-8031)
   * Fix race in RecoveryManagerTest (CASSANDRA-8176)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/0f59629c/src/java/org/apache/cassandra/db/DataTracker.java
--

http://git-wip-us.apache.org/repos/asf/cassandra/blob/0f59629c/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
--
diff --cc src/java/org/apache/cassandra/db/compaction/CompactionManager.java
index 3ee36cd,84c3cb5..cccb7f9
--- a/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
+++ b/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
@@@ -1045,76 -987,63 +1046,78 @@@ public class CompactionManager implemen
  if (!new 

[1/5] git commit: Make sure unfinished compaction files are removed.

2014-11-03 Thread marcuse
Repository: cassandra
Updated Branches:
  refs/heads/trunk e60a06cc8 - 0f59629ce


Make sure unfinished compaction files are removed.

Patch by marcuse; reviewed by yukim for CASSANDRA-8124


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

Branch: refs/heads/trunk
Commit: 9c316e7858f6dbf9df892aff78431044aa104ed9
Parents: d230922
Author: Marcus Eriksson marc...@apache.org
Authored: Fri Oct 17 14:15:46 2014 +0200
Committer: Marcus Eriksson marc...@apache.org
Committed: Mon Nov 3 16:17:01 2014 +0100

--
 CHANGES.txt |   1 +
 .../cassandra/io/sstable/SSTableReader.java |   6 +
 .../cassandra/io/sstable/SSTableRewriter.java   |  90 +++-
 .../io/sstable/SSTableRewriterTest.java | 473 +++
 4 files changed, 555 insertions(+), 15 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/9c316e78/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 494fb93..681d616 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.1.2
+ * Make sure unfinished compaction files are removed (CASSANDRA-8124)
  * Fix shutdown when run as Windows service (CASSANDRA-8136)
  * Fix DESCRIBE TABLE with custom indexes (CASSANDRA-8031)
  * Fix race in RecoveryManagerTest (CASSANDRA-8176)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/9c316e78/src/java/org/apache/cassandra/io/sstable/SSTableReader.java
--
diff --git a/src/java/org/apache/cassandra/io/sstable/SSTableReader.java 
b/src/java/org/apache/cassandra/io/sstable/SSTableReader.java
index 872f7df..40e708d 100644
--- a/src/java/org/apache/cassandra/io/sstable/SSTableReader.java
+++ b/src/java/org/apache/cassandra/io/sstable/SSTableReader.java
@@ -1599,6 +1599,12 @@ public class SSTableReader extends SSTable
 }
 }
 
+@VisibleForTesting
+int referenceCount()
+{
+return references.get();
+}
+
 /**
  * Release reference to this SSTableReader.
  * If there is no one referring to this SSTable, and is marked as 
compacted,

http://git-wip-us.apache.org/repos/asf/cassandra/blob/9c316e78/src/java/org/apache/cassandra/io/sstable/SSTableRewriter.java
--
diff --git a/src/java/org/apache/cassandra/io/sstable/SSTableRewriter.java 
b/src/java/org/apache/cassandra/io/sstable/SSTableRewriter.java
index 76677ac..2c9fe7e 100644
--- a/src/java/org/apache/cassandra/io/sstable/SSTableRewriter.java
+++ b/src/java/org/apache/cassandra/io/sstable/SSTableRewriter.java
@@ -25,8 +25,10 @@ import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
+import com.google.common.annotations.VisibleForTesting;
 import com.google.common.base.Function;
 import com.google.common.base.Functions;
+import com.google.common.collect.Lists;
 
 import org.apache.cassandra.config.DatabaseDescriptor;
 import org.apache.cassandra.db.ColumnFamilyStore;
@@ -37,6 +39,7 @@ import 
org.apache.cassandra.db.compaction.AbstractCompactedRow;
 import org.apache.cassandra.db.compaction.OperationType;
 import org.apache.cassandra.utils.CLibrary;
 import org.apache.cassandra.utils.FBUtilities;
+import org.apache.cassandra.utils.Pair;
 
 /**
  * Wraps one or more writers as output for rewriting one or more readers: 
every sstable_preemptive_open_interval_in_mb
@@ -55,8 +58,7 @@ import org.apache.cassandra.utils.FBUtilities;
  */
 public class SSTableRewriter
 {
-
-private static final long preemptiveOpenInterval;
+private static long preemptiveOpenInterval;
 static
 {
 long interval = 
DatabaseDescriptor.getSSTablePreempiveOpenIntervalInMB() * (1L  20);
@@ -65,6 +67,14 @@ public class SSTableRewriter
 preemptiveOpenInterval = interval;
 }
 
+private boolean isFinished = false;
+
+@VisibleForTesting
+static void overrideOpenInterval(long size)
+{
+preemptiveOpenInterval = size;
+}
+
 private final DataTracker dataTracker;
 private final ColumnFamilyStore cfs;
 
@@ -77,6 +87,8 @@ public class SSTableRewriter
 private long currentlyOpenedEarlyAt; // the position (in MB) in the target 
file we last (re)opened at
 
 private final ListSSTableReader finished = new ArrayList(); // the 
resultant sstables
+private final ListSSTableReader finishedOpenedEarly = new ArrayList(); 
// the 'finished' tmplink sstables
+private final ListPairSSTableWriter, SSTableReader finishedWriters = 
new ArrayList();
 private final OperationType rewriteType; // the type 

[4/5] Merge branch 'cassandra-2.1' into trunk

2014-11-03 Thread marcuse
http://git-wip-us.apache.org/repos/asf/cassandra/blob/0f59629c/src/java/org/apache/cassandra/io/sstable/format/SSTableReader.java
--
diff --cc src/java/org/apache/cassandra/io/sstable/format/SSTableReader.java
index c3062f7,000..7d4b8f3
mode 100644,00..100644
--- a/src/java/org/apache/cassandra/io/sstable/format/SSTableReader.java
+++ b/src/java/org/apache/cassandra/io/sstable/format/SSTableReader.java
@@@ -1,1881 -1,0 +1,1887 @@@
 +package org.apache.cassandra.io.sstable.format;
 +
 +/*
 + * Licensed to the Apache Software Foundation (ASF) under one
 + * or more contributor license agreements.  See the NOTICE file
 + * distributed with this work for additional information
 + * regarding copyright ownership.  The ASF licenses this file
 + * to you under the Apache License, Version 2.0 (the
 + * License); you may not use this file except in compliance
 + * with the License.  You may obtain a copy of the License at
 + *
 + * http://www.apache.org/licenses/LICENSE-2.0
 + *
 + * Unless required by applicable law or agreed to in writing, software
 + * distributed under the License is distributed on an AS IS BASIS,
 + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 + * See the License for the specific language governing permissions and
 + * limitations under the License.
 + */
 +
 +import com.clearspring.analytics.stream.cardinality.CardinalityMergeException;
 +import com.clearspring.analytics.stream.cardinality.ICardinality;
 +import com.google.common.annotations.VisibleForTesting;
 +import com.google.common.base.Predicate;
 +import com.google.common.collect.Iterators;
 +import com.google.common.collect.Ordering;
 +import com.google.common.primitives.Longs;
 +import com.google.common.util.concurrent.RateLimiter;
 +import org.apache.cassandra.cache.CachingOptions;
 +import org.apache.cassandra.cache.InstrumentingCache;
 +import org.apache.cassandra.cache.KeyCacheKey;
 +import org.apache.cassandra.concurrent.DebuggableThreadPoolExecutor;
 +import org.apache.cassandra.config.*;
 +import org.apache.cassandra.db.*;
 +import org.apache.cassandra.db.columniterator.OnDiskAtomIterator;
 +import org.apache.cassandra.db.commitlog.ReplayPosition;
 +import org.apache.cassandra.db.compaction.ICompactionScanner;
 +import org.apache.cassandra.db.composites.CellName;
 +import org.apache.cassandra.db.filter.ColumnSlice;
 +import org.apache.cassandra.db.index.SecondaryIndex;
 +import org.apache.cassandra.dht.*;
 +import org.apache.cassandra.io.compress.CompressedRandomAccessReader;
 +import org.apache.cassandra.io.compress.CompressedThrottledReader;
 +import org.apache.cassandra.io.compress.CompressionMetadata;
 +import org.apache.cassandra.io.sstable.*;
 +import org.apache.cassandra.io.sstable.metadata.*;
 +import org.apache.cassandra.io.util.*;
 +import org.apache.cassandra.metrics.RestorableMeter;
 +import org.apache.cassandra.metrics.StorageMetrics;
 +import org.apache.cassandra.service.ActiveRepairService;
 +import org.apache.cassandra.service.CacheService;
 +import org.apache.cassandra.service.StorageService;
 +import org.apache.cassandra.utils.*;
 +import org.apache.cassandra.utils.concurrent.OpOrder;
 +import org.slf4j.Logger;
 +import org.slf4j.LoggerFactory;
 +
 +import java.io.*;
 +import java.nio.ByteBuffer;
 +import java.util.*;
 +import java.util.concurrent.*;
 +import java.util.concurrent.atomic.AtomicBoolean;
 +import java.util.concurrent.atomic.AtomicInteger;
 +import java.util.concurrent.atomic.AtomicLong;
 +
 +import static 
org.apache.cassandra.db.Directories.SECONDARY_INDEX_NAME_SEPARATOR;
 +
 +
 +/**
 + * SSTableReaders are open()ed by Keyspace.onStart; after that they are 
created by SSTableWriter.renameAndOpen.
 + * Do not re-call open() on existing SSTable files; use the references kept 
by ColumnFamilyStore post-start instead.
 + */
 +public abstract class SSTableReader extends SSTable
 +{
 +private static final Logger logger = 
LoggerFactory.getLogger(SSTableReader.class);
 +
 +private static final ScheduledThreadPoolExecutor syncExecutor = new 
ScheduledThreadPoolExecutor(1);
 +private static final RateLimiter meterSyncThrottle = 
RateLimiter.create(100.0);
 +
 +public static final ComparatorSSTableReader maxTimestampComparator = 
new ComparatorSSTableReader()
 +{
 +public int compare(SSTableReader o1, SSTableReader o2)
 +{
 +long ts1 = o1.getMaxTimestamp();
 +long ts2 = o2.getMaxTimestamp();
 +return (ts1  ts2 ? -1 : (ts1 == ts2 ? 0 : 1));
 +}
 +};
 +
 +public static final ComparatorSSTableReader sstableComparator = new 
ComparatorSSTableReader()
 +{
 +public int compare(SSTableReader o1, SSTableReader o2)
 +{
 +return o1.first.compareTo(o2.first);
 +}
 +};
 +
 +public static final OrderingSSTableReader sstableOrdering = 
Ordering.from(sstableComparator);
 +
 + 

[2/2] git commit: Refactor how we track live size

2014-11-03 Thread marcuse
Refactor how we track live size

Patch by marcuse; reviewed by yukim for CASSANDRA-7852


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

Branch: refs/heads/cassandra-2.1
Commit: 5160c916c90886f69023ddba0078a624e5cf202d
Parents: 9c316e7
Author: Marcus Eriksson marc...@apache.org
Authored: Fri Oct 17 14:15:46 2014 +0200
Committer: Marcus Eriksson marc...@apache.org
Committed: Mon Nov 3 16:39:19 2014 +0100

--
 CHANGES.txt |   1 +
 .../org/apache/cassandra/db/DataTracker.java| 109 ---
 .../db/compaction/CompactionManager.java|  26 ++---
 .../cassandra/db/compaction/CompactionTask.java |   7 +-
 .../cassandra/db/compaction/Scrubber.java   |  12 +-
 .../cassandra/db/compaction/Upgrader.java   |  31 +++---
 .../io/sstable/IndexSummaryManager.java |   2 +-
 .../cassandra/io/sstable/SSTableRewriter.java   |  90 ---
 .../db/compaction/AntiCompactionTest.java   |  48 +++-
 .../io/sstable/IndexSummaryManagerTest.java |   2 +-
 .../cassandra/io/sstable/SSTableReaderTest.java |   2 +-
 .../io/sstable/SSTableRewriterTest.java |  57 ++
 12 files changed, 219 insertions(+), 168 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/5160c916/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 681d616..32083cc 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.1.2
+ * Refactor how we track live size (CASSANDRA-7852)
  * Make sure unfinished compaction files are removed (CASSANDRA-8124)
  * Fix shutdown when run as Windows service (CASSANDRA-8136)
  * Fix DESCRIBE TABLE with custom indexes (CASSANDRA-8031)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/5160c916/src/java/org/apache/cassandra/db/DataTracker.java
--
diff --git a/src/java/org/apache/cassandra/db/DataTracker.java 
b/src/java/org/apache/cassandra/db/DataTracker.java
index 7393323..7df2b75 100644
--- a/src/java/org/apache/cassandra/db/DataTracker.java
+++ b/src/java/org/apache/cassandra/db/DataTracker.java
@@ -254,33 +254,36 @@ public class DataTracker
 
 public void markObsolete(CollectionSSTableReader sstables, OperationType 
compactionType)
 {
-replace(sstables, Collections.SSTableReaderemptyList());
+removeSSTablesFromTracker(sstables);
+releaseReferences(sstables, false);
 notifySSTablesChanged(sstables, 
Collections.SSTableReaderemptyList(), compactionType);
 }
 
+/**
+ *
+ * @param oldSSTables
+ * @param allReplacements
+ * @param compactionType
+ */
 // note that this DOES NOT insert the replacement sstables, it only 
removes the old sstables and notifies any listeners
 // that they have been replaced by the provided sstables, which must have 
been performed by an earlier replaceReaders() call
-public void markCompactedSSTablesReplaced(CollectionSSTableReader 
sstables, CollectionSSTableReader allReplacements, OperationType 
compactionType)
+public void markCompactedSSTablesReplaced(CollectionSSTableReader 
oldSSTables, CollectionSSTableReader allReplacements, OperationType 
compactionType)
 {
-replace(sstables, Collections.SSTableReaderemptyList());
-notifySSTablesChanged(sstables, allReplacements, compactionType);
-for (SSTableReader sstable : allReplacements)
-{
-long bytesOnDisk = sstable.bytesOnDisk();
-cfstore.metric.totalDiskSpaceUsed.inc(bytesOnDisk);
-cfstore.metric.liveDiskSpaceUsed.inc(bytesOnDisk);
-}
+removeSSTablesFromTracker(oldSSTables);
+releaseReferences(oldSSTables, false);
+notifySSTablesChanged(oldSSTables, allReplacements, compactionType);
+addNewSSTablesSize(allReplacements);
 }
 
 public void addInitialSSTables(CollectionSSTableReader sstables)
 {
-replace(Collections.SSTableReaderemptyList(), sstables);
+addSSTablesToTracker(sstables);
 // no notifications or backup necessary
 }
 
 public void addSSTables(CollectionSSTableReader sstables)
 {
-replace(Collections.SSTableReaderemptyList(), sstables);
+addSSTablesToTracker(sstables);
 for (SSTableReader sstable : sstables)
 {
 maybeIncrementallyBackup(sstable);
@@ -289,6 +292,32 @@ public class DataTracker
 }
 
 /**
+ * Replaces existing sstables with new instances, makes sure compaction 
strategies have the correct instance
+ *
+ 

[3/5] Merge branch 'cassandra-2.1' into trunk

2014-11-03 Thread marcuse
http://git-wip-us.apache.org/repos/asf/cassandra/blob/0f59629c/test/unit/org/apache/cassandra/io/sstable/SSTableRewriterTest.java
--
diff --cc test/unit/org/apache/cassandra/io/sstable/SSTableRewriterTest.java
index 000,4d248bd..58803c3
mode 00,100644..100644
--- a/test/unit/org/apache/cassandra/io/sstable/SSTableRewriterTest.java
+++ b/test/unit/org/apache/cassandra/io/sstable/SSTableRewriterTest.java
@@@ -1,0 -1,490 +1,504 @@@
+ /*
+  * Licensed to the Apache Software Foundation (ASF) under one
+  * or more contributor license agreements.  See the NOTICE file
+  * distributed with this work for additional information
+  * regarding copyright ownership.  The ASF licenses this file
+  * to you under the Apache License, Version 2.0 (the
+  * License); you may not use this file except in compliance
+  * with the License.  You may obtain a copy of the License at
+  *
+  * http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software
+  * distributed under the License is distributed on an AS IS BASIS,
+  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  * See the License for the specific language governing permissions and
+  * limitations under the License.
+  */
+ package org.apache.cassandra.io.sstable;
+ 
+ import java.io.File;
+ import java.nio.ByteBuffer;
+ import java.util.Arrays;
 -import java.util.Collection;
+ import java.util.HashSet;
+ import java.util.List;
+ import java.util.Set;
+ import com.google.common.collect.Sets;
++import org.junit.After;
++import org.junit.BeforeClass;
+ import org.junit.Test;
+ 
+ import org.apache.cassandra.SchemaLoader;
+ import org.apache.cassandra.Util;
++import org.apache.cassandra.config.KSMetaData;
+ import org.apache.cassandra.db.ArrayBackedSortedColumns;
+ import org.apache.cassandra.db.ColumnFamilyStore;
+ import org.apache.cassandra.db.DecoratedKey;
+ import org.apache.cassandra.db.Keyspace;
+ import org.apache.cassandra.db.Mutation;
+ import org.apache.cassandra.db.compaction.AbstractCompactedRow;
+ import org.apache.cassandra.db.compaction.AbstractCompactionStrategy;
+ import org.apache.cassandra.db.compaction.CompactionController;
+ import org.apache.cassandra.db.compaction.ICompactionScanner;
+ import org.apache.cassandra.db.compaction.LazilyCompactedRow;
+ import org.apache.cassandra.db.compaction.OperationType;
 -import org.apache.cassandra.io.sstable.metadata.MetadataCollector;
++import org.apache.cassandra.exceptions.ConfigurationException;
++import org.apache.cassandra.io.sstable.format.SSTableReader;
++import org.apache.cassandra.io.sstable.format.SSTableWriter;
++import org.apache.cassandra.locator.SimpleStrategy;
+ import org.apache.cassandra.metrics.StorageMetrics;
+ import org.apache.cassandra.service.StorageService;
+ import org.apache.cassandra.utils.ByteBufferUtil;
+ import static org.junit.Assert.assertEquals;
+ import static org.junit.Assert.assertFalse;
+ import static org.junit.Assert.assertTrue;
+ 
+ public class SSTableRewriterTest extends SchemaLoader
+ {
 -private static final String KEYSPACE = Keyspace1;
++private static final String KEYSPACE = SSTableRewriterTest;
+ private static final String CF = Standard1;
++
++@BeforeClass
++public static void defineSchema() throws ConfigurationException
++{
++SchemaLoader.prepareServer();
++SchemaLoader.createKeyspace(KEYSPACE,
++SimpleStrategy.class,
++KSMetaData.optsWithRF(1),
++SchemaLoader.standardCFMD(KEYSPACE, CF));
++}
++
++@After
++public void truncateCF()
++{
++Keyspace keyspace = Keyspace.open(KEYSPACE);
++ColumnFamilyStore store = keyspace.getColumnFamilyStore(CF);
++store.truncateBlocking();
++}
++
++
+ @Test
+ public void basicTest() throws InterruptedException
+ {
+ Keyspace keyspace = Keyspace.open(KEYSPACE);
+ ColumnFamilyStore cfs = keyspace.getColumnFamilyStore(CF);
+ cfs.truncateBlocking();
+ for (int j = 0; j  100; j ++)
+ {
+ ByteBuffer key = ByteBufferUtil.bytes(String.valueOf(j));
+ Mutation rm = new Mutation(KEYSPACE, key);
+ rm.add(CF, Util.cellname(0), ByteBufferUtil.EMPTY_BYTE_BUFFER, 
j);
+ rm.apply();
+ }
+ cfs.forceBlockingFlush();
+ SetSSTableReader sstables = new HashSet(cfs.getSSTables());
+ assertEquals(1, sstables.size());
+ SSTableRewriter writer = new SSTableRewriter(cfs, sstables, 1000, 
false);
+ AbstractCompactionStrategy.ScannerList scanners = 
cfs.getCompactionStrategy().getScanners(sstables);
+ ICompactionScanner scanner = scanners.scanners.get(0);
+ CompactionController controller = new CompactionController(cfs, 
sstables, cfs.gcBefore(System.currentTimeMillis()));
+ 

[1/2] git commit: Make sure unfinished compaction files are removed.

2014-11-03 Thread marcuse
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.1 d2309227c - 5160c916c


Make sure unfinished compaction files are removed.

Patch by marcuse; reviewed by yukim for CASSANDRA-8124


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

Branch: refs/heads/cassandra-2.1
Commit: 9c316e7858f6dbf9df892aff78431044aa104ed9
Parents: d230922
Author: Marcus Eriksson marc...@apache.org
Authored: Fri Oct 17 14:15:46 2014 +0200
Committer: Marcus Eriksson marc...@apache.org
Committed: Mon Nov 3 16:17:01 2014 +0100

--
 CHANGES.txt |   1 +
 .../cassandra/io/sstable/SSTableReader.java |   6 +
 .../cassandra/io/sstable/SSTableRewriter.java   |  90 +++-
 .../io/sstable/SSTableRewriterTest.java | 473 +++
 4 files changed, 555 insertions(+), 15 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/9c316e78/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 494fb93..681d616 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.1.2
+ * Make sure unfinished compaction files are removed (CASSANDRA-8124)
  * Fix shutdown when run as Windows service (CASSANDRA-8136)
  * Fix DESCRIBE TABLE with custom indexes (CASSANDRA-8031)
  * Fix race in RecoveryManagerTest (CASSANDRA-8176)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/9c316e78/src/java/org/apache/cassandra/io/sstable/SSTableReader.java
--
diff --git a/src/java/org/apache/cassandra/io/sstable/SSTableReader.java 
b/src/java/org/apache/cassandra/io/sstable/SSTableReader.java
index 872f7df..40e708d 100644
--- a/src/java/org/apache/cassandra/io/sstable/SSTableReader.java
+++ b/src/java/org/apache/cassandra/io/sstable/SSTableReader.java
@@ -1599,6 +1599,12 @@ public class SSTableReader extends SSTable
 }
 }
 
+@VisibleForTesting
+int referenceCount()
+{
+return references.get();
+}
+
 /**
  * Release reference to this SSTableReader.
  * If there is no one referring to this SSTable, and is marked as 
compacted,

http://git-wip-us.apache.org/repos/asf/cassandra/blob/9c316e78/src/java/org/apache/cassandra/io/sstable/SSTableRewriter.java
--
diff --git a/src/java/org/apache/cassandra/io/sstable/SSTableRewriter.java 
b/src/java/org/apache/cassandra/io/sstable/SSTableRewriter.java
index 76677ac..2c9fe7e 100644
--- a/src/java/org/apache/cassandra/io/sstable/SSTableRewriter.java
+++ b/src/java/org/apache/cassandra/io/sstable/SSTableRewriter.java
@@ -25,8 +25,10 @@ import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
+import com.google.common.annotations.VisibleForTesting;
 import com.google.common.base.Function;
 import com.google.common.base.Functions;
+import com.google.common.collect.Lists;
 
 import org.apache.cassandra.config.DatabaseDescriptor;
 import org.apache.cassandra.db.ColumnFamilyStore;
@@ -37,6 +39,7 @@ import 
org.apache.cassandra.db.compaction.AbstractCompactedRow;
 import org.apache.cassandra.db.compaction.OperationType;
 import org.apache.cassandra.utils.CLibrary;
 import org.apache.cassandra.utils.FBUtilities;
+import org.apache.cassandra.utils.Pair;
 
 /**
  * Wraps one or more writers as output for rewriting one or more readers: 
every sstable_preemptive_open_interval_in_mb
@@ -55,8 +58,7 @@ import org.apache.cassandra.utils.FBUtilities;
  */
 public class SSTableRewriter
 {
-
-private static final long preemptiveOpenInterval;
+private static long preemptiveOpenInterval;
 static
 {
 long interval = 
DatabaseDescriptor.getSSTablePreempiveOpenIntervalInMB() * (1L  20);
@@ -65,6 +67,14 @@ public class SSTableRewriter
 preemptiveOpenInterval = interval;
 }
 
+private boolean isFinished = false;
+
+@VisibleForTesting
+static void overrideOpenInterval(long size)
+{
+preemptiveOpenInterval = size;
+}
+
 private final DataTracker dataTracker;
 private final ColumnFamilyStore cfs;
 
@@ -77,6 +87,8 @@ public class SSTableRewriter
 private long currentlyOpenedEarlyAt; // the position (in MB) in the target 
file we last (re)opened at
 
 private final ListSSTableReader finished = new ArrayList(); // the 
resultant sstables
+private final ListSSTableReader finishedOpenedEarly = new ArrayList(); 
// the 'finished' tmplink sstables
+private final ListPairSSTableWriter, SSTableReader finishedWriters = 
new ArrayList();
 private final OperationType 

[2/5] git commit: Refactor how we track live size

2014-11-03 Thread marcuse
Refactor how we track live size

Patch by marcuse; reviewed by yukim for CASSANDRA-7852


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

Branch: refs/heads/trunk
Commit: 5160c916c90886f69023ddba0078a624e5cf202d
Parents: 9c316e7
Author: Marcus Eriksson marc...@apache.org
Authored: Fri Oct 17 14:15:46 2014 +0200
Committer: Marcus Eriksson marc...@apache.org
Committed: Mon Nov 3 16:39:19 2014 +0100

--
 CHANGES.txt |   1 +
 .../org/apache/cassandra/db/DataTracker.java| 109 ---
 .../db/compaction/CompactionManager.java|  26 ++---
 .../cassandra/db/compaction/CompactionTask.java |   7 +-
 .../cassandra/db/compaction/Scrubber.java   |  12 +-
 .../cassandra/db/compaction/Upgrader.java   |  31 +++---
 .../io/sstable/IndexSummaryManager.java |   2 +-
 .../cassandra/io/sstable/SSTableRewriter.java   |  90 ---
 .../db/compaction/AntiCompactionTest.java   |  48 +++-
 .../io/sstable/IndexSummaryManagerTest.java |   2 +-
 .../cassandra/io/sstable/SSTableReaderTest.java |   2 +-
 .../io/sstable/SSTableRewriterTest.java |  57 ++
 12 files changed, 219 insertions(+), 168 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/5160c916/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 681d616..32083cc 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.1.2
+ * Refactor how we track live size (CASSANDRA-7852)
  * Make sure unfinished compaction files are removed (CASSANDRA-8124)
  * Fix shutdown when run as Windows service (CASSANDRA-8136)
  * Fix DESCRIBE TABLE with custom indexes (CASSANDRA-8031)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/5160c916/src/java/org/apache/cassandra/db/DataTracker.java
--
diff --git a/src/java/org/apache/cassandra/db/DataTracker.java 
b/src/java/org/apache/cassandra/db/DataTracker.java
index 7393323..7df2b75 100644
--- a/src/java/org/apache/cassandra/db/DataTracker.java
+++ b/src/java/org/apache/cassandra/db/DataTracker.java
@@ -254,33 +254,36 @@ public class DataTracker
 
 public void markObsolete(CollectionSSTableReader sstables, OperationType 
compactionType)
 {
-replace(sstables, Collections.SSTableReaderemptyList());
+removeSSTablesFromTracker(sstables);
+releaseReferences(sstables, false);
 notifySSTablesChanged(sstables, 
Collections.SSTableReaderemptyList(), compactionType);
 }
 
+/**
+ *
+ * @param oldSSTables
+ * @param allReplacements
+ * @param compactionType
+ */
 // note that this DOES NOT insert the replacement sstables, it only 
removes the old sstables and notifies any listeners
 // that they have been replaced by the provided sstables, which must have 
been performed by an earlier replaceReaders() call
-public void markCompactedSSTablesReplaced(CollectionSSTableReader 
sstables, CollectionSSTableReader allReplacements, OperationType 
compactionType)
+public void markCompactedSSTablesReplaced(CollectionSSTableReader 
oldSSTables, CollectionSSTableReader allReplacements, OperationType 
compactionType)
 {
-replace(sstables, Collections.SSTableReaderemptyList());
-notifySSTablesChanged(sstables, allReplacements, compactionType);
-for (SSTableReader sstable : allReplacements)
-{
-long bytesOnDisk = sstable.bytesOnDisk();
-cfstore.metric.totalDiskSpaceUsed.inc(bytesOnDisk);
-cfstore.metric.liveDiskSpaceUsed.inc(bytesOnDisk);
-}
+removeSSTablesFromTracker(oldSSTables);
+releaseReferences(oldSSTables, false);
+notifySSTablesChanged(oldSSTables, allReplacements, compactionType);
+addNewSSTablesSize(allReplacements);
 }
 
 public void addInitialSSTables(CollectionSSTableReader sstables)
 {
-replace(Collections.SSTableReaderemptyList(), sstables);
+addSSTablesToTracker(sstables);
 // no notifications or backup necessary
 }
 
 public void addSSTables(CollectionSSTableReader sstables)
 {
-replace(Collections.SSTableReaderemptyList(), sstables);
+addSSTablesToTracker(sstables);
 for (SSTableReader sstable : sstables)
 {
 maybeIncrementallyBackup(sstable);
@@ -289,6 +292,32 @@ public class DataTracker
 }
 
 /**
+ * Replaces existing sstables with new instances, makes sure compaction 
strategies have the correct instance
+ *
+ * @param 

[jira] [Commented] (CASSANDRA-6246) EPaxos

2014-11-03 Thread Blake Eggleston (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-6246?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14194659#comment-14194659
 ] 

Blake Eggleston commented on CASSANDRA-6246:


I have an initial implementation here: 
https://github.com/bdeggleston/cassandra/compare/CASSANDRA-6246?expand=1

It’s still pretty rough, I just wanted to get it to a point where we could get 
a feel for the performance advantages and decide if the additional complexity 
was worth it. There’s also none of the instance gc / optimized failure recovery 
we’ve been talking about.

I did some performance comparisons over the weekend. The tldr is that epaxos is 
10% to 11.5x faster than classic paxos, depending on the workload.

To test, I used a cluster of 3 m3.xlarge instances in us-east, and a 4th 
instance executing queries against the cluster. Each C* node was in a different 
az. Commit log and data directories were on different disks.

There were 2 tests, each running 10k queries against the cluster. The first 
test measured throughput using queries that wouldn’t contend with each other. 
Each query inserted a row for a different partition. The second test measured 
performance under contention, where every query contended for the same 
partition. 

Each test was run with 1, 5,  10 concurrent client requests.

With the uncontended workload, epaxos request time is 10-14% faster than the 
current implementation on average.
See: 
https://docs.google.com/spreadsheets/d/1olMYCepsE_02bMyfzV0Hke5UKuqoCNNjSIjR9yNs5iI/edit?pli=1#gid=0

With the contended workload, epaxos request time is 4.5x-11.5x faster than the 
current implementation on average.
See: 
https://docs.google.com/spreadsheets/d/1olMYCepsE_02bMyfzV0Hke5UKuqoCNNjSIjR9yNs5iI/edit?pli=1#gid=1327463955

There are 2 epaxos sections, regular, and cached. With higher contended request 
concurrency, the execution algorithm has to visit a lot of unexecuted instances 
to build it’s dependency graph. Reading the dependency data and instances out 
of their tables and deserializing them for each visit slows down epaxos to a 
point where it’s over twice as slow as classic paxos. By using a guava cache 
for the instance and dependency data objects, and keeping them around for a few 
minutes, epaxos is ~30x faster in higher contention/concurrency situations.

Some notes on the concurrent contended tests:

* The median query time for epaxos is a little slower than classic paxos for 5 
concurrent contended requests. This is because epaxos is now doing an accept 
phase on a lot of the queries, and because classic paxos doesn’t send commit 
messages out if the predicate doesn’t apply to the query.
* With concurrent contending queries, 1-2.5% of the classic paxos queries 
timeout and fail. At this level, there are no failing epaxos queries. 
* Variance in query times is also much lower with epaxos. With 10 concurrent 
contending requests, the 95th %ile request time for classic paxos is 23x the 
median, epaxos is 1.8x.


 EPaxos
 --

 Key: CASSANDRA-6246
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6246
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Reporter: Jonathan Ellis
Assignee: Blake Eggleston
Priority: Minor

 One reason we haven't optimized our Paxos implementation with Multi-paxos is 
 that Multi-paxos requires leader election and hence, a period of 
 unavailability when the leader dies.
 EPaxos is a Paxos variant that requires (1) less messages than multi-paxos, 
 (2) is particularly useful across multiple datacenters, and (3) allows any 
 node to act as coordinator: 
 http://sigops.org/sosp/sosp13/papers/p358-moraru.pdf
 However, there is substantial additional complexity involved if we choose to 
 implement it.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-7852) Refactor/document how we track live size

2014-11-03 Thread Marcus Eriksson (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-7852?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14194657#comment-14194657
 ] 

Marcus Eriksson commented on CASSANDRA-7852:


commited!

 Refactor/document how we track live size
 

 Key: CASSANDRA-7852
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7852
 Project: Cassandra
  Issue Type: Improvement
Reporter: Marcus Eriksson
Assignee: Marcus Eriksson
Priority: Minor
 Fix For: 2.1.2


 The way we track live size of sstables etc is a bit confusing after we 
 introduced SSTableRewriter, we should probably try to refactor or atleast 
 document this



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-8225) Production-capable COPY FROM

2014-11-03 Thread Aleksey Yeschenko (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8225?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14194662#comment-14194662
 ] 

Aleksey Yeschenko commented on CASSANDRA-8225:
--

It can even have a csv-file input format, for all I care, afterwards.

But what's proposed here is close to pointless. If there is a lot of data to 
bulk load, then you want it distributed, anyway. If there isn't, then 10x 
faster COPY FROM is still good enough.

Again, I 100% agree that we need to improve our bulk loading game. Yet I'm 
certain that what we really need is not Production-capable COPY FROM but 
Production-capable something-to-bulk-load-thats-not-necesserily-csvloader, 
and the current issue title/description mention COPY FROM for the single reason 
that it's the only simple thing we've ever had.

 Production-capable COPY FROM
 

 Key: CASSANDRA-8225
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8225
 Project: Cassandra
  Issue Type: New Feature
  Components: Tools
Reporter: Jonathan Ellis
 Fix For: 2.1.2


 Via [~schumacr],
 bq. I pulled down a sourceforge data generator and created a moc file of 
 500,000 rows that had an incrementing sequence number, date, and SSN. I then 
 used our COPY command and MySQL's LOAD DATA INFILE to load the file on my 
 Mac. Results were: 
 {noformat}
 mysql load data infile '/Users/robin/dev/datagen3.txt'  into table p_test  
 fields terminated by ',';
 Query OK, 50 rows affected (2.18 sec)
 {noformat}
 C* 2.1.0 (pre-CASSANDRA-7405)
 {noformat}
 cqlsh:dev copy p_test from '/Users/robin/dev/datagen3.txt' with 
 delimiter=',';
 50 rows imported in 16 minutes and 45.485 seconds.
 {noformat}
 Cassandra 2.1.1:
 {noformat}
 cqlsh:dev copy p_test from '/Users/robin/dev/datagen3.txt' with 
 delimiter=',';
 Processed 50 rows; Write: 4037.46 rows/s
 50 rows imported in 2 minutes and 3.058 seconds.
 {noformat}
 [jbellis] 7405 gets us almost an order of magnitude improvement.  
 Unfortunately we're still almost 2 orders slower than mysql.
 I don't think we can continue to tell people, use sstableloader instead.  
 The number of users sophisticated enough to use the sstable writers is small 
 and (relatively) decreasing as our user base expands.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-8225) Production-capable COPY FROM

2014-11-03 Thread Jonathan Ellis (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8225?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14194683#comment-14194683
 ] 

Jonathan Ellis commented on CASSANDRA-8225:
---

As baffling as it may be, my impression is that people really do want to bulk 
load large datasets from a single machine, but I'm happy to be corrected.  /cc 
[~cgilmore] [~rssvihla] [~schumacr]

 Production-capable COPY FROM
 

 Key: CASSANDRA-8225
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8225
 Project: Cassandra
  Issue Type: New Feature
  Components: Tools
Reporter: Jonathan Ellis
 Fix For: 2.1.2


 Via [~schumacr],
 bq. I pulled down a sourceforge data generator and created a moc file of 
 500,000 rows that had an incrementing sequence number, date, and SSN. I then 
 used our COPY command and MySQL's LOAD DATA INFILE to load the file on my 
 Mac. Results were: 
 {noformat}
 mysql load data infile '/Users/robin/dev/datagen3.txt'  into table p_test  
 fields terminated by ',';
 Query OK, 50 rows affected (2.18 sec)
 {noformat}
 C* 2.1.0 (pre-CASSANDRA-7405)
 {noformat}
 cqlsh:dev copy p_test from '/Users/robin/dev/datagen3.txt' with 
 delimiter=',';
 50 rows imported in 16 minutes and 45.485 seconds.
 {noformat}
 Cassandra 2.1.1:
 {noformat}
 cqlsh:dev copy p_test from '/Users/robin/dev/datagen3.txt' with 
 delimiter=',';
 Processed 50 rows; Write: 4037.46 rows/s
 50 rows imported in 2 minutes and 3.058 seconds.
 {noformat}
 [jbellis] 7405 gets us almost an order of magnitude improvement.  
 Unfortunately we're still almost 2 orders slower than mysql.
 I don't think we can continue to tell people, use sstableloader instead.  
 The number of users sophisticated enough to use the sstable writers is small 
 and (relatively) decreasing as our user base expands.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-8225) Production-capable COPY FROM

2014-11-03 Thread Jeremiah Jordan (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8225?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14194686#comment-14194686
 ] 

Jeremiah Jordan commented on CASSANDRA-8225:


bq. Again, I 100% agree that we need to improve our bulk loading game. Yet I'm 
certain that what we really need is not Production-capable COPY FROM but 
Production-capable something-to-bulk-load-thats-not-necesserily-csvloader, 
and the current issue title/description mention COPY FROM for the single reason 
that it's the only simple thing we've ever had.

Agreed.  I don't think COPY FROM csv is the way to go here.  Do people really 
have multi GB cvs files sitting around to load places?  I would assume these 
CSV files come from some other database?  Would it not be better to have some 
tool that could also possibly cut out the middle man and just read JDBC and 
then push into Cassandra?

So +1 for Production-capable 
something-to-bulk-load-thats-not-necesserily-csvloader

 Production-capable COPY FROM
 

 Key: CASSANDRA-8225
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8225
 Project: Cassandra
  Issue Type: New Feature
  Components: Tools
Reporter: Jonathan Ellis
 Fix For: 2.1.2


 Via [~schumacr],
 bq. I pulled down a sourceforge data generator and created a moc file of 
 500,000 rows that had an incrementing sequence number, date, and SSN. I then 
 used our COPY command and MySQL's LOAD DATA INFILE to load the file on my 
 Mac. Results were: 
 {noformat}
 mysql load data infile '/Users/robin/dev/datagen3.txt'  into table p_test  
 fields terminated by ',';
 Query OK, 50 rows affected (2.18 sec)
 {noformat}
 C* 2.1.0 (pre-CASSANDRA-7405)
 {noformat}
 cqlsh:dev copy p_test from '/Users/robin/dev/datagen3.txt' with 
 delimiter=',';
 50 rows imported in 16 minutes and 45.485 seconds.
 {noformat}
 Cassandra 2.1.1:
 {noformat}
 cqlsh:dev copy p_test from '/Users/robin/dev/datagen3.txt' with 
 delimiter=',';
 Processed 50 rows; Write: 4037.46 rows/s
 50 rows imported in 2 minutes and 3.058 seconds.
 {noformat}
 [jbellis] 7405 gets us almost an order of magnitude improvement.  
 Unfortunately we're still almost 2 orders slower than mysql.
 I don't think we can continue to tell people, use sstableloader instead.  
 The number of users sophisticated enough to use the sstable writers is small 
 and (relatively) decreasing as our user base expands.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-8225) Production-capable COPY FROM

2014-11-03 Thread Aleksey Yeschenko (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8225?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14194689#comment-14194689
 ] 

Aleksey Yeschenko commented on CASSANDRA-8225:
--

(If they do, it's still an orthogonal question to whether or not those large 
datasets are coming from CSV, originally)

 Production-capable COPY FROM
 

 Key: CASSANDRA-8225
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8225
 Project: Cassandra
  Issue Type: New Feature
  Components: Tools
Reporter: Jonathan Ellis
 Fix For: 2.1.2


 Via [~schumacr],
 bq. I pulled down a sourceforge data generator and created a moc file of 
 500,000 rows that had an incrementing sequence number, date, and SSN. I then 
 used our COPY command and MySQL's LOAD DATA INFILE to load the file on my 
 Mac. Results were: 
 {noformat}
 mysql load data infile '/Users/robin/dev/datagen3.txt'  into table p_test  
 fields terminated by ',';
 Query OK, 50 rows affected (2.18 sec)
 {noformat}
 C* 2.1.0 (pre-CASSANDRA-7405)
 {noformat}
 cqlsh:dev copy p_test from '/Users/robin/dev/datagen3.txt' with 
 delimiter=',';
 50 rows imported in 16 minutes and 45.485 seconds.
 {noformat}
 Cassandra 2.1.1:
 {noformat}
 cqlsh:dev copy p_test from '/Users/robin/dev/datagen3.txt' with 
 delimiter=',';
 Processed 50 rows; Write: 4037.46 rows/s
 50 rows imported in 2 minutes and 3.058 seconds.
 {noformat}
 [jbellis] 7405 gets us almost an order of magnitude improvement.  
 Unfortunately we're still almost 2 orders slower than mysql.
 I don't think we can continue to tell people, use sstableloader instead.  
 The number of users sophisticated enough to use the sstable writers is small 
 and (relatively) decreasing as our user base expands.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-8225) Production-capable COPY FROM

2014-11-03 Thread Ryan Svihla (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8225?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14194692#comment-14194692
 ] 

Ryan Svihla commented on CASSANDRA-8225:


Equally baffling, but it's a frequent request with the pushback being barrier 
to entry when getting started. These are businesses that don't already have 
Hadoop or Spark and are using something sql server to do analytics on. Now I'm 
happy to continue to explain to them, at scale, this cannot possibly work in 
any way shape or form. However, I do get the desire to do something good 
enough and export their giant file to their SAN, and then limp along while 
they let the rest of the org catch up with best practices for analytics on 
large data sets.

I view a better COPY FROM as a bridge to a better world, and another good way 
to get Cassandra into places that are new to the distributed world.

 Production-capable COPY FROM
 

 Key: CASSANDRA-8225
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8225
 Project: Cassandra
  Issue Type: New Feature
  Components: Tools
Reporter: Jonathan Ellis
 Fix For: 2.1.2


 Via [~schumacr],
 bq. I pulled down a sourceforge data generator and created a moc file of 
 500,000 rows that had an incrementing sequence number, date, and SSN. I then 
 used our COPY command and MySQL's LOAD DATA INFILE to load the file on my 
 Mac. Results were: 
 {noformat}
 mysql load data infile '/Users/robin/dev/datagen3.txt'  into table p_test  
 fields terminated by ',';
 Query OK, 50 rows affected (2.18 sec)
 {noformat}
 C* 2.1.0 (pre-CASSANDRA-7405)
 {noformat}
 cqlsh:dev copy p_test from '/Users/robin/dev/datagen3.txt' with 
 delimiter=',';
 50 rows imported in 16 minutes and 45.485 seconds.
 {noformat}
 Cassandra 2.1.1:
 {noformat}
 cqlsh:dev copy p_test from '/Users/robin/dev/datagen3.txt' with 
 delimiter=',';
 Processed 50 rows; Write: 4037.46 rows/s
 50 rows imported in 2 minutes and 3.058 seconds.
 {noformat}
 [jbellis] 7405 gets us almost an order of magnitude improvement.  
 Unfortunately we're still almost 2 orders slower than mysql.
 I don't think we can continue to tell people, use sstableloader instead.  
 The number of users sophisticated enough to use the sstable writers is small 
 and (relatively) decreasing as our user base expands.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Comment Edited] (CASSANDRA-8225) Production-capable COPY FROM

2014-11-03 Thread Ryan Svihla (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8225?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14194692#comment-14194692
 ] 

Ryan Svihla edited comment on CASSANDRA-8225 at 11/3/14 4:27 PM:
-

Equally baffling, but it's a frequent request with the pushback being barrier 
to entry when getting started. These are businesses that don't already have 
Hadoop or Spark and are using something relational to do analytics on. Now I'm 
happy to continue to explain to them, at scale, this cannot possibly work in 
any way shape or form. However, I do get the desire to do something good 
enough and export their giant file to their SAN, and then limp along while 
they let the rest of the org catch up with best practices for analytics on 
large data sets.

I view a better COPY FROM as a bridge to a better world, and another good way 
to get Cassandra into places that are new to the distributed world.


was (Author: rssvihla):
Equally baffling, but it's a frequent request with the pushback being barrier 
to entry when getting started. These are businesses that don't already have 
Hadoop or Spark and are using something sql server to do analytics on. Now I'm 
happy to continue to explain to them, at scale, this cannot possibly work in 
any way shape or form. However, I do get the desire to do something good 
enough and export their giant file to their SAN, and then limp along while 
they let the rest of the org catch up with best practices for analytics on 
large data sets.

I view a better COPY FROM as a bridge to a better world, and another good way 
to get Cassandra into places that are new to the distributed world.

 Production-capable COPY FROM
 

 Key: CASSANDRA-8225
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8225
 Project: Cassandra
  Issue Type: New Feature
  Components: Tools
Reporter: Jonathan Ellis
 Fix For: 2.1.2


 Via [~schumacr],
 bq. I pulled down a sourceforge data generator and created a moc file of 
 500,000 rows that had an incrementing sequence number, date, and SSN. I then 
 used our COPY command and MySQL's LOAD DATA INFILE to load the file on my 
 Mac. Results were: 
 {noformat}
 mysql load data infile '/Users/robin/dev/datagen3.txt'  into table p_test  
 fields terminated by ',';
 Query OK, 50 rows affected (2.18 sec)
 {noformat}
 C* 2.1.0 (pre-CASSANDRA-7405)
 {noformat}
 cqlsh:dev copy p_test from '/Users/robin/dev/datagen3.txt' with 
 delimiter=',';
 50 rows imported in 16 minutes and 45.485 seconds.
 {noformat}
 Cassandra 2.1.1:
 {noformat}
 cqlsh:dev copy p_test from '/Users/robin/dev/datagen3.txt' with 
 delimiter=',';
 Processed 50 rows; Write: 4037.46 rows/s
 50 rows imported in 2 minutes and 3.058 seconds.
 {noformat}
 [jbellis] 7405 gets us almost an order of magnitude improvement.  
 Unfortunately we're still almost 2 orders slower than mysql.
 I don't think we can continue to tell people, use sstableloader instead.  
 The number of users sophisticated enough to use the sstable writers is small 
 and (relatively) decreasing as our user base expands.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-8225) Production-capable COPY FROM

2014-11-03 Thread Aleksey Yeschenko (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8225?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14194698#comment-14194698
 ] 

Aleksey Yeschenko commented on CASSANDRA-8225:
--

FWIW, it's implied here that we'll be using Spark bundled with Cassandra then, 
which is planned, so nobody will have to have to mess with Hadoop or Spark on 
their own with the new tooling. Not to have to mess at all in the case of 
loading from single machine.

 Production-capable COPY FROM
 

 Key: CASSANDRA-8225
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8225
 Project: Cassandra
  Issue Type: New Feature
  Components: Tools
Reporter: Jonathan Ellis
 Fix For: 2.1.2


 Via [~schumacr],
 bq. I pulled down a sourceforge data generator and created a moc file of 
 500,000 rows that had an incrementing sequence number, date, and SSN. I then 
 used our COPY command and MySQL's LOAD DATA INFILE to load the file on my 
 Mac. Results were: 
 {noformat}
 mysql load data infile '/Users/robin/dev/datagen3.txt'  into table p_test  
 fields terminated by ',';
 Query OK, 50 rows affected (2.18 sec)
 {noformat}
 C* 2.1.0 (pre-CASSANDRA-7405)
 {noformat}
 cqlsh:dev copy p_test from '/Users/robin/dev/datagen3.txt' with 
 delimiter=',';
 50 rows imported in 16 minutes and 45.485 seconds.
 {noformat}
 Cassandra 2.1.1:
 {noformat}
 cqlsh:dev copy p_test from '/Users/robin/dev/datagen3.txt' with 
 delimiter=',';
 Processed 50 rows; Write: 4037.46 rows/s
 50 rows imported in 2 minutes and 3.058 seconds.
 {noformat}
 [jbellis] 7405 gets us almost an order of magnitude improvement.  
 Unfortunately we're still almost 2 orders slower than mysql.
 I don't think we can continue to tell people, use sstableloader instead.  
 The number of users sophisticated enough to use the sstable writers is small 
 and (relatively) decreasing as our user base expands.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Assigned] (CASSANDRA-8208) Inconsistent failure handling with repair

2014-11-03 Thread Yuki Morishita (JIRA)

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

Yuki Morishita reassigned CASSANDRA-8208:
-

Assignee: Yuki Morishita

 Inconsistent failure handling with repair
 -

 Key: CASSANDRA-8208
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8208
 Project: Cassandra
  Issue Type: Bug
Reporter: Marcus Eriksson
Assignee: Yuki Morishita
 Fix For: 3.0


 I think we introduced this with CASSANDRA-6455, problem is that we now treat 
 all repair futures as a single unit (Futures.allAsList(..)) which makes the 
 whole thing fail if one sub-future fails. Also, when one of those fail, we 
 notify nodetool that we failed and we stop the executor with shutdownNow() 
 which throws out any pending RepairJobs.
 [~yukim] I think we used to be able to proceed with the other RepairSessions 
 even if one fails, right? If not, we should probably call cancel on the 
 RepairJob runnables which are in queue for the executor after calling 
 shutdownNow() in repairComplete() in StorageService. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-8245) Cassandra nodes periodically die in 2-DC configuration

2014-11-03 Thread Michael Shuler (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8245?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14194704#comment-14194704
 ] 

Michael Shuler commented on CASSANDRA-8245:
---

What are the hardware specs of your nodes and the memory-related 
configurations? Nodes that die due to heap exhaustion aren't really a 
datacenter issue, but a more basic node-level setup problem that should be 
addressed with larger machines and configuration tuning, typically.

 Cassandra nodes periodically die in 2-DC configuration
 --

 Key: CASSANDRA-8245
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8245
 Project: Cassandra
  Issue Type: Bug
  Components: Core
 Environment: Scientific Linux release 6.5
 java version 1.7.0_51
 Cassandra 2.0.9
Reporter: Oleg Poleshuk
Priority: Critical

 We have 2 DCs with 3 nodes in each.
 Second DC periodically has 1-2 nodes down.
 Looks like it looses connectivity with another nodes and then Gossiper starts 
 to accumulate tasks until Cassandra dies with OOM.
 WARN [MemoryMeter:1] 2014-08-12 14:34:59,803 Memtable.java (line 470) setting 
 live ratio to maximum of 64.0 instead of Infinity
  WARN [GossipTasks:1] 2014-08-12 14:44:34,866 Gossiper.java (line 637) Gossip 
 stage has 1 pending tasks; skipping status check (no nodes will be marked 
 down)
  WARN [GossipTasks:1] 2014-08-12 14:44:35,968 Gossiper.java (line 637) Gossip 
 stage has 4 pending tasks; skipping status check (no nodes will be marked 
 down)
  WARN [GossipTasks:1] 2014-08-12 14:44:37,070 Gossiper.java (line 637) Gossip 
 stage has 8 pending tasks; skipping status check (no nodes will be marked 
 down)
  WARN [GossipTasks:1] 2014-08-12 14:44:38,171 Gossiper.java (line 637) Gossip 
 stage has 11 pending tasks; skipping status check (no nodes will be marked 
 down)
 ...
 WARN [GossipTasks:1] 2014-10-06 21:42:51,575 Gossiper.java (line 637) Gossip 
 stage has 1014764 pending tasks; skipping status check (no nodes will be 
 marked down)
  WARN [New I/O worker #13] 2014-10-06 21:54:27,010 Slf4JLogger.java (line 76) 
 Unexpected exception in the selector loop.
 java.lang.OutOfMemoryError: Java heap space
 Also those lines but not sure it is relevant:
 DEBUG [GossipStage:1] 2014-08-12 11:33:18,801 FailureDetector.java (line 338) 
 Ignoring interval time of 2085963047



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (CASSANDRA-8245) Cassandra nodes periodically die in 2-DC configuration

2014-11-03 Thread Michael Shuler (JIRA)

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

Michael Shuler updated CASSANDRA-8245:
--
Priority: Minor  (was: Critical)

 Cassandra nodes periodically die in 2-DC configuration
 --

 Key: CASSANDRA-8245
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8245
 Project: Cassandra
  Issue Type: Bug
  Components: Core
 Environment: Scientific Linux release 6.5
 java version 1.7.0_51
 Cassandra 2.0.9
Reporter: Oleg Poleshuk
Priority: Minor

 We have 2 DCs with 3 nodes in each.
 Second DC periodically has 1-2 nodes down.
 Looks like it looses connectivity with another nodes and then Gossiper starts 
 to accumulate tasks until Cassandra dies with OOM.
 WARN [MemoryMeter:1] 2014-08-12 14:34:59,803 Memtable.java (line 470) setting 
 live ratio to maximum of 64.0 instead of Infinity
  WARN [GossipTasks:1] 2014-08-12 14:44:34,866 Gossiper.java (line 637) Gossip 
 stage has 1 pending tasks; skipping status check (no nodes will be marked 
 down)
  WARN [GossipTasks:1] 2014-08-12 14:44:35,968 Gossiper.java (line 637) Gossip 
 stage has 4 pending tasks; skipping status check (no nodes will be marked 
 down)
  WARN [GossipTasks:1] 2014-08-12 14:44:37,070 Gossiper.java (line 637) Gossip 
 stage has 8 pending tasks; skipping status check (no nodes will be marked 
 down)
  WARN [GossipTasks:1] 2014-08-12 14:44:38,171 Gossiper.java (line 637) Gossip 
 stage has 11 pending tasks; skipping status check (no nodes will be marked 
 down)
 ...
 WARN [GossipTasks:1] 2014-10-06 21:42:51,575 Gossiper.java (line 637) Gossip 
 stage has 1014764 pending tasks; skipping status check (no nodes will be 
 marked down)
  WARN [New I/O worker #13] 2014-10-06 21:54:27,010 Slf4JLogger.java (line 76) 
 Unexpected exception in the selector loop.
 java.lang.OutOfMemoryError: Java heap space
 Also those lines but not sure it is relevant:
 DEBUG [GossipStage:1] 2014-08-12 11:33:18,801 FailureDetector.java (line 338) 
 Ignoring interval time of 2085963047



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-8245) Cassandra nodes periodically die in 2-DC configuration

2014-11-03 Thread Michael Shuler (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8245?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14194711#comment-14194711
 ] 

Michael Shuler commented on CASSANDRA-8245:
---

I asked the devs about this ticket, and a thread dump to see what's blocking 
gossip would be very helpful with troubleshooting this.

 Cassandra nodes periodically die in 2-DC configuration
 --

 Key: CASSANDRA-8245
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8245
 Project: Cassandra
  Issue Type: Bug
  Components: Core
 Environment: Scientific Linux release 6.5
 java version 1.7.0_51
 Cassandra 2.0.9
Reporter: Oleg Poleshuk
Priority: Minor

 We have 2 DCs with 3 nodes in each.
 Second DC periodically has 1-2 nodes down.
 Looks like it looses connectivity with another nodes and then Gossiper starts 
 to accumulate tasks until Cassandra dies with OOM.
 WARN [MemoryMeter:1] 2014-08-12 14:34:59,803 Memtable.java (line 470) setting 
 live ratio to maximum of 64.0 instead of Infinity
  WARN [GossipTasks:1] 2014-08-12 14:44:34,866 Gossiper.java (line 637) Gossip 
 stage has 1 pending tasks; skipping status check (no nodes will be marked 
 down)
  WARN [GossipTasks:1] 2014-08-12 14:44:35,968 Gossiper.java (line 637) Gossip 
 stage has 4 pending tasks; skipping status check (no nodes will be marked 
 down)
  WARN [GossipTasks:1] 2014-08-12 14:44:37,070 Gossiper.java (line 637) Gossip 
 stage has 8 pending tasks; skipping status check (no nodes will be marked 
 down)
  WARN [GossipTasks:1] 2014-08-12 14:44:38,171 Gossiper.java (line 637) Gossip 
 stage has 11 pending tasks; skipping status check (no nodes will be marked 
 down)
 ...
 WARN [GossipTasks:1] 2014-10-06 21:42:51,575 Gossiper.java (line 637) Gossip 
 stage has 1014764 pending tasks; skipping status check (no nodes will be 
 marked down)
  WARN [New I/O worker #13] 2014-10-06 21:54:27,010 Slf4JLogger.java (line 76) 
 Unexpected exception in the selector loop.
 java.lang.OutOfMemoryError: Java heap space
 Also those lines but not sure it is relevant:
 DEBUG [GossipStage:1] 2014-08-12 11:33:18,801 FailureDetector.java (line 338) 
 Ignoring interval time of 2085963047



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-8245) Cassandra nodes periodically die in 2-DC configuration

2014-11-03 Thread Michael Shuler (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8245?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14194715#comment-14194715
 ] 

Michael Shuler commented on CASSANDRA-8245:
---

Additionally, those dates go from 2014-08-12 to 2014-10-06 - are the 
datacenters communicating properly at all?

 Cassandra nodes periodically die in 2-DC configuration
 --

 Key: CASSANDRA-8245
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8245
 Project: Cassandra
  Issue Type: Bug
  Components: Core
 Environment: Scientific Linux release 6.5
 java version 1.7.0_51
 Cassandra 2.0.9
Reporter: Oleg Poleshuk
Priority: Minor

 We have 2 DCs with 3 nodes in each.
 Second DC periodically has 1-2 nodes down.
 Looks like it looses connectivity with another nodes and then Gossiper starts 
 to accumulate tasks until Cassandra dies with OOM.
 WARN [MemoryMeter:1] 2014-08-12 14:34:59,803 Memtable.java (line 470) setting 
 live ratio to maximum of 64.0 instead of Infinity
  WARN [GossipTasks:1] 2014-08-12 14:44:34,866 Gossiper.java (line 637) Gossip 
 stage has 1 pending tasks; skipping status check (no nodes will be marked 
 down)
  WARN [GossipTasks:1] 2014-08-12 14:44:35,968 Gossiper.java (line 637) Gossip 
 stage has 4 pending tasks; skipping status check (no nodes will be marked 
 down)
  WARN [GossipTasks:1] 2014-08-12 14:44:37,070 Gossiper.java (line 637) Gossip 
 stage has 8 pending tasks; skipping status check (no nodes will be marked 
 down)
  WARN [GossipTasks:1] 2014-08-12 14:44:38,171 Gossiper.java (line 637) Gossip 
 stage has 11 pending tasks; skipping status check (no nodes will be marked 
 down)
 ...
 WARN [GossipTasks:1] 2014-10-06 21:42:51,575 Gossiper.java (line 637) Gossip 
 stage has 1014764 pending tasks; skipping status check (no nodes will be 
 marked down)
  WARN [New I/O worker #13] 2014-10-06 21:54:27,010 Slf4JLogger.java (line 76) 
 Unexpected exception in the selector loop.
 java.lang.OutOfMemoryError: Java heap space
 Also those lines but not sure it is relevant:
 DEBUG [GossipStage:1] 2014-08-12 11:33:18,801 FailureDetector.java (line 338) 
 Ignoring interval time of 2085963047



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (CASSANDRA-7392) Abort in-progress queries that time out

2014-11-03 Thread Joshua McKenzie (JIRA)

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

Joshua McKenzie updated CASSANDRA-7392:
---
Assignee: Joshua McKenzie

 Abort in-progress queries that time out
 ---

 Key: CASSANDRA-7392
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7392
 Project: Cassandra
  Issue Type: New Feature
  Components: Core
Reporter: Jonathan Ellis
Assignee: Joshua McKenzie
Priority: Minor
 Fix For: 3.0


 Currently we drop queries that time out before we get to them (because node 
 is overloaded) but not queries that time out while being processed.  
 (Particularly common for index queries on data that shouldn't be indexed.)  
 Adding the latter and logging when we have to interrupt one gets us a poor 
 man's slow query log for free.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-8245) Cassandra nodes periodically die in 2-DC configuration

2014-11-03 Thread Oleg Poleshuk (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8245?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14194724#comment-14194724
 ] 

Oleg Poleshuk commented on CASSANDRA-8245:
--

Processors   = 8
Memory   = 15.58 GB

processor   : 7
vendor_id   : GenuineIntel
cpu family  : 6
model   : 15
model name  : Intel(R) Xeon(R) CPU E5-2665 0 @ 2.40GHz
stepping: 1
cpu MHz : 2400.000
cache size  : 20480 KB


 Cassandra nodes periodically die in 2-DC configuration
 --

 Key: CASSANDRA-8245
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8245
 Project: Cassandra
  Issue Type: Bug
  Components: Core
 Environment: Scientific Linux release 6.5
 java version 1.7.0_51
 Cassandra 2.0.9
Reporter: Oleg Poleshuk
Priority: Minor

 We have 2 DCs with 3 nodes in each.
 Second DC periodically has 1-2 nodes down.
 Looks like it looses connectivity with another nodes and then Gossiper starts 
 to accumulate tasks until Cassandra dies with OOM.
 WARN [MemoryMeter:1] 2014-08-12 14:34:59,803 Memtable.java (line 470) setting 
 live ratio to maximum of 64.0 instead of Infinity
  WARN [GossipTasks:1] 2014-08-12 14:44:34,866 Gossiper.java (line 637) Gossip 
 stage has 1 pending tasks; skipping status check (no nodes will be marked 
 down)
  WARN [GossipTasks:1] 2014-08-12 14:44:35,968 Gossiper.java (line 637) Gossip 
 stage has 4 pending tasks; skipping status check (no nodes will be marked 
 down)
  WARN [GossipTasks:1] 2014-08-12 14:44:37,070 Gossiper.java (line 637) Gossip 
 stage has 8 pending tasks; skipping status check (no nodes will be marked 
 down)
  WARN [GossipTasks:1] 2014-08-12 14:44:38,171 Gossiper.java (line 637) Gossip 
 stage has 11 pending tasks; skipping status check (no nodes will be marked 
 down)
 ...
 WARN [GossipTasks:1] 2014-10-06 21:42:51,575 Gossiper.java (line 637) Gossip 
 stage has 1014764 pending tasks; skipping status check (no nodes will be 
 marked down)
  WARN [New I/O worker #13] 2014-10-06 21:54:27,010 Slf4JLogger.java (line 76) 
 Unexpected exception in the selector loop.
 java.lang.OutOfMemoryError: Java heap space
 Also those lines but not sure it is relevant:
 DEBUG [GossipStage:1] 2014-08-12 11:33:18,801 FailureDetector.java (line 338) 
 Ignoring interval time of 2085963047



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-8245) Cassandra nodes periodically die in 2-DC configuration

2014-11-03 Thread Oleg Poleshuk (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8245?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14194725#comment-14194725
 ] 

Oleg Poleshuk commented on CASSANDRA-8245:
--

I will provide a thread dump when it dies next time.

 Cassandra nodes periodically die in 2-DC configuration
 --

 Key: CASSANDRA-8245
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8245
 Project: Cassandra
  Issue Type: Bug
  Components: Core
 Environment: Scientific Linux release 6.5
 java version 1.7.0_51
 Cassandra 2.0.9
Reporter: Oleg Poleshuk
Priority: Minor

 We have 2 DCs with 3 nodes in each.
 Second DC periodically has 1-2 nodes down.
 Looks like it looses connectivity with another nodes and then Gossiper starts 
 to accumulate tasks until Cassandra dies with OOM.
 WARN [MemoryMeter:1] 2014-08-12 14:34:59,803 Memtable.java (line 470) setting 
 live ratio to maximum of 64.0 instead of Infinity
  WARN [GossipTasks:1] 2014-08-12 14:44:34,866 Gossiper.java (line 637) Gossip 
 stage has 1 pending tasks; skipping status check (no nodes will be marked 
 down)
  WARN [GossipTasks:1] 2014-08-12 14:44:35,968 Gossiper.java (line 637) Gossip 
 stage has 4 pending tasks; skipping status check (no nodes will be marked 
 down)
  WARN [GossipTasks:1] 2014-08-12 14:44:37,070 Gossiper.java (line 637) Gossip 
 stage has 8 pending tasks; skipping status check (no nodes will be marked 
 down)
  WARN [GossipTasks:1] 2014-08-12 14:44:38,171 Gossiper.java (line 637) Gossip 
 stage has 11 pending tasks; skipping status check (no nodes will be marked 
 down)
 ...
 WARN [GossipTasks:1] 2014-10-06 21:42:51,575 Gossiper.java (line 637) Gossip 
 stage has 1014764 pending tasks; skipping status check (no nodes will be 
 marked down)
  WARN [New I/O worker #13] 2014-10-06 21:54:27,010 Slf4JLogger.java (line 76) 
 Unexpected exception in the selector loop.
 java.lang.OutOfMemoryError: Java heap space
 Also those lines but not sure it is relevant:
 DEBUG [GossipStage:1] 2014-08-12 11:33:18,801 FailureDetector.java (line 338) 
 Ignoring interval time of 2085963047



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-8245) Cassandra nodes periodically die in 2-DC configuration

2014-11-03 Thread Oleg Poleshuk (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8245?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14194726#comment-14194726
 ] 

Oleg Poleshuk commented on CASSANDRA-8245:
--

Why did it go to Minor? Datacenter dies periodically because of Gossiper memory 
leaks, this is not Minor as to me...

 Cassandra nodes periodically die in 2-DC configuration
 --

 Key: CASSANDRA-8245
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8245
 Project: Cassandra
  Issue Type: Bug
  Components: Core
 Environment: Scientific Linux release 6.5
 java version 1.7.0_51
 Cassandra 2.0.9
Reporter: Oleg Poleshuk
Priority: Minor

 We have 2 DCs with 3 nodes in each.
 Second DC periodically has 1-2 nodes down.
 Looks like it looses connectivity with another nodes and then Gossiper starts 
 to accumulate tasks until Cassandra dies with OOM.
 WARN [MemoryMeter:1] 2014-08-12 14:34:59,803 Memtable.java (line 470) setting 
 live ratio to maximum of 64.0 instead of Infinity
  WARN [GossipTasks:1] 2014-08-12 14:44:34,866 Gossiper.java (line 637) Gossip 
 stage has 1 pending tasks; skipping status check (no nodes will be marked 
 down)
  WARN [GossipTasks:1] 2014-08-12 14:44:35,968 Gossiper.java (line 637) Gossip 
 stage has 4 pending tasks; skipping status check (no nodes will be marked 
 down)
  WARN [GossipTasks:1] 2014-08-12 14:44:37,070 Gossiper.java (line 637) Gossip 
 stage has 8 pending tasks; skipping status check (no nodes will be marked 
 down)
  WARN [GossipTasks:1] 2014-08-12 14:44:38,171 Gossiper.java (line 637) Gossip 
 stage has 11 pending tasks; skipping status check (no nodes will be marked 
 down)
 ...
 WARN [GossipTasks:1] 2014-10-06 21:42:51,575 Gossiper.java (line 637) Gossip 
 stage has 1014764 pending tasks; skipping status check (no nodes will be 
 marked down)
  WARN [New I/O worker #13] 2014-10-06 21:54:27,010 Slf4JLogger.java (line 76) 
 Unexpected exception in the selector loop.
 java.lang.OutOfMemoryError: Java heap space
 Also those lines but not sure it is relevant:
 DEBUG [GossipStage:1] 2014-08-12 11:33:18,801 FailureDetector.java (line 338) 
 Ignoring interval time of 2085963047



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-8245) Cassandra nodes periodically die in 2-DC configuration

2014-11-03 Thread Oleg Poleshuk (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8245?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14194729#comment-14194729
 ] 

Oleg Poleshuk commented on CASSANDRA-8245:
--

Dates go from August because it went down several times. Probably, I grepped 
previous event.
Datacenters communicate properly. In any case, isn't it supposed to survive DC 
link failure?..

 Cassandra nodes periodically die in 2-DC configuration
 --

 Key: CASSANDRA-8245
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8245
 Project: Cassandra
  Issue Type: Bug
  Components: Core
 Environment: Scientific Linux release 6.5
 java version 1.7.0_51
 Cassandra 2.0.9
Reporter: Oleg Poleshuk
Priority: Minor

 We have 2 DCs with 3 nodes in each.
 Second DC periodically has 1-2 nodes down.
 Looks like it looses connectivity with another nodes and then Gossiper starts 
 to accumulate tasks until Cassandra dies with OOM.
 WARN [MemoryMeter:1] 2014-08-12 14:34:59,803 Memtable.java (line 470) setting 
 live ratio to maximum of 64.0 instead of Infinity
  WARN [GossipTasks:1] 2014-08-12 14:44:34,866 Gossiper.java (line 637) Gossip 
 stage has 1 pending tasks; skipping status check (no nodes will be marked 
 down)
  WARN [GossipTasks:1] 2014-08-12 14:44:35,968 Gossiper.java (line 637) Gossip 
 stage has 4 pending tasks; skipping status check (no nodes will be marked 
 down)
  WARN [GossipTasks:1] 2014-08-12 14:44:37,070 Gossiper.java (line 637) Gossip 
 stage has 8 pending tasks; skipping status check (no nodes will be marked 
 down)
  WARN [GossipTasks:1] 2014-08-12 14:44:38,171 Gossiper.java (line 637) Gossip 
 stage has 11 pending tasks; skipping status check (no nodes will be marked 
 down)
 ...
 WARN [GossipTasks:1] 2014-10-06 21:42:51,575 Gossiper.java (line 637) Gossip 
 stage has 1014764 pending tasks; skipping status check (no nodes will be 
 marked down)
  WARN [New I/O worker #13] 2014-10-06 21:54:27,010 Slf4JLogger.java (line 76) 
 Unexpected exception in the selector loop.
 java.lang.OutOfMemoryError: Java heap space
 Also those lines but not sure it is relevant:
 DEBUG [GossipStage:1] 2014-08-12 11:33:18,801 FailureDetector.java (line 338) 
 Ignoring interval time of 2085963047



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


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

2014-11-03 Thread brandonwilliams
Merge branch 'cassandra-2.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/632ebc5c
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/632ebc5c
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/632ebc5c

Branch: refs/heads/trunk
Commit: 632ebc5c57e10b1fcf8b4b1ab31368202e851c0c
Parents: 0f59629 623aa6f
Author: Brandon Williams brandonwilli...@apache.org
Authored: Mon Nov 3 11:00:06 2014 -0600
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Mon Nov 3 11:00:44 2014 -0600

--
 CHANGES.txt   |  1 +
 src/java/org/apache/cassandra/service/StorageService.java | 10 +-
 2 files changed, 6 insertions(+), 5 deletions(-)
--


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

http://git-wip-us.apache.org/repos/asf/cassandra/blob/632ebc5c/src/java/org/apache/cassandra/service/StorageService.java
--
diff --cc src/java/org/apache/cassandra/service/StorageService.java
index ea21f3d,84a6c14..1cbf2b7
--- a/src/java/org/apache/cassandra/service/StorageService.java
+++ b/src/java/org/apache/cassandra/service/StorageService.java
@@@ -1610,9 -1659,21 +1610,14 @@@ public class StorageService extends Not
  if (tokenMetadata.isMoving(endpoint)) // if endpoint was moving to a 
new token
  {
  tokenMetadata.removeFromMoving(endpoint);
 -
 -if (!isClientMode)
 -{
 -for (IEndpointLifecycleSubscriber subscriber : 
lifecycleSubscribers)
 -subscriber.onMove(endpoint);
 -}
 +for (IEndpointLifecycleSubscriber subscriber : 
lifecycleSubscribers)
 +subscriber.onMove(endpoint);
  }
+ else
+ {
 -if (!isClientMode)
 -{
 -for (IEndpointLifecycleSubscriber subscriber : 
lifecycleSubscribers)
 -subscriber.onJoinCluster(endpoint);
 -}
++for (IEndpointLifecycleSubscriber subscriber : 
lifecycleSubscribers)
++subscriber.onJoinCluster(endpoint);
+ }
  
  PendingRangeCalculatorService.instance.update();
  }



[2/6] git commit: Improve client notification that nodes are ready for requests

2014-11-03 Thread brandonwilliams
Improve client notification that nodes are ready for requests

Patch by Brandon Williams, reviewed by thobbs for CASSANDRA-7510


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

Branch: refs/heads/cassandra-2.1
Commit: 5548bf45e9b2cc61cbc131022b3df10924d88a95
Parents: ef14f51
Author: Brandon Williams brandonwilli...@apache.org
Authored: Mon Nov 3 10:59:07 2014 -0600
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Mon Nov 3 10:59:07 2014 -0600

--
 CHANGES.txt|  1 +
 .../org/apache/cassandra/service/StorageService.java   | 13 -
 2 files changed, 9 insertions(+), 5 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/5548bf45/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 4387d81..0ec3ff1 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.0.12:
+ * Improve client notification that nodes are ready for requests 
(CASSANDRA-7510)
  * Handle negative timestamp in writetime method (CASSANDRA-8139)
  * Pig: Remove errant LIMIT clause in CqlNativeStorage (CASSANDRA-8166)
  * Throw ConfigurationException when hsha is used with the default

http://git-wip-us.apache.org/repos/asf/cassandra/blob/5548bf45/src/java/org/apache/cassandra/service/StorageService.java
--
diff --git a/src/java/org/apache/cassandra/service/StorageService.java 
b/src/java/org/apache/cassandra/service/StorageService.java
index 4973e40..1f831b9 100644
--- a/src/java/org/apache/cassandra/service/StorageService.java
+++ b/src/java/org/apache/cassandra/service/StorageService.java
@@ -1616,6 +1616,14 @@ public class StorageService extends 
NotificationBroadcasterSupport implements IE
 subscriber.onMove(endpoint);
 }
 }
+else
+{
+if (!isClientMode)
+{
+for (IEndpointLifecycleSubscriber subscriber : 
lifecycleSubscribers)
+subscriber.onJoinCluster(endpoint);
+}
+}
 
 PendingRangeCalculatorService.instance.update();
 }
@@ -1982,11 +1990,6 @@ public class StorageService extends 
NotificationBroadcasterSupport implements IE
 for (IEndpointLifecycleSubscriber subscriber : 
lifecycleSubscribers)
 subscriber.onUp(endpoint);
 }
-else
-{
-for (IEndpointLifecycleSubscriber subscriber : 
lifecycleSubscribers)
-subscriber.onJoinCluster(endpoint);
-}
 }
 
 public void onRemove(InetAddress endpoint)



[5/6] git commit: Merge branch 'cassandra-2.0' into cassandra-2.1

2014-11-03 Thread brandonwilliams
Merge branch 'cassandra-2.0' into cassandra-2.1

Conflicts:
CHANGES.txt


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

Branch: refs/heads/cassandra-2.1
Commit: 623aa6fe76af358391f9c7f185fb7f28376a6c7e
Parents: 5160c91 5548bf4
Author: Brandon Williams brandonwilli...@apache.org
Authored: Mon Nov 3 10:59:56 2014 -0600
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Mon Nov 3 10:59:56 2014 -0600

--
 CHANGES.txt|  1 +
 .../org/apache/cassandra/service/StorageService.java   | 13 -
 2 files changed, 9 insertions(+), 5 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/623aa6fe/CHANGES.txt
--
diff --cc CHANGES.txt
index 32083cc,0ec3ff1..b9b92fb
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,17 -1,5 +1,18 @@@
 -2.0.12:
 +2.1.2
 + * Refactor how we track live size (CASSANDRA-7852)
 + * Make sure unfinished compaction files are removed (CASSANDRA-8124)
 + * Fix shutdown when run as Windows service (CASSANDRA-8136)
 + * Fix DESCRIBE TABLE with custom indexes (CASSANDRA-8031)
 + * Fix race in RecoveryManagerTest (CASSANDRA-8176)
 + * Avoid IllegalArgumentException while sorting sstables in
 +   IndexSummaryManager (CASSANDRA-8182)
 + * Shutdown JVM on file descriptor exhaustion (CASSANDRA-7579)
 + * Add 'die' policy for commit log and disk failure (CASSANDRA-7927)
 + * Fix installing as service on Windows (CASSANDRA-8115)
 + * Fix CREATE TABLE for CQL2 (CASSANDRA-8144)
 + * Avoid boxing in ColumnStats min/max trackers (CASSANDRA-8109)
 +Merged from 2.0:
+  * Improve client notification that nodes are ready for requests 
(CASSANDRA-7510)
   * Handle negative timestamp in writetime method (CASSANDRA-8139)
   * Pig: Remove errant LIMIT clause in CqlNativeStorage (CASSANDRA-8166)
   * Throw ConfigurationException when hsha is used with the default

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



[1/6] git commit: Improve client notification that nodes are ready for requests

2014-11-03 Thread brandonwilliams
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.0 ef14f5165 - 5548bf45e
  refs/heads/cassandra-2.1 5160c916c - 623aa6fe7
  refs/heads/trunk 0f59629ce - 632ebc5c5


Improve client notification that nodes are ready for requests

Patch by Brandon Williams, reviewed by thobbs for CASSANDRA-7510


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

Branch: refs/heads/cassandra-2.0
Commit: 5548bf45e9b2cc61cbc131022b3df10924d88a95
Parents: ef14f51
Author: Brandon Williams brandonwilli...@apache.org
Authored: Mon Nov 3 10:59:07 2014 -0600
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Mon Nov 3 10:59:07 2014 -0600

--
 CHANGES.txt|  1 +
 .../org/apache/cassandra/service/StorageService.java   | 13 -
 2 files changed, 9 insertions(+), 5 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/5548bf45/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 4387d81..0ec3ff1 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.0.12:
+ * Improve client notification that nodes are ready for requests 
(CASSANDRA-7510)
  * Handle negative timestamp in writetime method (CASSANDRA-8139)
  * Pig: Remove errant LIMIT clause in CqlNativeStorage (CASSANDRA-8166)
  * Throw ConfigurationException when hsha is used with the default

http://git-wip-us.apache.org/repos/asf/cassandra/blob/5548bf45/src/java/org/apache/cassandra/service/StorageService.java
--
diff --git a/src/java/org/apache/cassandra/service/StorageService.java 
b/src/java/org/apache/cassandra/service/StorageService.java
index 4973e40..1f831b9 100644
--- a/src/java/org/apache/cassandra/service/StorageService.java
+++ b/src/java/org/apache/cassandra/service/StorageService.java
@@ -1616,6 +1616,14 @@ public class StorageService extends 
NotificationBroadcasterSupport implements IE
 subscriber.onMove(endpoint);
 }
 }
+else
+{
+if (!isClientMode)
+{
+for (IEndpointLifecycleSubscriber subscriber : 
lifecycleSubscribers)
+subscriber.onJoinCluster(endpoint);
+}
+}
 
 PendingRangeCalculatorService.instance.update();
 }
@@ -1982,11 +1990,6 @@ public class StorageService extends 
NotificationBroadcasterSupport implements IE
 for (IEndpointLifecycleSubscriber subscriber : 
lifecycleSubscribers)
 subscriber.onUp(endpoint);
 }
-else
-{
-for (IEndpointLifecycleSubscriber subscriber : 
lifecycleSubscribers)
-subscriber.onJoinCluster(endpoint);
-}
 }
 
 public void onRemove(InetAddress endpoint)



[3/6] git commit: Improve client notification that nodes are ready for requests

2014-11-03 Thread brandonwilliams
Improve client notification that nodes are ready for requests

Patch by Brandon Williams, reviewed by thobbs for CASSANDRA-7510


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

Branch: refs/heads/trunk
Commit: 5548bf45e9b2cc61cbc131022b3df10924d88a95
Parents: ef14f51
Author: Brandon Williams brandonwilli...@apache.org
Authored: Mon Nov 3 10:59:07 2014 -0600
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Mon Nov 3 10:59:07 2014 -0600

--
 CHANGES.txt|  1 +
 .../org/apache/cassandra/service/StorageService.java   | 13 -
 2 files changed, 9 insertions(+), 5 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/5548bf45/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 4387d81..0ec3ff1 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.0.12:
+ * Improve client notification that nodes are ready for requests 
(CASSANDRA-7510)
  * Handle negative timestamp in writetime method (CASSANDRA-8139)
  * Pig: Remove errant LIMIT clause in CqlNativeStorage (CASSANDRA-8166)
  * Throw ConfigurationException when hsha is used with the default

http://git-wip-us.apache.org/repos/asf/cassandra/blob/5548bf45/src/java/org/apache/cassandra/service/StorageService.java
--
diff --git a/src/java/org/apache/cassandra/service/StorageService.java 
b/src/java/org/apache/cassandra/service/StorageService.java
index 4973e40..1f831b9 100644
--- a/src/java/org/apache/cassandra/service/StorageService.java
+++ b/src/java/org/apache/cassandra/service/StorageService.java
@@ -1616,6 +1616,14 @@ public class StorageService extends 
NotificationBroadcasterSupport implements IE
 subscriber.onMove(endpoint);
 }
 }
+else
+{
+if (!isClientMode)
+{
+for (IEndpointLifecycleSubscriber subscriber : 
lifecycleSubscribers)
+subscriber.onJoinCluster(endpoint);
+}
+}
 
 PendingRangeCalculatorService.instance.update();
 }
@@ -1982,11 +1990,6 @@ public class StorageService extends 
NotificationBroadcasterSupport implements IE
 for (IEndpointLifecycleSubscriber subscriber : 
lifecycleSubscribers)
 subscriber.onUp(endpoint);
 }
-else
-{
-for (IEndpointLifecycleSubscriber subscriber : 
lifecycleSubscribers)
-subscriber.onJoinCluster(endpoint);
-}
 }
 
 public void onRemove(InetAddress endpoint)



[4/6] git commit: Merge branch 'cassandra-2.0' into cassandra-2.1

2014-11-03 Thread brandonwilliams
Merge branch 'cassandra-2.0' into cassandra-2.1

Conflicts:
CHANGES.txt


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

Branch: refs/heads/trunk
Commit: 623aa6fe76af358391f9c7f185fb7f28376a6c7e
Parents: 5160c91 5548bf4
Author: Brandon Williams brandonwilli...@apache.org
Authored: Mon Nov 3 10:59:56 2014 -0600
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Mon Nov 3 10:59:56 2014 -0600

--
 CHANGES.txt|  1 +
 .../org/apache/cassandra/service/StorageService.java   | 13 -
 2 files changed, 9 insertions(+), 5 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/623aa6fe/CHANGES.txt
--
diff --cc CHANGES.txt
index 32083cc,0ec3ff1..b9b92fb
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,17 -1,5 +1,18 @@@
 -2.0.12:
 +2.1.2
 + * Refactor how we track live size (CASSANDRA-7852)
 + * Make sure unfinished compaction files are removed (CASSANDRA-8124)
 + * Fix shutdown when run as Windows service (CASSANDRA-8136)
 + * Fix DESCRIBE TABLE with custom indexes (CASSANDRA-8031)
 + * Fix race in RecoveryManagerTest (CASSANDRA-8176)
 + * Avoid IllegalArgumentException while sorting sstables in
 +   IndexSummaryManager (CASSANDRA-8182)
 + * Shutdown JVM on file descriptor exhaustion (CASSANDRA-7579)
 + * Add 'die' policy for commit log and disk failure (CASSANDRA-7927)
 + * Fix installing as service on Windows (CASSANDRA-8115)
 + * Fix CREATE TABLE for CQL2 (CASSANDRA-8144)
 + * Avoid boxing in ColumnStats min/max trackers (CASSANDRA-8109)
 +Merged from 2.0:
+  * Improve client notification that nodes are ready for requests 
(CASSANDRA-7510)
   * Handle negative timestamp in writetime method (CASSANDRA-8139)
   * Pig: Remove errant LIMIT clause in CqlNativeStorage (CASSANDRA-8166)
   * Throw ConfigurationException when hsha is used with the default

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



[jira] [Commented] (CASSANDRA-8245) Cassandra nodes periodically die in 2-DC configuration

2014-11-03 Thread Michael Shuler (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8245?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14194735#comment-14194735
 ] 

Michael Shuler commented on CASSANDRA-8245:
---

To me, this appears to be symptomatic of something more basic to cluster/node 
configuration, thus minor. Critical would indicate a reproducible but causing 
something like data loss. Provide the steps to reproduce, along with verifiable 
data loss, and we can talk about the severity  :)  It's just a setting that can 
be changed to prioritize bugs for developer eyes.

 Cassandra nodes periodically die in 2-DC configuration
 --

 Key: CASSANDRA-8245
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8245
 Project: Cassandra
  Issue Type: Bug
  Components: Core
 Environment: Scientific Linux release 6.5
 java version 1.7.0_51
 Cassandra 2.0.9
Reporter: Oleg Poleshuk
Priority: Minor

 We have 2 DCs with 3 nodes in each.
 Second DC periodically has 1-2 nodes down.
 Looks like it looses connectivity with another nodes and then Gossiper starts 
 to accumulate tasks until Cassandra dies with OOM.
 WARN [MemoryMeter:1] 2014-08-12 14:34:59,803 Memtable.java (line 470) setting 
 live ratio to maximum of 64.0 instead of Infinity
  WARN [GossipTasks:1] 2014-08-12 14:44:34,866 Gossiper.java (line 637) Gossip 
 stage has 1 pending tasks; skipping status check (no nodes will be marked 
 down)
  WARN [GossipTasks:1] 2014-08-12 14:44:35,968 Gossiper.java (line 637) Gossip 
 stage has 4 pending tasks; skipping status check (no nodes will be marked 
 down)
  WARN [GossipTasks:1] 2014-08-12 14:44:37,070 Gossiper.java (line 637) Gossip 
 stage has 8 pending tasks; skipping status check (no nodes will be marked 
 down)
  WARN [GossipTasks:1] 2014-08-12 14:44:38,171 Gossiper.java (line 637) Gossip 
 stage has 11 pending tasks; skipping status check (no nodes will be marked 
 down)
 ...
 WARN [GossipTasks:1] 2014-10-06 21:42:51,575 Gossiper.java (line 637) Gossip 
 stage has 1014764 pending tasks; skipping status check (no nodes will be 
 marked down)
  WARN [New I/O worker #13] 2014-10-06 21:54:27,010 Slf4JLogger.java (line 76) 
 Unexpected exception in the selector loop.
 java.lang.OutOfMemoryError: Java heap space
 Also those lines but not sure it is relevant:
 DEBUG [GossipStage:1] 2014-08-12 11:33:18,801 FailureDetector.java (line 338) 
 Ignoring interval time of 2085963047



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Comment Edited] (CASSANDRA-8245) Cassandra nodes periodically die in 2-DC configuration

2014-11-03 Thread Michael Shuler (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8245?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14194735#comment-14194735
 ] 

Michael Shuler edited comment on CASSANDRA-8245 at 11/3/14 5:04 PM:


To me, this appears to be symptomatic of something more basic to cluster/node 
configuration, thus minor. Critical would indicate a reproducible bug causing 
something like data loss. Provide the steps to reproduce, along with verifiable 
data loss, and we can talk about the severity  :)  It's just a setting that can 
be changed to prioritize bugs for developer eyes.


was (Author: mshuler):
To me, this appears to be symptomatic of something more basic to cluster/node 
configuration, thus minor. Critical would indicate a reproducible but causing 
something like data loss. Provide the steps to reproduce, along with verifiable 
data loss, and we can talk about the severity  :)  It's just a setting that can 
be changed to prioritize bugs for developer eyes.

 Cassandra nodes periodically die in 2-DC configuration
 --

 Key: CASSANDRA-8245
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8245
 Project: Cassandra
  Issue Type: Bug
  Components: Core
 Environment: Scientific Linux release 6.5
 java version 1.7.0_51
 Cassandra 2.0.9
Reporter: Oleg Poleshuk
Priority: Minor

 We have 2 DCs with 3 nodes in each.
 Second DC periodically has 1-2 nodes down.
 Looks like it looses connectivity with another nodes and then Gossiper starts 
 to accumulate tasks until Cassandra dies with OOM.
 WARN [MemoryMeter:1] 2014-08-12 14:34:59,803 Memtable.java (line 470) setting 
 live ratio to maximum of 64.0 instead of Infinity
  WARN [GossipTasks:1] 2014-08-12 14:44:34,866 Gossiper.java (line 637) Gossip 
 stage has 1 pending tasks; skipping status check (no nodes will be marked 
 down)
  WARN [GossipTasks:1] 2014-08-12 14:44:35,968 Gossiper.java (line 637) Gossip 
 stage has 4 pending tasks; skipping status check (no nodes will be marked 
 down)
  WARN [GossipTasks:1] 2014-08-12 14:44:37,070 Gossiper.java (line 637) Gossip 
 stage has 8 pending tasks; skipping status check (no nodes will be marked 
 down)
  WARN [GossipTasks:1] 2014-08-12 14:44:38,171 Gossiper.java (line 637) Gossip 
 stage has 11 pending tasks; skipping status check (no nodes will be marked 
 down)
 ...
 WARN [GossipTasks:1] 2014-10-06 21:42:51,575 Gossiper.java (line 637) Gossip 
 stage has 1014764 pending tasks; skipping status check (no nodes will be 
 marked down)
  WARN [New I/O worker #13] 2014-10-06 21:54:27,010 Slf4JLogger.java (line 76) 
 Unexpected exception in the selector loop.
 java.lang.OutOfMemoryError: Java heap space
 Also those lines but not sure it is relevant:
 DEBUG [GossipStage:1] 2014-08-12 11:33:18,801 FailureDetector.java (line 338) 
 Ignoring interval time of 2085963047



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (CASSANDRA-7964) cassandra-stress over schema should support multiple simultaneous inserts over the same seed

2014-11-03 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis updated CASSANDRA-7964:
--
Reviewer: Robert Stupp

 cassandra-stress over schema should support multiple simultaneous inserts 
 over the same seed
 

 Key: CASSANDRA-7964
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7964
 Project: Cassandra
  Issue Type: Improvement
  Components: Tools
Reporter: Benedict
Assignee: Benedict
Priority: Minor

 This constraint makes testing contention essentially impossible



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-7964) cassandra-stress over schema should support multiple simultaneous inserts over the same seed

2014-11-03 Thread Jonathan Ellis (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-7964?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14194740#comment-14194740
 ] 

Jonathan Ellis commented on CASSANDRA-7964:
---

Can you review, [~snazy]?

 cassandra-stress over schema should support multiple simultaneous inserts 
 over the same seed
 

 Key: CASSANDRA-7964
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7964
 Project: Cassandra
  Issue Type: Improvement
  Components: Tools
Reporter: Benedict
Assignee: Benedict
Priority: Minor

 This constraint makes testing contention essentially impossible



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (CASSANDRA-7872) ensure compacted obsolete sstables are not open on node restart and nodetool refresh, even on sstable reference miscounting or deletion tasks are failed.

2014-11-03 Thread Oleg Anastasyev (JIRA)

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

Oleg Anastasyev updated CASSANDRA-7872:
---
Attachment: 7872-v2.0-robustness.txt
7872-v2.0-bugdetector.txt
7872-v2.0-NoPhQ.txt

OK, split it to 3 patches. They could be applied in order:

7872-v2.0-NoPhQ.txt - is all with no Phantom Queues. I.e. it has Compacted 
marker and removal of obsolete sstables on startup and nodetool refresh.

7872-v2.0-bugdetector.txt - has Phantom Queue to detect bugs in refcount (and 
whatever else) sstable tracking algorithm. I added additional 10 seconds pause 
before checking file existence on disk and alerting about bug found in refcount 
algorithm.

7872-v2.0-robustness.txt - I left the original sstable removal code here. I'd 
rather not call resilient action on the known detected failure papering out of 
a bug, so this one could be of use for ppl who want stuck sstable files 
removed from disk with no restart neccessary. This could be applied on top of 
*-bugdetector.txt

 ensure compacted obsolete sstables are not open on node restart and nodetool 
 refresh, even on sstable reference miscounting or deletion tasks are failed.
 -

 Key: CASSANDRA-7872
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7872
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Reporter: Oleg Anastasyev
Assignee: Oleg Anastasyev
 Fix For: 2.0.12

 Attachments: 7872-v2.0-NoPhQ.txt, 7872-v2.0-bugdetector.txt, 
 7872-v2.0-robustness.txt, EnsureNoObsoleteSSTables-7872-v2.0.txt


 Since CASSANDRA-4436 compacted sstables are no more marked with 
 COMPACTED_MARKER file. Instead after they are compacted, DataTracker calls 
 SSTableReader.markObsolete(), but the actual deletion is happening later on 
 SSTableReader.releaseReference().
 This reference counting is very fragile, it is very easy to introduce a 
 hard-to-catch and rare bug, so this reference count never reaches 0 ( like 
 CASSANDRA-6503 for example )
 This means, that very rarely obsolete sstable files are not removed from disk 
 (but are not used anymore by cassandra to read data).
 If more than gc grace time has passed since sstable file was not removed from 
 disk and operator issues either nodetool refresh or just reboots a node, 
 these obsolete files are being discovered and open for read by a node. So 
 deleted data is resurrected, being quickly spread by RR to whole cluster.
 Because consequences are very serious (even a single not removed obsolete 
 sstable file could render your data useless) this patch makes sure no 
 obsolete sstable file can be open for read by:
 1. Removing sstables on CFS init analyzing sstable generations (sstable is 
 removed, if there are another sstable, listing this as ancestor)
 2. Reimplementing COMPACTED_MARKER file for sstable. This marker is created 
 as soon as markObsolete is called. This is neccessary b/c generation info can 
 be lost (when sstables compact to none)
 3. To remove sstables sooner then restart - reimplemented the good old GC 
 phantom reference queue as well. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Resolved] (CASSANDRA-8232) Cassandra missing from Apache.org

2014-11-03 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis resolved CASSANDRA-8232.
---
Resolution: Duplicate

INFRA-8558

 Cassandra missing from Apache.org
 -

 Key: CASSANDRA-8232
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8232
 Project: Cassandra
  Issue Type: Bug
Reporter: Seth Rosenblum

 Not sure if this is the right place to report this, but Cassandra is missing 
 from one of the www.apache.org hosts (specifically 140.211.11.131).
 It should be here: http://140.211.11.131/dist/cassandra/



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-7979) Acceptable time skew for C*

2014-11-03 Thread Joshua McKenzie (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-7979?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14194805#comment-14194805
 ] 

Joshua McKenzie commented on CASSANDRA-7979:


[~kohlisankalp]: since new features are targeted at 2.1 or trunk and 2.0 is 
more or less feature-frozen, could you modify the 2.0 patch to be disabled by 
default and require a -D param to the JVM to enable it?  I'd be comfortable 
committing to 2.0 w/that change.

 Acceptable time skew for C*
 ---

 Key: CASSANDRA-7979
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7979
 Project: Cassandra
  Issue Type: Improvement
Reporter: sankalp kohli
Assignee: sankalp kohli
Priority: Minor
 Attachments: 2.0_7979.diff, 2.0_7979_v2.txt, 2.1_7979_v2.txt, 
 trunk_7979.diff, trunk_7979_v2.txt


 It is very hard to know the bounds on clock skew required for C* to work 
 properly. Since the resolution is based on time and is at thrift column 
 level, it depends on the application. How fast is the application updating 
 the same column. If you update a column say after 5 millisecond and the clock 
 skew is more than that, you might not see the updates in correct order. 
 In this JIRA, I am proposing a change which will answer this question: How 
 much clock skew is acceptable for a given application. This will help answer 
 the question whether the system needs some alternate NTP algorithms to keep 
 time in sync. 
 If we measure the time difference between two updates to the same column,  we 
 will be able to answer the question on clock skew. 
 We can implement this in memtable(AtomicSortedColumns.addColumn). If we find 
 that a column is updated within say 100 millisecond, add the diff to a 
 histogram. Since this might have performance issues, we might want to have 
 some throttling like randomization or only enable it for a small time via 
 nodetool. 
 With this histogram, we will know what is an acceptable clock skew. 
 Also apart from column resolution, is there any other area which will be 
 affected by clock skew? 
 Note: For the sake of argument, I am not talking about back date deletes or 
 application modified timestamps. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Assigned] (CASSANDRA-8235) nodetool repair leaves behind empty snapshot directories

2014-11-03 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis reassigned CASSANDRA-8235:
-

Assignee: Yuki Morishita

 nodetool repair leaves behind empty snapshot directories
 

 Key: CASSANDRA-8235
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8235
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
 Environment: Issue seen in Cassandra v2.0.9.61
Reporter: Thanh
Assignee: Yuki Morishita
Priority: Minor

 nodetool repair leaves behind empty snapshot directories
 You can see this by doing a nodetool clearsnapshot before doing a nodetool 
 repair.  The nodetool repair creates snapshots that it removes when repair 
 is completed, but it leaves behind the empty snapshots directories.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-8231) Wrong size of cached prepared statements

2014-11-03 Thread Jonathan Ellis (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8231?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14194840#comment-14194840
 ] 

Jonathan Ellis commented on CASSANDRA-8231:
---

JAMM provides something similar with ObjectSizes.

 Wrong size of cached prepared statements
 

 Key: CASSANDRA-8231
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8231
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Reporter: Jaroslav Kamenik
Assignee: Benjamin Lerer
 Attachments: 8231-notes.txt, Unsafes.java


 Cassandra counts memory footprint of prepared statements for caching 
 purposes. It seems, that there is problem with some statements, ie 
 SelectStatement. Even simple selects is counted as 100KB object, updates, 
 deletes etc have few hundreds or thousands bytes. Result is that cache - 
 QueryProcessor.preparedStatements  - holds just fraction of statements..
 I dig a little into the code, and it seems that problem is in jamm in class 
 MemoryMeter. It seems that if instance contains reference to class, it counts 
 size of whole class too. SelectStatement references EnumSet through 
 ResultSet.Metadata and EnumSet holds reference to Enum class...



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-7979) Acceptable time skew for C*

2014-11-03 Thread sankalp kohli (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-7979?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14194850#comment-14194850
 ] 

sankalp kohli commented on CASSANDRA-7979:
--

Sure. Let me give you that patch. If you like, you can commit the other 2.1 and 
trunk patches. 

 Acceptable time skew for C*
 ---

 Key: CASSANDRA-7979
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7979
 Project: Cassandra
  Issue Type: Improvement
Reporter: sankalp kohli
Assignee: sankalp kohli
Priority: Minor
 Attachments: 2.0_7979.diff, 2.0_7979_v2.txt, 2.1_7979_v2.txt, 
 trunk_7979.diff, trunk_7979_v2.txt


 It is very hard to know the bounds on clock skew required for C* to work 
 properly. Since the resolution is based on time and is at thrift column 
 level, it depends on the application. How fast is the application updating 
 the same column. If you update a column say after 5 millisecond and the clock 
 skew is more than that, you might not see the updates in correct order. 
 In this JIRA, I am proposing a change which will answer this question: How 
 much clock skew is acceptable for a given application. This will help answer 
 the question whether the system needs some alternate NTP algorithms to keep 
 time in sync. 
 If we measure the time difference between two updates to the same column,  we 
 will be able to answer the question on clock skew. 
 We can implement this in memtable(AtomicSortedColumns.addColumn). If we find 
 that a column is updated within say 100 millisecond, add the diff to a 
 histogram. Since this might have performance issues, we might want to have 
 some throttling like randomization or only enable it for a small time via 
 nodetool. 
 With this histogram, we will know what is an acceptable clock skew. 
 Also apart from column resolution, is there any other area which will be 
 affected by clock skew? 
 Note: For the sake of argument, I am not talking about back date deletes or 
 application modified timestamps. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-8209) Cassandra crashes when running on JDK8 update 40

2014-11-03 Thread Jonathan Ellis (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8209?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14194855#comment-14194855
 ] 

Jonathan Ellis commented on CASSANDRA-8209:
---

Thanks, guys.  Can close this?

 Cassandra crashes when running on JDK8 update 40
 

 Key: CASSANDRA-8209
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8209
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Reporter: Jaroslav Kamenik
Assignee: T Jake Luciani
Priority: Critical
 Fix For: 2.1.2

 Attachments: 8209.txt


 It seems that problem is change made in update 40 - 
 https://bugs.openjdk.java.net/browse/JDK-6642881
 result is:
 java.lang.SecurityException: Cannot make java.lang.Class.classLoader 
 accessible
 at 
 java.lang.reflect.AccessibleObject.setAccessible0(AccessibleObject.java:147) 
 ~[na:1.8.0_40-ea]
 at 
 java.lang.reflect.AccessibleObject.setAccessible(AccessibleObject.java:129) 
 ~[na:1.8.0_40-ea]
 at org.github.jamm.MemoryMeter.addFieldChildren(MemoryMeter.java:204) 
 ~[jamm-0.2.6.jar:na]
 at org.github.jamm.MemoryMeter.measureDeep(MemoryMeter.java:158) 
 ~[jamm-0.2.6.jar:na]
 at 
 org.apache.cassandra.cql3.statements.SelectStatement.measureForPreparedCache(SelectStatement.java:166)
  ~[apache-cassandra-2.1.1.jar:2.1.1]
 at 
 org.apache.cassandra.cql3.QueryProcessor.measure(QueryProcessor.java:546) 
 ~[apache-cassandra-2.1.1.jar:2.1.1]
 at 
 org.apache.cassandra.cql3.QueryProcessor.storePreparedStatement(QueryProcessor.java:441)
  ~[apache-cassandra-2.1.1.jar:2.1.1]
 at 
 org.apache.cassandra.cql3.QueryProcessor.prepare(QueryProcessor.java:404) 
 ~[apache-cassandra-2.1.1.jar:2.1.1]
 at 
 org.apache.cassandra.cql3.QueryProcessor.prepare(QueryProcessor.java:388) 
 ~[apache-cassandra-2.1.1.jar:2.1.1]
 at 
 org.apache.cassandra.transport.messages.PrepareMessage.execute(PrepareMessage.java:77)
  ~[apache-cassandra-2.1.1.jar:2.1.1]
 at 
 org.apache.cassandra.transport.Message$Dispatcher.channelRead0(Message.java:439)
  [apache-cassandra-2.1.1.jar:2.1.1]
 at 
 org.apache.cassandra.transport.Message$Dispatcher.channelRead0(Message.java:335)
  [apache-cassandra-2.1.1.jar:2.1.1]
 at 
 io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105)
  [netty-all-4.0.23.Final.jar:4.0.23.Final]
 at 
 io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:333)
  [netty-all-4.0.23.Final.jar:4.0.23.Final]
 at 
 io.netty.channel.AbstractChannelHandlerContext.access$700(AbstractChannelHandlerContext.java:32)
  [netty-all-4.0.23.Final.jar:4.0.23.Final]
 at 
 io.netty.channel.AbstractChannelHandlerContext$8.run(AbstractChannelHandlerContext.java:324)
  [netty-all-4.0.23.Final.jar:4.0.23.Final]
 at 
 java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
 [na:1.8.0_40-ea]
 at 
 org.apache.cassandra.concurrent.AbstractTracingAwareExecutorService$FutureTask.run(AbstractTracingAwareExecutorService.java:164)
  [apache-cassandra-2.1.1.jar:2.1.1]
 at org.apache.cassandra.concurrent.SEPWorker.run(SEPWorker.java:105) 
 [apache-cassandra-2.1.1.jar:2.1.1]
 at java.lang.Thread.run(Thread.java:745) [na:1.8.0_40-ea]



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-8209) Cassandra crashes when running on JDK8 update 40

2014-11-03 Thread Dave Brosius (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8209?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14194866#comment-14194866
 ] 

Dave Brosius commented on CASSANDRA-8209:
-

Need to update c*'s jamm dependency to 0.2.8

 Cassandra crashes when running on JDK8 update 40
 

 Key: CASSANDRA-8209
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8209
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Reporter: Jaroslav Kamenik
Assignee: T Jake Luciani
Priority: Critical
 Fix For: 2.1.2

 Attachments: 8209.txt


 It seems that problem is change made in update 40 - 
 https://bugs.openjdk.java.net/browse/JDK-6642881
 result is:
 java.lang.SecurityException: Cannot make java.lang.Class.classLoader 
 accessible
 at 
 java.lang.reflect.AccessibleObject.setAccessible0(AccessibleObject.java:147) 
 ~[na:1.8.0_40-ea]
 at 
 java.lang.reflect.AccessibleObject.setAccessible(AccessibleObject.java:129) 
 ~[na:1.8.0_40-ea]
 at org.github.jamm.MemoryMeter.addFieldChildren(MemoryMeter.java:204) 
 ~[jamm-0.2.6.jar:na]
 at org.github.jamm.MemoryMeter.measureDeep(MemoryMeter.java:158) 
 ~[jamm-0.2.6.jar:na]
 at 
 org.apache.cassandra.cql3.statements.SelectStatement.measureForPreparedCache(SelectStatement.java:166)
  ~[apache-cassandra-2.1.1.jar:2.1.1]
 at 
 org.apache.cassandra.cql3.QueryProcessor.measure(QueryProcessor.java:546) 
 ~[apache-cassandra-2.1.1.jar:2.1.1]
 at 
 org.apache.cassandra.cql3.QueryProcessor.storePreparedStatement(QueryProcessor.java:441)
  ~[apache-cassandra-2.1.1.jar:2.1.1]
 at 
 org.apache.cassandra.cql3.QueryProcessor.prepare(QueryProcessor.java:404) 
 ~[apache-cassandra-2.1.1.jar:2.1.1]
 at 
 org.apache.cassandra.cql3.QueryProcessor.prepare(QueryProcessor.java:388) 
 ~[apache-cassandra-2.1.1.jar:2.1.1]
 at 
 org.apache.cassandra.transport.messages.PrepareMessage.execute(PrepareMessage.java:77)
  ~[apache-cassandra-2.1.1.jar:2.1.1]
 at 
 org.apache.cassandra.transport.Message$Dispatcher.channelRead0(Message.java:439)
  [apache-cassandra-2.1.1.jar:2.1.1]
 at 
 org.apache.cassandra.transport.Message$Dispatcher.channelRead0(Message.java:335)
  [apache-cassandra-2.1.1.jar:2.1.1]
 at 
 io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105)
  [netty-all-4.0.23.Final.jar:4.0.23.Final]
 at 
 io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:333)
  [netty-all-4.0.23.Final.jar:4.0.23.Final]
 at 
 io.netty.channel.AbstractChannelHandlerContext.access$700(AbstractChannelHandlerContext.java:32)
  [netty-all-4.0.23.Final.jar:4.0.23.Final]
 at 
 io.netty.channel.AbstractChannelHandlerContext$8.run(AbstractChannelHandlerContext.java:324)
  [netty-all-4.0.23.Final.jar:4.0.23.Final]
 at 
 java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
 [na:1.8.0_40-ea]
 at 
 org.apache.cassandra.concurrent.AbstractTracingAwareExecutorService$FutureTask.run(AbstractTracingAwareExecutorService.java:164)
  [apache-cassandra-2.1.1.jar:2.1.1]
 at org.apache.cassandra.concurrent.SEPWorker.run(SEPWorker.java:105) 
 [apache-cassandra-2.1.1.jar:2.1.1]
 at java.lang.Thread.run(Thread.java:745) [na:1.8.0_40-ea]



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-8241) Use javac instead of javassist

2014-11-03 Thread Jonathan Ellis (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8241?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14194868#comment-14194868
 ] 

Jonathan Ellis commented on CASSANDRA-8241:
---

This may still be a good idea, but doesn't this mean users need to deploy a JDK 
(which has stricter license requirements) and not just a JRE?

 Use javac instead of javassist
 --

 Key: CASSANDRA-8241
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8241
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Reporter: Robert Stupp
Assignee: Robert Stupp
  Labels: udf
 Fix For: 3.0

 Attachments: udf-java-javac.txt


 Using JDK's built-in Java-Compiler API has some advantages over javassist.
 Although compilation feels a bit slower, Java compiler API has some 
 advantages:
 * boxing + unboxing works
 * generics work
 * compiler error messages are better (or at least known) and have line/column 
 numbers
 The implementation does not use any temp files. Everything's in memory.
 Patch attached to this issue.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (CASSANDRA-7979) Acceptable time skew for C*

2014-11-03 Thread sankalp kohli (JIRA)

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

sankalp kohli updated CASSANDRA-7979:
-
Attachment: 2.0_7979_v3.txt

 Acceptable time skew for C*
 ---

 Key: CASSANDRA-7979
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7979
 Project: Cassandra
  Issue Type: Improvement
Reporter: sankalp kohli
Assignee: sankalp kohli
Priority: Minor
 Attachments: 2.0_7979.diff, 2.0_7979_v2.txt, 2.0_7979_v3.txt, 
 2.1_7979_v2.txt, trunk_7979.diff, trunk_7979_v2.txt


 It is very hard to know the bounds on clock skew required for C* to work 
 properly. Since the resolution is based on time and is at thrift column 
 level, it depends on the application. How fast is the application updating 
 the same column. If you update a column say after 5 millisecond and the clock 
 skew is more than that, you might not see the updates in correct order. 
 In this JIRA, I am proposing a change which will answer this question: How 
 much clock skew is acceptable for a given application. This will help answer 
 the question whether the system needs some alternate NTP algorithms to keep 
 time in sync. 
 If we measure the time difference between two updates to the same column,  we 
 will be able to answer the question on clock skew. 
 We can implement this in memtable(AtomicSortedColumns.addColumn). If we find 
 that a column is updated within say 100 millisecond, add the diff to a 
 histogram. Since this might have performance issues, we might want to have 
 some throttling like randomization or only enable it for a small time via 
 nodetool. 
 With this histogram, we will know what is an acceptable clock skew. 
 Also apart from column resolution, is there any other area which will be 
 affected by clock skew? 
 Note: For the sake of argument, I am not talking about back date deletes or 
 application modified timestamps. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-7979) Acceptable time skew for C*

2014-11-03 Thread sankalp kohli (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-7979?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14194878#comment-14194878
 ] 

sankalp kohli commented on CASSANDRA-7979:
--

Attached patch for 2.0 which makes it off by default. The histogram will not 
have any values since it will always return Long.MAX. 


 Acceptable time skew for C*
 ---

 Key: CASSANDRA-7979
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7979
 Project: Cassandra
  Issue Type: Improvement
Reporter: sankalp kohli
Assignee: sankalp kohli
Priority: Minor
 Attachments: 2.0_7979.diff, 2.0_7979_v2.txt, 2.0_7979_v3.txt, 
 2.1_7979_v2.txt, trunk_7979.diff, trunk_7979_v2.txt


 It is very hard to know the bounds on clock skew required for C* to work 
 properly. Since the resolution is based on time and is at thrift column 
 level, it depends on the application. How fast is the application updating 
 the same column. If you update a column say after 5 millisecond and the clock 
 skew is more than that, you might not see the updates in correct order. 
 In this JIRA, I am proposing a change which will answer this question: How 
 much clock skew is acceptable for a given application. This will help answer 
 the question whether the system needs some alternate NTP algorithms to keep 
 time in sync. 
 If we measure the time difference between two updates to the same column,  we 
 will be able to answer the question on clock skew. 
 We can implement this in memtable(AtomicSortedColumns.addColumn). If we find 
 that a column is updated within say 100 millisecond, add the diff to a 
 histogram. Since this might have performance issues, we might want to have 
 some throttling like randomization or only enable it for a small time via 
 nodetool. 
 With this histogram, we will know what is an acceptable clock skew. 
 Also apart from column resolution, is there any other area which will be 
 affected by clock skew? 
 Note: For the sake of argument, I am not talking about back date deletes or 
 application modified timestamps. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Created] (CASSANDRA-8246) Default timestamp for QueryOptions should be Long.MIN_VALUE

2014-11-03 Thread Sam Tunnicliffe (JIRA)
Sam Tunnicliffe created CASSANDRA-8246:
--

 Summary: Default timestamp for QueryOptions should be 
Long.MIN_VALUE
 Key: CASSANDRA-8246
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8246
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Reporter: Sam Tunnicliffe
Assignee: Sam Tunnicliffe
 Fix For: 2.1.2


CASSANDRA-8139 adds proper handling for negative timestamps, but one case was 
missed in the merge to cassandra-2.1.
{{QueryOptions.SpecificOptions.DEFAULT}} is still created with a timestamp of 
-1, so statements which do not come in via the native protocol will retain this 
timestamp and not be assigned a server-side timestamp at execution 
time.{{QueryOptions.Codec}} does the right thing, so statements that do come 
via the protocol are unaffected.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (CASSANDRA-8246) Default timestamp for QueryOptions should be Long.MIN_VALUE

2014-11-03 Thread Sam Tunnicliffe (JIRA)

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

Sam Tunnicliffe updated CASSANDRA-8246:
---
Attachment: 8246.txt

Attached patch is a one liner to fix the default value, plus a unit test using 
{{QueryProcessor.instance.process}} to illustrate the problem (the test may be 
overkill).

 Default timestamp for QueryOptions should be Long.MIN_VALUE
 ---

 Key: CASSANDRA-8246
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8246
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Reporter: Sam Tunnicliffe
Assignee: Sam Tunnicliffe
 Fix For: 2.1.2

 Attachments: 8246.txt


 CASSANDRA-8139 adds proper handling for negative timestamps, but one case was 
 missed in the merge to cassandra-2.1.
 {{QueryOptions.SpecificOptions.DEFAULT}} is still created with a timestamp of 
 -1, so statements which do not come in via the native protocol will retain 
 this timestamp and not be assigned a server-side timestamp at execution 
 time.{{QueryOptions.Codec}} does the right thing, so statements that do come 
 via the protocol are unaffected.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (CASSANDRA-8246) Default timestamp for QueryOptions should be Long.MIN_VALUE

2014-11-03 Thread Sam Tunnicliffe (JIRA)

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

Sam Tunnicliffe updated CASSANDRA-8246:
---
Reviewer: Sylvain Lebresne

 Default timestamp for QueryOptions should be Long.MIN_VALUE
 ---

 Key: CASSANDRA-8246
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8246
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Reporter: Sam Tunnicliffe
Assignee: Sam Tunnicliffe
 Fix For: 2.1.2

 Attachments: 8246.txt


 CASSANDRA-8139 adds proper handling for negative timestamps, but one case was 
 missed in the merge to cassandra-2.1.
 {{QueryOptions.SpecificOptions.DEFAULT}} is still created with a timestamp of 
 -1, so statements which do not come in via the native protocol will retain 
 this timestamp and not be assigned a server-side timestamp at execution 
 time.{{QueryOptions.Codec}} does the right thing, so statements that do come 
 via the protocol are unaffected.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[1/2] Clean up generics in dht package

2014-11-03 Thread jmckenzie
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.1 623aa6fe7 - ad84e4d7e


http://git-wip-us.apache.org/repos/asf/cassandra/blob/ad84e4d7/test/unit/org/apache/cassandra/dht/RandomPartitionerTest.java
--
diff --git a/test/unit/org/apache/cassandra/dht/RandomPartitionerTest.java 
b/test/unit/org/apache/cassandra/dht/RandomPartitionerTest.java
index 90501ab..09a1d65 100644
--- a/test/unit/org/apache/cassandra/dht/RandomPartitionerTest.java
+++ b/test/unit/org/apache/cassandra/dht/RandomPartitionerTest.java
@@ -20,7 +20,7 @@ package org.apache.cassandra.dht;
  *
  */
 
-public class RandomPartitionerTest extends PartitionerTestCaseBigIntegerToken
+public class RandomPartitionerTest extends PartitionerTestCase
 {
 public void initPartitioner()
 {

http://git-wip-us.apache.org/repos/asf/cassandra/blob/ad84e4d7/test/unit/org/apache/cassandra/dht/RangeTest.java
--
diff --git a/test/unit/org/apache/cassandra/dht/RangeTest.java 
b/test/unit/org/apache/cassandra/dht/RangeTest.java
index aa35c0a..906396c 100644
--- a/test/unit/org/apache/cassandra/dht/RangeTest.java
+++ b/test/unit/org/apache/cassandra/dht/RangeTest.java
@@ -179,7 +179,7 @@ public class RangeTest
 assert not.intersects(twowrap);
 }
 
-static T extends RingPosition void assertIntersection(Range one, Range 
two, RangeT ... ranges)
+static T extends RingPositionT void assertIntersection(Range one, 
Range two, RangeT ... ranges)
 {
 SetRangeT correct = Range.rangeSet(ranges);
 SetRange result1 = one.intersectionWith(two);
@@ -466,7 +466,7 @@ public class RangeTest
 checkDifference(oldRange, newTokens6, expected6);
 }
 
-private T extends RingPosition void assertNormalize(ListRangeT 
input, ListRangeT expected)
+private T extends RingPositionT void assertNormalize(ListRangeT 
input, ListRangeT expected)
 {
 ListRangeT result = Range.normalize(input);
 assert result.equals(expected) : Expecting  + expected +  but got  
+ result;



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

2014-11-03 Thread jmckenzie
Merge branch 'cassandra-2.1' into trunk

Conflicts:
src/java/org/apache/cassandra/cql/QueryProcessor.java
src/java/org/apache/cassandra/io/sstable/format/big/BigTableWriter.java


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

Branch: refs/heads/trunk
Commit: 49768fea0071bd2f084c70c9b87468e2f48eb2a5
Parents: 632ebc5 ad84e4d
Author: Joshua McKenzie jmcken...@apache.org
Authored: Mon Nov 3 13:06:25 2014 -0600
Committer: Joshua McKenzie jmcken...@apache.org
Committed: Mon Nov 3 13:06:25 2014 -0600

--
 .../org/apache/cassandra/client/RingCache.java  |   8 +-
 .../cassandra/config/DatabaseDescriptor.java|   6 +-
 .../cql3/statements/SelectStatement.java|   4 +-
 .../apache/cassandra/db/BatchlogManager.java|   2 +-
 .../cassandra/db/HintedHandOffManager.java  |   2 +-
 .../db/marshal/LocalByPartionerType.java|   7 +-
 .../apache/cassandra/dht/AbstractBounds.java|   4 +-
 .../dht/AbstractByteOrderedPartitioner.java |  20 +-
 .../cassandra/dht/AbstractPartitioner.java  |   5 +-
 .../org/apache/cassandra/dht/AbstractToken.java |  53 +
 .../apache/cassandra/dht/BigIntegerToken.java   |   6 +-
 src/java/org/apache/cassandra/dht/Bounds.java   |   6 +-
 .../cassandra/dht/ByteOrderedPartitioner.java   |   4 +-
 .../org/apache/cassandra/dht/BytesToken.java|   5 +-
 .../apache/cassandra/dht/ExcludingBounds.java   |   4 +-
 .../org/apache/cassandra/dht/IPartitioner.java  |  12 +-
 .../cassandra/dht/IncludingExcludingBounds.java |   6 +-
 .../apache/cassandra/dht/LocalPartitioner.java  |   6 +-
 .../org/apache/cassandra/dht/LocalToken.java|   6 +-
 .../org/apache/cassandra/dht/LongToken.java |   6 +-
 .../cassandra/dht/Murmur3Partitioner.java   |  25 +-
 .../dht/OrderPreservingPartitioner.java |  20 +-
 .../apache/cassandra/dht/RandomPartitioner.java |  18 +-
 src/java/org/apache/cassandra/dht/Range.java|  39 ++--
 .../org/apache/cassandra/dht/RangeStreamer.java |   2 +-
 .../org/apache/cassandra/dht/RingPosition.java  |   2 +-
 .../org/apache/cassandra/dht/StringToken.java   |   6 +-
 src/java/org/apache/cassandra/dht/Token.java|  52 +
 .../apache/cassandra/gms/TokenSerializer.java   |   2 +-
 .../apache/cassandra/service/StorageProxy.java  |   2 +-
 .../cassandra/thrift/CassandraServer.java   |   4 +-
 .../apache/cassandra/tools/SSTableExport.java   |   2 +-
 .../apache/cassandra/tools/SSTableImport.java   |   6 +-
 .../cassandra/db/ColumnFamilyStoreTest.java |   2 +-
 .../apache/cassandra/db/KeyCollisionTest.java   | 230 ---
 .../apache/cassandra/dht/BootStrapperTest.java  |   2 +-
 .../dht/ByteOrderedPartitionerTest.java |   2 +-
 .../apache/cassandra/dht/KeyCollisionTest.java  | 230 +++
 .../cassandra/dht/Murmur3PartitionerTest.java   |   4 +-
 .../dht/OrderPreservingPartitionerTest.java |   2 +-
 .../cassandra/dht/PartitionerTestCase.java  |  12 +-
 .../cassandra/dht/RandomPartitionerTest.java|   2 +-
 .../org/apache/cassandra/dht/RangeTest.java |   4 +-
 43 files changed, 441 insertions(+), 401 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/49768fea/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
--

http://git-wip-us.apache.org/repos/asf/cassandra/blob/49768fea/src/java/org/apache/cassandra/cql3/statements/SelectStatement.java
--

http://git-wip-us.apache.org/repos/asf/cassandra/blob/49768fea/src/java/org/apache/cassandra/db/BatchlogManager.java
--

http://git-wip-us.apache.org/repos/asf/cassandra/blob/49768fea/src/java/org/apache/cassandra/db/HintedHandOffManager.java
--

http://git-wip-us.apache.org/repos/asf/cassandra/blob/49768fea/src/java/org/apache/cassandra/dht/BytesToken.java
--

http://git-wip-us.apache.org/repos/asf/cassandra/blob/49768fea/src/java/org/apache/cassandra/dht/RangeStreamer.java
--

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

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

[2/3] git commit: Clean up generics in dht package

2014-11-03 Thread jmckenzie
Clean up generics in dht package

Patch by blambov, reviewed by jmckenzie for CASSANDRA-8171


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

Branch: refs/heads/trunk
Commit: ad84e4d7ee02f2ae5f45d5d5d2cb50c6b10f3836
Parents: 623aa6f
Author: Branimir Lambov branimir.lam...@datastax.com
Authored: Mon Nov 3 13:04:37 2014 -0600
Committer: Joshua McKenzie jmcken...@apache.org
Committed: Mon Nov 3 13:04:37 2014 -0600

--
 .../org/apache/cassandra/client/RingCache.java  |   8 +-
 .../cassandra/config/DatabaseDescriptor.java|   6 +-
 .../apache/cassandra/cql/QueryProcessor.java|   2 +-
 .../cql3/statements/SelectStatement.java|   4 +-
 .../apache/cassandra/db/BatchlogManager.java|   2 +-
 .../cassandra/db/HintedHandOffManager.java  |   2 +-
 .../db/marshal/LocalByPartionerType.java|   7 +-
 .../apache/cassandra/dht/AbstractBounds.java|   4 +-
 .../dht/AbstractByteOrderedPartitioner.java |  20 +-
 .../cassandra/dht/AbstractPartitioner.java  |   5 +-
 .../org/apache/cassandra/dht/AbstractToken.java |  53 +
 .../apache/cassandra/dht/BigIntegerToken.java   |   6 +-
 src/java/org/apache/cassandra/dht/Bounds.java   |   6 +-
 .../cassandra/dht/ByteOrderedPartitioner.java   |   4 +-
 .../org/apache/cassandra/dht/BytesToken.java|   5 +-
 .../apache/cassandra/dht/ExcludingBounds.java   |   4 +-
 .../org/apache/cassandra/dht/IPartitioner.java  |  12 +-
 .../cassandra/dht/IncludingExcludingBounds.java |   6 +-
 .../apache/cassandra/dht/LocalPartitioner.java  |   6 +-
 .../org/apache/cassandra/dht/LocalToken.java|   6 +-
 .../org/apache/cassandra/dht/LongToken.java |   6 +-
 .../cassandra/dht/Murmur3Partitioner.java   |  25 ++-
 .../dht/OrderPreservingPartitioner.java |  20 +-
 .../apache/cassandra/dht/RandomPartitioner.java |  18 +-
 src/java/org/apache/cassandra/dht/Range.java|  39 ++--
 .../org/apache/cassandra/dht/RangeStreamer.java |   2 +-
 .../org/apache/cassandra/dht/RingPosition.java  |   2 +-
 .../org/apache/cassandra/dht/StringToken.java   |   6 +-
 src/java/org/apache/cassandra/dht/Token.java|  52 +
 .../apache/cassandra/gms/TokenSerializer.java   |   2 +-
 .../cassandra/io/sstable/SSTableWriter.java |   2 +-
 .../apache/cassandra/service/StorageProxy.java  |   2 +-
 .../cassandra/thrift/CassandraServer.java   |   4 +-
 .../apache/cassandra/tools/SSTableExport.java   |   2 +-
 .../apache/cassandra/tools/SSTableImport.java   |   6 +-
 .../cassandra/db/ColumnFamilyStoreTest.java |   2 +-
 .../apache/cassandra/db/KeyCollisionTest.java   | 217 ---
 .../apache/cassandra/dht/BootStrapperTest.java  |   2 +-
 .../dht/ByteOrderedPartitionerTest.java |   2 +-
 .../apache/cassandra/dht/KeyCollisionTest.java  | 217 +++
 .../cassandra/dht/Murmur3PartitionerTest.java   |   4 +-
 .../dht/OrderPreservingPartitionerTest.java |   2 +-
 .../cassandra/dht/PartitionerTestCase.java  |  12 +-
 .../cassandra/dht/RandomPartitionerTest.java|   2 +-
 .../org/apache/cassandra/dht/RangeTest.java |   4 +-
 45 files changed, 430 insertions(+), 390 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/ad84e4d7/src/java/org/apache/cassandra/client/RingCache.java
--
diff --git a/src/java/org/apache/cassandra/client/RingCache.java 
b/src/java/org/apache/cassandra/client/RingCache.java
index c3dbda5..d58d5d9 100644
--- a/src/java/org/apache/cassandra/client/RingCache.java
+++ b/src/java/org/apache/cassandra/client/RingCache.java
@@ -47,7 +47,7 @@ public class RingCache
 {
 final private static Logger logger = 
LoggerFactory.getLogger(RingCache.class);
 
-private final IPartitioner? partitioner;
+private final IPartitioner partitioner;
 private final Configuration conf;
 
 private MultimapRangeToken, InetAddress rangeMap;
@@ -73,8 +73,8 @@ public class RingCache
 
 for (TokenRange range : ring)
 {
-Token? left = 
partitioner.getTokenFactory().fromString(range.start_token);
-Token? right = 
partitioner.getTokenFactory().fromString(range.end_token);
+Token left = 
partitioner.getTokenFactory().fromString(range.start_token);
+Token right = 
partitioner.getTokenFactory().fromString(range.end_token);
 RangeToken r = new RangeToken(left, right, partitioner);
 for (String host : range.endpoints)
 {
@@ -112,7 +112,7 @@ public class RingCache
 public RangeToken getRange(ByteBuffer key)
 {
 // TODO: 

[1/3] Clean up generics in dht package

2014-11-03 Thread jmckenzie
Repository: cassandra
Updated Branches:
  refs/heads/trunk 632ebc5c5 - 49768fea0


http://git-wip-us.apache.org/repos/asf/cassandra/blob/ad84e4d7/test/unit/org/apache/cassandra/dht/RandomPartitionerTest.java
--
diff --git a/test/unit/org/apache/cassandra/dht/RandomPartitionerTest.java 
b/test/unit/org/apache/cassandra/dht/RandomPartitionerTest.java
index 90501ab..09a1d65 100644
--- a/test/unit/org/apache/cassandra/dht/RandomPartitionerTest.java
+++ b/test/unit/org/apache/cassandra/dht/RandomPartitionerTest.java
@@ -20,7 +20,7 @@ package org.apache.cassandra.dht;
  *
  */
 
-public class RandomPartitionerTest extends PartitionerTestCaseBigIntegerToken
+public class RandomPartitionerTest extends PartitionerTestCase
 {
 public void initPartitioner()
 {

http://git-wip-us.apache.org/repos/asf/cassandra/blob/ad84e4d7/test/unit/org/apache/cassandra/dht/RangeTest.java
--
diff --git a/test/unit/org/apache/cassandra/dht/RangeTest.java 
b/test/unit/org/apache/cassandra/dht/RangeTest.java
index aa35c0a..906396c 100644
--- a/test/unit/org/apache/cassandra/dht/RangeTest.java
+++ b/test/unit/org/apache/cassandra/dht/RangeTest.java
@@ -179,7 +179,7 @@ public class RangeTest
 assert not.intersects(twowrap);
 }
 
-static T extends RingPosition void assertIntersection(Range one, Range 
two, RangeT ... ranges)
+static T extends RingPositionT void assertIntersection(Range one, 
Range two, RangeT ... ranges)
 {
 SetRangeT correct = Range.rangeSet(ranges);
 SetRange result1 = one.intersectionWith(two);
@@ -466,7 +466,7 @@ public class RangeTest
 checkDifference(oldRange, newTokens6, expected6);
 }
 
-private T extends RingPosition void assertNormalize(ListRangeT 
input, ListRangeT expected)
+private T extends RingPositionT void assertNormalize(ListRangeT 
input, ListRangeT expected)
 {
 ListRangeT result = Range.normalize(input);
 assert result.equals(expected) : Expecting  + expected +  but got  
+ result;



[2/2] git commit: Clean up generics in dht package

2014-11-03 Thread jmckenzie
Clean up generics in dht package

Patch by blambov, reviewed by jmckenzie for CASSANDRA-8171


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

Branch: refs/heads/cassandra-2.1
Commit: ad84e4d7ee02f2ae5f45d5d5d2cb50c6b10f3836
Parents: 623aa6f
Author: Branimir Lambov branimir.lam...@datastax.com
Authored: Mon Nov 3 13:04:37 2014 -0600
Committer: Joshua McKenzie jmcken...@apache.org
Committed: Mon Nov 3 13:04:37 2014 -0600

--
 .../org/apache/cassandra/client/RingCache.java  |   8 +-
 .../cassandra/config/DatabaseDescriptor.java|   6 +-
 .../apache/cassandra/cql/QueryProcessor.java|   2 +-
 .../cql3/statements/SelectStatement.java|   4 +-
 .../apache/cassandra/db/BatchlogManager.java|   2 +-
 .../cassandra/db/HintedHandOffManager.java  |   2 +-
 .../db/marshal/LocalByPartionerType.java|   7 +-
 .../apache/cassandra/dht/AbstractBounds.java|   4 +-
 .../dht/AbstractByteOrderedPartitioner.java |  20 +-
 .../cassandra/dht/AbstractPartitioner.java  |   5 +-
 .../org/apache/cassandra/dht/AbstractToken.java |  53 +
 .../apache/cassandra/dht/BigIntegerToken.java   |   6 +-
 src/java/org/apache/cassandra/dht/Bounds.java   |   6 +-
 .../cassandra/dht/ByteOrderedPartitioner.java   |   4 +-
 .../org/apache/cassandra/dht/BytesToken.java|   5 +-
 .../apache/cassandra/dht/ExcludingBounds.java   |   4 +-
 .../org/apache/cassandra/dht/IPartitioner.java  |  12 +-
 .../cassandra/dht/IncludingExcludingBounds.java |   6 +-
 .../apache/cassandra/dht/LocalPartitioner.java  |   6 +-
 .../org/apache/cassandra/dht/LocalToken.java|   6 +-
 .../org/apache/cassandra/dht/LongToken.java |   6 +-
 .../cassandra/dht/Murmur3Partitioner.java   |  25 ++-
 .../dht/OrderPreservingPartitioner.java |  20 +-
 .../apache/cassandra/dht/RandomPartitioner.java |  18 +-
 src/java/org/apache/cassandra/dht/Range.java|  39 ++--
 .../org/apache/cassandra/dht/RangeStreamer.java |   2 +-
 .../org/apache/cassandra/dht/RingPosition.java  |   2 +-
 .../org/apache/cassandra/dht/StringToken.java   |   6 +-
 src/java/org/apache/cassandra/dht/Token.java|  52 +
 .../apache/cassandra/gms/TokenSerializer.java   |   2 +-
 .../cassandra/io/sstable/SSTableWriter.java |   2 +-
 .../apache/cassandra/service/StorageProxy.java  |   2 +-
 .../cassandra/thrift/CassandraServer.java   |   4 +-
 .../apache/cassandra/tools/SSTableExport.java   |   2 +-
 .../apache/cassandra/tools/SSTableImport.java   |   6 +-
 .../cassandra/db/ColumnFamilyStoreTest.java |   2 +-
 .../apache/cassandra/db/KeyCollisionTest.java   | 217 ---
 .../apache/cassandra/dht/BootStrapperTest.java  |   2 +-
 .../dht/ByteOrderedPartitionerTest.java |   2 +-
 .../apache/cassandra/dht/KeyCollisionTest.java  | 217 +++
 .../cassandra/dht/Murmur3PartitionerTest.java   |   4 +-
 .../dht/OrderPreservingPartitionerTest.java |   2 +-
 .../cassandra/dht/PartitionerTestCase.java  |  12 +-
 .../cassandra/dht/RandomPartitionerTest.java|   2 +-
 .../org/apache/cassandra/dht/RangeTest.java |   4 +-
 45 files changed, 430 insertions(+), 390 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/ad84e4d7/src/java/org/apache/cassandra/client/RingCache.java
--
diff --git a/src/java/org/apache/cassandra/client/RingCache.java 
b/src/java/org/apache/cassandra/client/RingCache.java
index c3dbda5..d58d5d9 100644
--- a/src/java/org/apache/cassandra/client/RingCache.java
+++ b/src/java/org/apache/cassandra/client/RingCache.java
@@ -47,7 +47,7 @@ public class RingCache
 {
 final private static Logger logger = 
LoggerFactory.getLogger(RingCache.class);
 
-private final IPartitioner? partitioner;
+private final IPartitioner partitioner;
 private final Configuration conf;
 
 private MultimapRangeToken, InetAddress rangeMap;
@@ -73,8 +73,8 @@ public class RingCache
 
 for (TokenRange range : ring)
 {
-Token? left = 
partitioner.getTokenFactory().fromString(range.start_token);
-Token? right = 
partitioner.getTokenFactory().fromString(range.end_token);
+Token left = 
partitioner.getTokenFactory().fromString(range.start_token);
+Token right = 
partitioner.getTokenFactory().fromString(range.end_token);
 RangeToken r = new RangeToken(left, right, partitioner);
 for (String host : range.endpoints)
 {
@@ -112,7 +112,7 @@ public class RingCache
 public RangeToken getRange(ByteBuffer key)
 {
 // 

[jira] [Updated] (CASSANDRA-8209) Cassandra crashes when running on JDK8 update 40

2014-11-03 Thread Michael Shuler (JIRA)

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

Michael Shuler updated CASSANDRA-8209:
--
Attachment: 8209_2.1.txt

cassandra-2.1 branch jamm-0.2.6-jamm-0.2.8 patch attached - does not include 
the jar, so that will need to replaced in lib/.

 Cassandra crashes when running on JDK8 update 40
 

 Key: CASSANDRA-8209
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8209
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Reporter: Jaroslav Kamenik
Assignee: T Jake Luciani
Priority: Critical
 Fix For: 2.1.2

 Attachments: 8209.txt, 8209_2.1.txt


 It seems that problem is change made in update 40 - 
 https://bugs.openjdk.java.net/browse/JDK-6642881
 result is:
 java.lang.SecurityException: Cannot make java.lang.Class.classLoader 
 accessible
 at 
 java.lang.reflect.AccessibleObject.setAccessible0(AccessibleObject.java:147) 
 ~[na:1.8.0_40-ea]
 at 
 java.lang.reflect.AccessibleObject.setAccessible(AccessibleObject.java:129) 
 ~[na:1.8.0_40-ea]
 at org.github.jamm.MemoryMeter.addFieldChildren(MemoryMeter.java:204) 
 ~[jamm-0.2.6.jar:na]
 at org.github.jamm.MemoryMeter.measureDeep(MemoryMeter.java:158) 
 ~[jamm-0.2.6.jar:na]
 at 
 org.apache.cassandra.cql3.statements.SelectStatement.measureForPreparedCache(SelectStatement.java:166)
  ~[apache-cassandra-2.1.1.jar:2.1.1]
 at 
 org.apache.cassandra.cql3.QueryProcessor.measure(QueryProcessor.java:546) 
 ~[apache-cassandra-2.1.1.jar:2.1.1]
 at 
 org.apache.cassandra.cql3.QueryProcessor.storePreparedStatement(QueryProcessor.java:441)
  ~[apache-cassandra-2.1.1.jar:2.1.1]
 at 
 org.apache.cassandra.cql3.QueryProcessor.prepare(QueryProcessor.java:404) 
 ~[apache-cassandra-2.1.1.jar:2.1.1]
 at 
 org.apache.cassandra.cql3.QueryProcessor.prepare(QueryProcessor.java:388) 
 ~[apache-cassandra-2.1.1.jar:2.1.1]
 at 
 org.apache.cassandra.transport.messages.PrepareMessage.execute(PrepareMessage.java:77)
  ~[apache-cassandra-2.1.1.jar:2.1.1]
 at 
 org.apache.cassandra.transport.Message$Dispatcher.channelRead0(Message.java:439)
  [apache-cassandra-2.1.1.jar:2.1.1]
 at 
 org.apache.cassandra.transport.Message$Dispatcher.channelRead0(Message.java:335)
  [apache-cassandra-2.1.1.jar:2.1.1]
 at 
 io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105)
  [netty-all-4.0.23.Final.jar:4.0.23.Final]
 at 
 io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:333)
  [netty-all-4.0.23.Final.jar:4.0.23.Final]
 at 
 io.netty.channel.AbstractChannelHandlerContext.access$700(AbstractChannelHandlerContext.java:32)
  [netty-all-4.0.23.Final.jar:4.0.23.Final]
 at 
 io.netty.channel.AbstractChannelHandlerContext$8.run(AbstractChannelHandlerContext.java:324)
  [netty-all-4.0.23.Final.jar:4.0.23.Final]
 at 
 java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
 [na:1.8.0_40-ea]
 at 
 org.apache.cassandra.concurrent.AbstractTracingAwareExecutorService$FutureTask.run(AbstractTracingAwareExecutorService.java:164)
  [apache-cassandra-2.1.1.jar:2.1.1]
 at org.apache.cassandra.concurrent.SEPWorker.run(SEPWorker.java:105) 
 [apache-cassandra-2.1.1.jar:2.1.1]
 at java.lang.Thread.run(Thread.java:745) [na:1.8.0_40-ea]



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (CASSANDRA-8209) Cassandra crashes when running on JDK8 update 40

2014-11-03 Thread Michael Shuler (JIRA)

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

Michael Shuler updated CASSANDRA-8209:
--
Attachment: jamm-0.2.8.jar

 Cassandra crashes when running on JDK8 update 40
 

 Key: CASSANDRA-8209
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8209
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Reporter: Jaroslav Kamenik
Assignee: T Jake Luciani
Priority: Critical
 Fix For: 2.1.2

 Attachments: 8209.txt, 8209_2.1.txt, jamm-0.2.8.jar


 It seems that problem is change made in update 40 - 
 https://bugs.openjdk.java.net/browse/JDK-6642881
 result is:
 java.lang.SecurityException: Cannot make java.lang.Class.classLoader 
 accessible
 at 
 java.lang.reflect.AccessibleObject.setAccessible0(AccessibleObject.java:147) 
 ~[na:1.8.0_40-ea]
 at 
 java.lang.reflect.AccessibleObject.setAccessible(AccessibleObject.java:129) 
 ~[na:1.8.0_40-ea]
 at org.github.jamm.MemoryMeter.addFieldChildren(MemoryMeter.java:204) 
 ~[jamm-0.2.6.jar:na]
 at org.github.jamm.MemoryMeter.measureDeep(MemoryMeter.java:158) 
 ~[jamm-0.2.6.jar:na]
 at 
 org.apache.cassandra.cql3.statements.SelectStatement.measureForPreparedCache(SelectStatement.java:166)
  ~[apache-cassandra-2.1.1.jar:2.1.1]
 at 
 org.apache.cassandra.cql3.QueryProcessor.measure(QueryProcessor.java:546) 
 ~[apache-cassandra-2.1.1.jar:2.1.1]
 at 
 org.apache.cassandra.cql3.QueryProcessor.storePreparedStatement(QueryProcessor.java:441)
  ~[apache-cassandra-2.1.1.jar:2.1.1]
 at 
 org.apache.cassandra.cql3.QueryProcessor.prepare(QueryProcessor.java:404) 
 ~[apache-cassandra-2.1.1.jar:2.1.1]
 at 
 org.apache.cassandra.cql3.QueryProcessor.prepare(QueryProcessor.java:388) 
 ~[apache-cassandra-2.1.1.jar:2.1.1]
 at 
 org.apache.cassandra.transport.messages.PrepareMessage.execute(PrepareMessage.java:77)
  ~[apache-cassandra-2.1.1.jar:2.1.1]
 at 
 org.apache.cassandra.transport.Message$Dispatcher.channelRead0(Message.java:439)
  [apache-cassandra-2.1.1.jar:2.1.1]
 at 
 org.apache.cassandra.transport.Message$Dispatcher.channelRead0(Message.java:335)
  [apache-cassandra-2.1.1.jar:2.1.1]
 at 
 io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105)
  [netty-all-4.0.23.Final.jar:4.0.23.Final]
 at 
 io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:333)
  [netty-all-4.0.23.Final.jar:4.0.23.Final]
 at 
 io.netty.channel.AbstractChannelHandlerContext.access$700(AbstractChannelHandlerContext.java:32)
  [netty-all-4.0.23.Final.jar:4.0.23.Final]
 at 
 io.netty.channel.AbstractChannelHandlerContext$8.run(AbstractChannelHandlerContext.java:324)
  [netty-all-4.0.23.Final.jar:4.0.23.Final]
 at 
 java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
 [na:1.8.0_40-ea]
 at 
 org.apache.cassandra.concurrent.AbstractTracingAwareExecutorService$FutureTask.run(AbstractTracingAwareExecutorService.java:164)
  [apache-cassandra-2.1.1.jar:2.1.1]
 at org.apache.cassandra.concurrent.SEPWorker.run(SEPWorker.java:105) 
 [apache-cassandra-2.1.1.jar:2.1.1]
 at java.lang.Thread.run(Thread.java:745) [na:1.8.0_40-ea]



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-8209) Cassandra crashes when running on JDK8 update 40

2014-11-03 Thread Michael Shuler (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8209?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14194972#comment-14194972
 ] 

Michael Shuler commented on CASSANDRA-8209:
---

I checked out cassandra-2.1 + jamm-0.2.8 with Oracle JDK 1.7.0_72 for 
regression - no problem.
I tested cassandra-2.1 + jamm-0.2.8 with OpenJDK 1.8.0_40-internal (debian 
testing package) and stress read still fails for me with:
{noformat}
Warming up READ with 5 iterations...
INFO  19:31:44 Using data-center name 'datacenter1' for DCAwareRoundRobinPolicy 
(if this is incorrect, please provide the correct datacenter name with 
DCAwareRoundRobinPolicy constructor)
Connected to cluster: Test Cluster
Datatacenter: datacenter1; Host: localhost/127.0.0.1; Rack: rack1
INFO  19:31:44 New Cassandra host localhost/127.0.0.1:9042 added
com.datastax.driver.core.exceptions.DriverInternalError: An unexpected error 
occurred server side on localhost/127.0.0.1:9042: java.lang.SecurityException: 
Cannot make java.lang.Class.classLoader accessible
at 
com.datastax.driver.core.exceptions.DriverInternalError.copy(DriverInternalError.java:42)
at 
com.datastax.driver.core.DefaultResultSetFuture.extractCauseFromExecutionException(DefaultResultSetFuture.java:256)
at 
com.datastax.driver.core.AbstractSession.prepare(AbstractSession.java:79)
at 
org.apache.cassandra.stress.util.JavaDriverClient.prepare(JavaDriverClient.java:77)
at 
org.apache.cassandra.stress.operations.predefined.CqlOperation$JavaDriverWrapper.createPreparedStatement(CqlOperation.java:337)
at 
org.apache.cassandra.stress.operations.predefined.CqlOperation.run(CqlOperation.java:75)
at 
org.apache.cassandra.stress.operations.predefined.CqlOperation.run(CqlOperation.java:107)
at 
org.apache.cassandra.stress.operations.predefined.CqlOperation.run(CqlOperation.java:281)
at 
org.apache.cassandra.stress.StressAction$Consumer.run(StressAction.java:320)
Caused by: com.datastax.driver.core.exceptions.DriverInternalError: An 
unexpected error occurred server side on localhost/127.0.0.1:9042: 
java.lang.SecurityException: Cannot make java.lang.Class.classLoader accessible
at 
com.datastax.driver.core.Responses$Error.asException(Responses.java:86)
at 
com.datastax.driver.core.SessionManager$1.apply(SessionManager.java:156)
at 
com.datastax.driver.core.SessionManager$1.apply(SessionManager.java:131)
at com.google.common.util.concurrent.Futures$1.apply(Futures.java:713)
at 
com.google.common.util.concurrent.Futures$ChainingListenableFuture.run(Futures.java:861)
at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
...
{noformat}

 Cassandra crashes when running on JDK8 update 40
 

 Key: CASSANDRA-8209
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8209
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Reporter: Jaroslav Kamenik
Assignee: T Jake Luciani
Priority: Critical
 Fix For: 2.1.2

 Attachments: 8209.txt, 8209_2.1.txt, jamm-0.2.8.jar


 It seems that problem is change made in update 40 - 
 https://bugs.openjdk.java.net/browse/JDK-6642881
 result is:
 java.lang.SecurityException: Cannot make java.lang.Class.classLoader 
 accessible
 at 
 java.lang.reflect.AccessibleObject.setAccessible0(AccessibleObject.java:147) 
 ~[na:1.8.0_40-ea]
 at 
 java.lang.reflect.AccessibleObject.setAccessible(AccessibleObject.java:129) 
 ~[na:1.8.0_40-ea]
 at org.github.jamm.MemoryMeter.addFieldChildren(MemoryMeter.java:204) 
 ~[jamm-0.2.6.jar:na]
 at org.github.jamm.MemoryMeter.measureDeep(MemoryMeter.java:158) 
 ~[jamm-0.2.6.jar:na]
 at 
 org.apache.cassandra.cql3.statements.SelectStatement.measureForPreparedCache(SelectStatement.java:166)
  ~[apache-cassandra-2.1.1.jar:2.1.1]
 at 
 org.apache.cassandra.cql3.QueryProcessor.measure(QueryProcessor.java:546) 
 ~[apache-cassandra-2.1.1.jar:2.1.1]
 at 
 org.apache.cassandra.cql3.QueryProcessor.storePreparedStatement(QueryProcessor.java:441)
  ~[apache-cassandra-2.1.1.jar:2.1.1]
 at 
 org.apache.cassandra.cql3.QueryProcessor.prepare(QueryProcessor.java:404) 
 ~[apache-cassandra-2.1.1.jar:2.1.1]
 at 
 org.apache.cassandra.cql3.QueryProcessor.prepare(QueryProcessor.java:388) 
 ~[apache-cassandra-2.1.1.jar:2.1.1]
 at 
 org.apache.cassandra.transport.messages.PrepareMessage.execute(PrepareMessage.java:77)
  ~[apache-cassandra-2.1.1.jar:2.1.1]
 at 
 org.apache.cassandra.transport.Message$Dispatcher.channelRead0(Message.java:439)
  

[jira] [Comment Edited] (CASSANDRA-8209) Cassandra crashes when running on JDK8 update 40

2014-11-03 Thread Michael Shuler (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8209?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14194972#comment-14194972
 ] 

Michael Shuler edited comment on CASSANDRA-8209 at 11/3/14 7:49 PM:


I checked out cassandra-2.1 + jamm-0.2.8 with Oracle JDK 1.7.0_72 for 
regression - no problem.
I tested cassandra-2.1 + jamm-0.2.8 with OpenJDK 1.8.0_40-internal (debian 
testing package) and stress read still fails for me with:
{noformat}
Warming up READ with 5 iterations...
INFO  19:31:44 Using data-center name 'datacenter1' for DCAwareRoundRobinPolicy 
(if this is incorrect, please provide the correct datacenter name with 
DCAwareRoundRobinPolicy constructor)
Connected to cluster: Test Cluster
Datatacenter: datacenter1; Host: localhost/127.0.0.1; Rack: rack1
INFO  19:31:44 New Cassandra host localhost/127.0.0.1:9042 added
com.datastax.driver.core.exceptions.DriverInternalError: An unexpected error 
occurred server side on localhost/127.0.0.1:9042: java.lang.SecurityException: 
Cannot make java.lang.Class.classLoader accessible
at 
com.datastax.driver.core.exceptions.DriverInternalError.copy(DriverInternalError.java:42)
at 
com.datastax.driver.core.DefaultResultSetFuture.extractCauseFromExecutionException(DefaultResultSetFuture.java:256)
at 
com.datastax.driver.core.AbstractSession.prepare(AbstractSession.java:79)
at 
org.apache.cassandra.stress.util.JavaDriverClient.prepare(JavaDriverClient.java:77)
at 
org.apache.cassandra.stress.operations.predefined.CqlOperation$JavaDriverWrapper.createPreparedStatement(CqlOperation.java:337)
at 
org.apache.cassandra.stress.operations.predefined.CqlOperation.run(CqlOperation.java:75)
at 
org.apache.cassandra.stress.operations.predefined.CqlOperation.run(CqlOperation.java:107)
at 
org.apache.cassandra.stress.operations.predefined.CqlOperation.run(CqlOperation.java:281)
at 
org.apache.cassandra.stress.StressAction$Consumer.run(StressAction.java:320)
Caused by: com.datastax.driver.core.exceptions.DriverInternalError: An 
unexpected error occurred server side on localhost/127.0.0.1:9042: 
java.lang.SecurityException: Cannot make java.lang.Class.classLoader accessible
at 
com.datastax.driver.core.Responses$Error.asException(Responses.java:86)
at 
com.datastax.driver.core.SessionManager$1.apply(SessionManager.java:156)
at 
com.datastax.driver.core.SessionManager$1.apply(SessionManager.java:131)
at com.google.common.util.concurrent.Futures$1.apply(Futures.java:713)
at 
com.google.common.util.concurrent.Futures$ChainingListenableFuture.run(Futures.java:861)
at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
...
{noformat}

Same error on Oracle's Early Access JDK release 1.8.0_40-ea-b12


was (Author: mshuler):
I checked out cassandra-2.1 + jamm-0.2.8 with Oracle JDK 1.7.0_72 for 
regression - no problem.
I tested cassandra-2.1 + jamm-0.2.8 with OpenJDK 1.8.0_40-internal (debian 
testing package) and stress read still fails for me with:
{noformat}
Warming up READ with 5 iterations...
INFO  19:31:44 Using data-center name 'datacenter1' for DCAwareRoundRobinPolicy 
(if this is incorrect, please provide the correct datacenter name with 
DCAwareRoundRobinPolicy constructor)
Connected to cluster: Test Cluster
Datatacenter: datacenter1; Host: localhost/127.0.0.1; Rack: rack1
INFO  19:31:44 New Cassandra host localhost/127.0.0.1:9042 added
com.datastax.driver.core.exceptions.DriverInternalError: An unexpected error 
occurred server side on localhost/127.0.0.1:9042: java.lang.SecurityException: 
Cannot make java.lang.Class.classLoader accessible
at 
com.datastax.driver.core.exceptions.DriverInternalError.copy(DriverInternalError.java:42)
at 
com.datastax.driver.core.DefaultResultSetFuture.extractCauseFromExecutionException(DefaultResultSetFuture.java:256)
at 
com.datastax.driver.core.AbstractSession.prepare(AbstractSession.java:79)
at 
org.apache.cassandra.stress.util.JavaDriverClient.prepare(JavaDriverClient.java:77)
at 
org.apache.cassandra.stress.operations.predefined.CqlOperation$JavaDriverWrapper.createPreparedStatement(CqlOperation.java:337)
at 
org.apache.cassandra.stress.operations.predefined.CqlOperation.run(CqlOperation.java:75)
at 
org.apache.cassandra.stress.operations.predefined.CqlOperation.run(CqlOperation.java:107)
at 
org.apache.cassandra.stress.operations.predefined.CqlOperation.run(CqlOperation.java:281)
at 
org.apache.cassandra.stress.StressAction$Consumer.run(StressAction.java:320)
Caused by: com.datastax.driver.core.exceptions.DriverInternalError: An 
unexpected error occurred server 

[jira] [Updated] (CASSANDRA-8209) Cassandra crashes when running on JDK8 update 40

2014-11-03 Thread Michael Shuler (JIRA)

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

Michael Shuler updated CASSANDRA-8209:
--
Attachment: 8209_2.1_oraclejdk8u40+jamm-0.2.8_system.log.txt

 Cassandra crashes when running on JDK8 update 40
 

 Key: CASSANDRA-8209
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8209
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Reporter: Jaroslav Kamenik
Assignee: T Jake Luciani
Priority: Critical
 Fix For: 2.1.2

 Attachments: 8209.txt, 8209_2.1.txt, 
 8209_2.1_oraclejdk8u40+jamm-0.2.8_system.log.txt, jamm-0.2.8.jar


 It seems that problem is change made in update 40 - 
 https://bugs.openjdk.java.net/browse/JDK-6642881
 result is:
 java.lang.SecurityException: Cannot make java.lang.Class.classLoader 
 accessible
 at 
 java.lang.reflect.AccessibleObject.setAccessible0(AccessibleObject.java:147) 
 ~[na:1.8.0_40-ea]
 at 
 java.lang.reflect.AccessibleObject.setAccessible(AccessibleObject.java:129) 
 ~[na:1.8.0_40-ea]
 at org.github.jamm.MemoryMeter.addFieldChildren(MemoryMeter.java:204) 
 ~[jamm-0.2.6.jar:na]
 at org.github.jamm.MemoryMeter.measureDeep(MemoryMeter.java:158) 
 ~[jamm-0.2.6.jar:na]
 at 
 org.apache.cassandra.cql3.statements.SelectStatement.measureForPreparedCache(SelectStatement.java:166)
  ~[apache-cassandra-2.1.1.jar:2.1.1]
 at 
 org.apache.cassandra.cql3.QueryProcessor.measure(QueryProcessor.java:546) 
 ~[apache-cassandra-2.1.1.jar:2.1.1]
 at 
 org.apache.cassandra.cql3.QueryProcessor.storePreparedStatement(QueryProcessor.java:441)
  ~[apache-cassandra-2.1.1.jar:2.1.1]
 at 
 org.apache.cassandra.cql3.QueryProcessor.prepare(QueryProcessor.java:404) 
 ~[apache-cassandra-2.1.1.jar:2.1.1]
 at 
 org.apache.cassandra.cql3.QueryProcessor.prepare(QueryProcessor.java:388) 
 ~[apache-cassandra-2.1.1.jar:2.1.1]
 at 
 org.apache.cassandra.transport.messages.PrepareMessage.execute(PrepareMessage.java:77)
  ~[apache-cassandra-2.1.1.jar:2.1.1]
 at 
 org.apache.cassandra.transport.Message$Dispatcher.channelRead0(Message.java:439)
  [apache-cassandra-2.1.1.jar:2.1.1]
 at 
 org.apache.cassandra.transport.Message$Dispatcher.channelRead0(Message.java:335)
  [apache-cassandra-2.1.1.jar:2.1.1]
 at 
 io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105)
  [netty-all-4.0.23.Final.jar:4.0.23.Final]
 at 
 io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:333)
  [netty-all-4.0.23.Final.jar:4.0.23.Final]
 at 
 io.netty.channel.AbstractChannelHandlerContext.access$700(AbstractChannelHandlerContext.java:32)
  [netty-all-4.0.23.Final.jar:4.0.23.Final]
 at 
 io.netty.channel.AbstractChannelHandlerContext$8.run(AbstractChannelHandlerContext.java:324)
  [netty-all-4.0.23.Final.jar:4.0.23.Final]
 at 
 java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
 [na:1.8.0_40-ea]
 at 
 org.apache.cassandra.concurrent.AbstractTracingAwareExecutorService$FutureTask.run(AbstractTracingAwareExecutorService.java:164)
  [apache-cassandra-2.1.1.jar:2.1.1]
 at org.apache.cassandra.concurrent.SEPWorker.run(SEPWorker.java:105) 
 [apache-cassandra-2.1.1.jar:2.1.1]
 at java.lang.Thread.run(Thread.java:745) [na:1.8.0_40-ea]



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (CASSANDRA-8209) Cassandra crashes when running on JDK8 update 40

2014-11-03 Thread Michael Shuler (JIRA)

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

Michael Shuler updated CASSANDRA-8209:
--
Tester: Michael Shuler

 Cassandra crashes when running on JDK8 update 40
 

 Key: CASSANDRA-8209
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8209
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Reporter: Jaroslav Kamenik
Assignee: T Jake Luciani
Priority: Critical
 Fix For: 2.1.2

 Attachments: 8209.txt, 8209_2.1.txt, 
 8209_2.1_oraclejdk8u40+jamm-0.2.8_system.log.txt, jamm-0.2.8.jar


 It seems that problem is change made in update 40 - 
 https://bugs.openjdk.java.net/browse/JDK-6642881
 result is:
 java.lang.SecurityException: Cannot make java.lang.Class.classLoader 
 accessible
 at 
 java.lang.reflect.AccessibleObject.setAccessible0(AccessibleObject.java:147) 
 ~[na:1.8.0_40-ea]
 at 
 java.lang.reflect.AccessibleObject.setAccessible(AccessibleObject.java:129) 
 ~[na:1.8.0_40-ea]
 at org.github.jamm.MemoryMeter.addFieldChildren(MemoryMeter.java:204) 
 ~[jamm-0.2.6.jar:na]
 at org.github.jamm.MemoryMeter.measureDeep(MemoryMeter.java:158) 
 ~[jamm-0.2.6.jar:na]
 at 
 org.apache.cassandra.cql3.statements.SelectStatement.measureForPreparedCache(SelectStatement.java:166)
  ~[apache-cassandra-2.1.1.jar:2.1.1]
 at 
 org.apache.cassandra.cql3.QueryProcessor.measure(QueryProcessor.java:546) 
 ~[apache-cassandra-2.1.1.jar:2.1.1]
 at 
 org.apache.cassandra.cql3.QueryProcessor.storePreparedStatement(QueryProcessor.java:441)
  ~[apache-cassandra-2.1.1.jar:2.1.1]
 at 
 org.apache.cassandra.cql3.QueryProcessor.prepare(QueryProcessor.java:404) 
 ~[apache-cassandra-2.1.1.jar:2.1.1]
 at 
 org.apache.cassandra.cql3.QueryProcessor.prepare(QueryProcessor.java:388) 
 ~[apache-cassandra-2.1.1.jar:2.1.1]
 at 
 org.apache.cassandra.transport.messages.PrepareMessage.execute(PrepareMessage.java:77)
  ~[apache-cassandra-2.1.1.jar:2.1.1]
 at 
 org.apache.cassandra.transport.Message$Dispatcher.channelRead0(Message.java:439)
  [apache-cassandra-2.1.1.jar:2.1.1]
 at 
 org.apache.cassandra.transport.Message$Dispatcher.channelRead0(Message.java:335)
  [apache-cassandra-2.1.1.jar:2.1.1]
 at 
 io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105)
  [netty-all-4.0.23.Final.jar:4.0.23.Final]
 at 
 io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:333)
  [netty-all-4.0.23.Final.jar:4.0.23.Final]
 at 
 io.netty.channel.AbstractChannelHandlerContext.access$700(AbstractChannelHandlerContext.java:32)
  [netty-all-4.0.23.Final.jar:4.0.23.Final]
 at 
 io.netty.channel.AbstractChannelHandlerContext$8.run(AbstractChannelHandlerContext.java:324)
  [netty-all-4.0.23.Final.jar:4.0.23.Final]
 at 
 java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
 [na:1.8.0_40-ea]
 at 
 org.apache.cassandra.concurrent.AbstractTracingAwareExecutorService$FutureTask.run(AbstractTracingAwareExecutorService.java:164)
  [apache-cassandra-2.1.1.jar:2.1.1]
 at org.apache.cassandra.concurrent.SEPWorker.run(SEPWorker.java:105) 
 [apache-cassandra-2.1.1.jar:2.1.1]
 at java.lang.Thread.run(Thread.java:745) [na:1.8.0_40-ea]



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-8246) Default timestamp for QueryOptions should be Long.MIN_VALUE

2014-11-03 Thread Sylvain Lebresne (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8246?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14195019#comment-14195019
 ] 

Sylvain Lebresne commented on CASSANDRA-8246:
-

+1

 Default timestamp for QueryOptions should be Long.MIN_VALUE
 ---

 Key: CASSANDRA-8246
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8246
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Reporter: Sam Tunnicliffe
Assignee: Sam Tunnicliffe
 Fix For: 2.1.2

 Attachments: 8246.txt


 CASSANDRA-8139 adds proper handling for negative timestamps, but one case was 
 missed in the merge to cassandra-2.1.
 {{QueryOptions.SpecificOptions.DEFAULT}} is still created with a timestamp of 
 -1, so statements which do not come in via the native protocol will retain 
 this timestamp and not be assigned a server-side timestamp at execution 
 time.{{QueryOptions.Codec}} does the right thing, so statements that do come 
 via the protocol are unaffected.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-2356) make the debian package never start by default

2014-11-03 Thread Dave Cunningham (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-2356?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14195028#comment-14195028
 ] 

Dave Cunningham commented on CASSANDRA-2356:


As a new user this confused the hell out of me.  Not auto-starting in Debian is 
a good start.  It would also be good if Cassandra gave more useful error 
messages when nodes come together after being started on their own.

 make the debian package never start by default
 --

 Key: CASSANDRA-2356
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2356
 Project: Cassandra
  Issue Type: Improvement
  Components: Packaging
Reporter: Jeremy Hanna
Assignee: Michael Shuler
Priority: Minor
  Labels: debian, packaging
 Fix For: 3.0

 Attachments: 2356.txt


 Currently the debian package that installs cassandra starts cassandra by 
 default.  It sounds like that is a standard debian packaging convention.  
 However, if you want to bootstrap a new node and want to configure it before 
 it creates any sort of state information, it's a pain.  I would think that 
 the common use case would be to have it install all of the init scripts and 
 such but *not* have it start up by default.  That way an admin can configure 
 cassandra with seed, token, host, etc. information and then start it.  That 
 makes it easier to programmatically do this as well - have chef/puppet 
 install cassandra, do some configuration, then do the service start.
 With the current setup, it sounds like cassandra creates state on startup 
 that has to be cleaned before a new configuration can take effect.  So the 
 process of installing turns into:
 * install debian package
 * shutdown cassandra
 * clean out state (data/log dirs)
 * configure cassandra
 * start cassandra
 That seems suboptimal for the default case, especially when trying to 
 automate new nodes being bootstrapped.
 Another case might be when a downed node comes back up and starts by default 
 and tries to claim a token that has already been claimed by another newly 
 bootstrapped node.  Rob is more familiar with that case so I'll let him 
 explain it in the comments.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (CASSANDRA-7874) Validate functionality of different JSR-223 providers in UDFs

2014-11-03 Thread Mikhail Stepura (JIRA)

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

Mikhail Stepura updated CASSANDRA-7874:
---
Fix Version/s: 3.0

 Validate functionality of different JSR-223 providers in UDFs
 -

 Key: CASSANDRA-7874
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7874
 Project: Cassandra
  Issue Type: Task
  Components: Core
Reporter: Robert Stupp
Assignee: Robert Stupp
  Labels: udf
 Fix For: 3.0

 Attachments: 7874.txt, 7874v2.txt, 7874v3.txt, 7874v4.txt


 CASSANDRA-7526 introduces ability to support optional JSR-223 providers like 
 Clojure, Jython, Groovy or JRuby.
 This ticket is about to test functionality with these providers but not to 
 include them in C* distribution.
 Expected result is a how to document, wiki page or similar.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (CASSANDRA-8208) Inconsistent failure handling with repair

2014-11-03 Thread Yuki Morishita (JIRA)

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

Yuki Morishita updated CASSANDRA-8208:
--
Attachment: 8208.txt

Also https://github.com/yukim/cassandra/tree/8208

Changed from allAsList to successfulAsList so that repair does not fail 
immediately. Also switched to addListener since successfulAsList does not 
fail.

 Inconsistent failure handling with repair
 -

 Key: CASSANDRA-8208
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8208
 Project: Cassandra
  Issue Type: Bug
Reporter: Marcus Eriksson
Assignee: Yuki Morishita
 Fix For: 3.0

 Attachments: 8208.txt


 I think we introduced this with CASSANDRA-6455, problem is that we now treat 
 all repair futures as a single unit (Futures.allAsList(..)) which makes the 
 whole thing fail if one sub-future fails. Also, when one of those fail, we 
 notify nodetool that we failed and we stop the executor with shutdownNow() 
 which throws out any pending RepairJobs.
 [~yukim] I think we used to be able to proceed with the other RepairSessions 
 even if one fails, right? If not, we should probably call cancel on the 
 RepairJob runnables which are in queue for the executor after calling 
 shutdownNow() in repairComplete() in StorageService. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Created] (CASSANDRA-8247) HHOM creates repeated 'No files to compact for user defined compaction' messages

2014-11-03 Thread Brandon Williams (JIRA)
Brandon Williams created CASSANDRA-8247:
---

 Summary: HHOM creates repeated 'No files to compact for user 
defined compaction' messages
 Key: CASSANDRA-8247
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8247
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Reporter: Brandon Williams
Priority: Minor
 Fix For: 2.1.2


HH is a guess because it's every 10m, but it seems likely:

{noformat}
INFO  19:16:39 No files to compact for user defined compaction
INFO  19:26:39 No files to compact for user defined compaction
INFO  19:36:39 No files to compact for user defined compaction
INFO  19:46:39 No files to compact for user defined compaction
INFO  19:56:39 No files to compact for user defined compaction
{noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[2/3] git commit: Set socket timeout when reading remote version

2014-11-03 Thread brandonwilliams
Set socket timeout when reading remote version

Patch by wy96f, reviewed by Brandon Williams for CASSANDRA-8188


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

Branch: refs/heads/trunk
Commit: 399a4ecf9e0974488bc5a60fcff90c7f84e5b044
Parents: ad84e4d
Author: Brandon Williams brandonwilli...@apache.org
Authored: Mon Nov 3 14:42:03 2014 -0600
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Mon Nov 3 14:42:03 2014 -0600

--
 CHANGES.txt  | 1 +
 src/java/org/apache/cassandra/net/MessagingService.java  | 2 ++
 src/java/org/apache/cassandra/net/OutboundTcpConnection.java | 2 +-
 3 files changed, 4 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/399a4ecf/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index b9b92fb..50a540f 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.1.2
+ * Set socket timeout when reading remote version (CASSANDRA-8188)
  * Refactor how we track live size (CASSANDRA-7852)
  * Make sure unfinished compaction files are removed (CASSANDRA-8124)
  * Fix shutdown when run as Windows service (CASSANDRA-8136)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/399a4ecf/src/java/org/apache/cassandra/net/MessagingService.java
--
diff --git a/src/java/org/apache/cassandra/net/MessagingService.java 
b/src/java/org/apache/cassandra/net/MessagingService.java
index c6b0098..05b449c 100644
--- a/src/java/org/apache/cassandra/net/MessagingService.java
+++ b/src/java/org/apache/cassandra/net/MessagingService.java
@@ -918,6 +918,7 @@ public final class MessagingService implements 
MessagingServiceMBean
 }
 
 socket.setKeepAlive(true);
+socket.setSoTimeout(2 * 
OutboundTcpConnection.WAIT_FOR_VERSION_MAX_TIME);
 // determine the connection type to decide whether to 
buffer
 DataInputStream in = new 
DataInputStream(socket.getInputStream());
 MessagingService.validateMagic(in.readInt());
@@ -925,6 +926,7 @@ public final class MessagingService implements 
MessagingServiceMBean
 boolean isStream = MessagingService.getBits(header, 3, 1) 
== 1;
 int version = MessagingService.getBits(header, 15, 8);
 logger.debug(Connection version {} from {}, version, 
socket.getInetAddress());
+socket.setSoTimeout(0);
 
 Thread thread = isStream
   ? new IncomingStreamingConnection(version, 
socket)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/399a4ecf/src/java/org/apache/cassandra/net/OutboundTcpConnection.java
--
diff --git a/src/java/org/apache/cassandra/net/OutboundTcpConnection.java 
b/src/java/org/apache/cassandra/net/OutboundTcpConnection.java
index 996e606..a0ad011 100644
--- a/src/java/org/apache/cassandra/net/OutboundTcpConnection.java
+++ b/src/java/org/apache/cassandra/net/OutboundTcpConnection.java
@@ -65,7 +65,7 @@ public class OutboundTcpConnection extends Thread
 private volatile boolean isStopped = false;
 
 private static final int OPEN_RETRY_DELAY = 100; // ms between retries
-private static final int WAIT_FOR_VERSION_MAX_TIME = 5000;
+public static final int WAIT_FOR_VERSION_MAX_TIME = 5000;
 private static final int NO_VERSION = Integer.MIN_VALUE;
 
 static final int LZ4_HASH_SEED = 0x9747b28c;



[1/3] git commit: Set socket timeout when reading remote version

2014-11-03 Thread brandonwilliams
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.1 ad84e4d7e - 399a4ecf9
  refs/heads/trunk 49768fea0 - 57b5fb64c


Set socket timeout when reading remote version

Patch by wy96f, reviewed by Brandon Williams for CASSANDRA-8188


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

Branch: refs/heads/cassandra-2.1
Commit: 399a4ecf9e0974488bc5a60fcff90c7f84e5b044
Parents: ad84e4d
Author: Brandon Williams brandonwilli...@apache.org
Authored: Mon Nov 3 14:42:03 2014 -0600
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Mon Nov 3 14:42:03 2014 -0600

--
 CHANGES.txt  | 1 +
 src/java/org/apache/cassandra/net/MessagingService.java  | 2 ++
 src/java/org/apache/cassandra/net/OutboundTcpConnection.java | 2 +-
 3 files changed, 4 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/399a4ecf/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index b9b92fb..50a540f 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.1.2
+ * Set socket timeout when reading remote version (CASSANDRA-8188)
  * Refactor how we track live size (CASSANDRA-7852)
  * Make sure unfinished compaction files are removed (CASSANDRA-8124)
  * Fix shutdown when run as Windows service (CASSANDRA-8136)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/399a4ecf/src/java/org/apache/cassandra/net/MessagingService.java
--
diff --git a/src/java/org/apache/cassandra/net/MessagingService.java 
b/src/java/org/apache/cassandra/net/MessagingService.java
index c6b0098..05b449c 100644
--- a/src/java/org/apache/cassandra/net/MessagingService.java
+++ b/src/java/org/apache/cassandra/net/MessagingService.java
@@ -918,6 +918,7 @@ public final class MessagingService implements 
MessagingServiceMBean
 }
 
 socket.setKeepAlive(true);
+socket.setSoTimeout(2 * 
OutboundTcpConnection.WAIT_FOR_VERSION_MAX_TIME);
 // determine the connection type to decide whether to 
buffer
 DataInputStream in = new 
DataInputStream(socket.getInputStream());
 MessagingService.validateMagic(in.readInt());
@@ -925,6 +926,7 @@ public final class MessagingService implements 
MessagingServiceMBean
 boolean isStream = MessagingService.getBits(header, 3, 1) 
== 1;
 int version = MessagingService.getBits(header, 15, 8);
 logger.debug(Connection version {} from {}, version, 
socket.getInetAddress());
+socket.setSoTimeout(0);
 
 Thread thread = isStream
   ? new IncomingStreamingConnection(version, 
socket)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/399a4ecf/src/java/org/apache/cassandra/net/OutboundTcpConnection.java
--
diff --git a/src/java/org/apache/cassandra/net/OutboundTcpConnection.java 
b/src/java/org/apache/cassandra/net/OutboundTcpConnection.java
index 996e606..a0ad011 100644
--- a/src/java/org/apache/cassandra/net/OutboundTcpConnection.java
+++ b/src/java/org/apache/cassandra/net/OutboundTcpConnection.java
@@ -65,7 +65,7 @@ public class OutboundTcpConnection extends Thread
 private volatile boolean isStopped = false;
 
 private static final int OPEN_RETRY_DELAY = 100; // ms between retries
-private static final int WAIT_FOR_VERSION_MAX_TIME = 5000;
+public static final int WAIT_FOR_VERSION_MAX_TIME = 5000;
 private static final int NO_VERSION = Integer.MIN_VALUE;
 
 static final int LZ4_HASH_SEED = 0x9747b28c;



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

2014-11-03 Thread brandonwilliams
Merge branch 'cassandra-2.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/57b5fb64
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/57b5fb64
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/57b5fb64

Branch: refs/heads/trunk
Commit: 57b5fb64cb624d23a8026dda13e275ff59e50699
Parents: 49768fe 399a4ec
Author: Brandon Williams brandonwilli...@apache.org
Authored: Mon Nov 3 14:42:56 2014 -0600
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Mon Nov 3 14:42:56 2014 -0600

--
 CHANGES.txt  | 1 +
 src/java/org/apache/cassandra/net/MessagingService.java  | 2 ++
 src/java/org/apache/cassandra/net/OutboundTcpConnection.java | 2 +-
 3 files changed, 4 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/57b5fb64/CHANGES.txt
--
diff --cc CHANGES.txt
index c87fa8d,50a540f..6f42f8c
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,37 -1,5 +1,38 @@@
 +3.0
 + * Mark sstables as repaired after full repair (CASSANDRA-7586) 
 + * Extend Descriptor to include a format value and refactor reader/writer 
apis (CASSANDRA-7443)
 + * Integrate JMH for microbenchmarks (CASSANDRA-8151)
 + * Keep sstable levels when bootstrapping (CASSANDRA-7460)
 + * Add Sigar library and perform basic OS settings check on startup 
(CASSANDRA-7838)
 + * Support for aggregation functions (CASSANDRA-4914)
 + * Remove cassandra-cli (CASSANDRA-7920)
 + * Accept dollar quoted strings in CQL (CASSANDRA-7769)
 + * Make assassinate a first class command (CASSANDRA-7935)
 + * Support IN clause on any clustering column (CASSANDRA-4762)
 + * Improve compaction logging (CASSANDRA-7818)
 + * Remove YamlFileNetworkTopologySnitch (CASSANDRA-7917)
 + * Do anticompaction in groups (CASSANDRA-6851)
 + * Support pure user-defined functions (CASSANDRA-7395, 7526, 7562, 7740, 
7781, 7929,
 +   7924, 7812, 8063)
 + * Permit configurable timestamps with cassandra-stress (CASSANDRA-7416)
 + * Move sstable RandomAccessReader to nio2, which allows using the
 +   FILE_SHARE_DELETE flag on Windows (CASSANDRA-4050)
 + * Remove CQL2 (CASSANDRA-5918)
 + * Add Thrift get_multi_slice call (CASSANDRA-6757)
 + * Optimize fetching multiple cells by name (CASSANDRA-6933)
 + * Allow compilation in java 8 (CASSANDRA-7028)
 + * Make incremental repair default (CASSANDRA-7250)
 + * Enable code coverage thru JaCoCo (CASSANDRA-7226)
 + * Switch external naming of 'column families' to 'tables' (CASSANDRA-4369) 
 + * Shorten SSTable path (CASSANDRA-6962)
 + * Use unsafe mutations for most unit tests (CASSANDRA-6969)
 + * Fix race condition during calculation of pending ranges (CASSANDRA-7390)
 + * Fail on very large batch sizes (CASSANDRA-8011)
 + * improve concurrency of repair (CASSANDRA-6455)
 +
 +
  2.1.2
+  * Set socket timeout when reading remote version (CASSANDRA-8188)
   * Refactor how we track live size (CASSANDRA-7852)
   * Make sure unfinished compaction files are removed (CASSANDRA-8124)
   * Fix shutdown when run as Windows service (CASSANDRA-8136)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/57b5fb64/src/java/org/apache/cassandra/net/MessagingService.java
--



[jira] [Commented] (CASSANDRA-2356) make the debian package never start by default

2014-11-03 Thread Michael Shuler (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-2356?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14195068#comment-14195068
 ] 

Michael Shuler commented on CASSANDRA-2356:
---

[~sparkprime] with regards to node join messages, please open a new ticket for 
that request, including the actions you performed, the existing messages, and 
desired additions or changes.  This ticket is only about not starting deb 
installs by default.  :)

 make the debian package never start by default
 --

 Key: CASSANDRA-2356
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2356
 Project: Cassandra
  Issue Type: Improvement
  Components: Packaging
Reporter: Jeremy Hanna
Assignee: Michael Shuler
Priority: Minor
  Labels: debian, packaging
 Fix For: 3.0

 Attachments: 2356.txt


 Currently the debian package that installs cassandra starts cassandra by 
 default.  It sounds like that is a standard debian packaging convention.  
 However, if you want to bootstrap a new node and want to configure it before 
 it creates any sort of state information, it's a pain.  I would think that 
 the common use case would be to have it install all of the init scripts and 
 such but *not* have it start up by default.  That way an admin can configure 
 cassandra with seed, token, host, etc. information and then start it.  That 
 makes it easier to programmatically do this as well - have chef/puppet 
 install cassandra, do some configuration, then do the service start.
 With the current setup, it sounds like cassandra creates state on startup 
 that has to be cleaned before a new configuration can take effect.  So the 
 process of installing turns into:
 * install debian package
 * shutdown cassandra
 * clean out state (data/log dirs)
 * configure cassandra
 * start cassandra
 That seems suboptimal for the default case, especially when trying to 
 automate new nodes being bootstrapped.
 Another case might be when a downed node comes back up and starts by default 
 and tries to claim a token that has already been claimed by another newly 
 bootstrapped node.  Rob is more familiar with that case so I'll let him 
 explain it in the comments.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-7874) Validate functionality of different JSR-223 providers in UDFs

2014-11-03 Thread Mikhail Stepura (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-7874?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14195072#comment-14195072
 ] 

Mikhail Stepura commented on CASSANDRA-7874:


[~snazy] I've verified all the instructions and they are correct, thanks! 
But you need to port your changes to windows .bat/.ps1 files as well.

 Validate functionality of different JSR-223 providers in UDFs
 -

 Key: CASSANDRA-7874
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7874
 Project: Cassandra
  Issue Type: Task
  Components: Core
Reporter: Robert Stupp
Assignee: Robert Stupp
  Labels: udf
 Fix For: 3.0

 Attachments: 7874.txt, 7874v2.txt, 7874v3.txt, 7874v4.txt


 CASSANDRA-7526 introduces ability to support optional JSR-223 providers like 
 Clojure, Jython, Groovy or JRuby.
 This ticket is about to test functionality with these providers but not to 
 include them in C* distribution.
 Expected result is a how to document, wiki page or similar.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (CASSANDRA-8247) HHOM creates repeated 'No files to compact for user defined compaction' messages

2014-11-03 Thread Carl Yeksigian (JIRA)

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

Carl Yeksigian updated CASSANDRA-8247:
--
Attachment: 8247-2.1.txt

There is a missing check for when there are no hints written. Adding a check 
before calling the compaction manager.

 HHOM creates repeated 'No files to compact for user defined compaction' 
 messages
 

 Key: CASSANDRA-8247
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8247
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Reporter: Brandon Williams
Priority: Minor
 Fix For: 2.1.2

 Attachments: 8247-2.1.txt


 HH is a guess because it's every 10m, but it seems likely:
 {noformat}
 INFO  19:16:39 No files to compact for user defined compaction
 INFO  19:26:39 No files to compact for user defined compaction
 INFO  19:36:39 No files to compact for user defined compaction
 INFO  19:46:39 No files to compact for user defined compaction
 INFO  19:56:39 No files to compact for user defined compaction
 {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[4/8] git commit: Merge branch 'cassandra-2.0' into cassandra-2.1

2014-11-03 Thread brandonwilliams
Merge branch 'cassandra-2.0' into cassandra-2.1


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

Branch: refs/heads/cassandra-2.1
Commit: 02fa2fd42bb93a3cc0e6ac7d7af7e7bdc6a09a7b
Parents: 399a4ec 83d4762
Author: Brandon Williams brandonwilli...@apache.org
Authored: Mon Nov 3 14:59:00 2014 -0600
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Mon Nov 3 14:59:00 2014 -0600

--

--




[1/8] git commit: Add 'nodetool statusgossip'

2014-11-03 Thread brandonwilliams
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.0 5548bf45e - 83d4762a6
  refs/heads/cassandra-2.1 399a4ecf9 - fe8e92f8f
  refs/heads/trunk 57b5fb64c - 931a51869


Add 'nodetool statusgossip'

Patch by Jan Karlsson, reviewed by Brandon Williams for CASSANDRA-8125


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

Branch: refs/heads/cassandra-2.0
Commit: 83d4762a6d6c28c792fadc1d7f228600097d924f
Parents: 5548bf4
Author: Brandon Williams brandonwilli...@apache.org
Authored: Mon Nov 3 14:58:04 2014 -0600
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Mon Nov 3 14:58:04 2014 -0600

--
 CHANGES.txt  | 1 +
 src/java/org/apache/cassandra/service/StorageService.java| 6 ++
 .../org/apache/cassandra/service/StorageServiceMBean.java| 3 +++
 src/java/org/apache/cassandra/tools/NodeCmd.java | 8 
 src/java/org/apache/cassandra/tools/NodeProbe.java   | 5 +
 src/resources/org/apache/cassandra/tools/NodeToolHelp.yaml   | 3 +++
 6 files changed, 26 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/83d4762a/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 0ec3ff1..97fb94a 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.0.12:
+ * Add 'nodetool statusgossip' (CASSANDRA-8125)
  * Improve client notification that nodes are ready for requests 
(CASSANDRA-7510)
  * Handle negative timestamp in writetime method (CASSANDRA-8139)
  * Pig: Remove errant LIMIT clause in CqlNativeStorage (CASSANDRA-8166)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/83d4762a/src/java/org/apache/cassandra/service/StorageService.java
--
diff --git a/src/java/org/apache/cassandra/service/StorageService.java 
b/src/java/org/apache/cassandra/service/StorageService.java
index 1f831b9..066544a 100644
--- a/src/java/org/apache/cassandra/service/StorageService.java
+++ b/src/java/org/apache/cassandra/service/StorageService.java
@@ -293,6 +293,12 @@ public class StorageService extends 
NotificationBroadcasterSupport implements IE
 }
 }
 
+//should only be called via JMX
+public boolean isGossipRunning()
+{
+return Gossiper.instance.isEnabled();
+}
+
 // should only be called via JMX
 public void startRPCServer()
 {

http://git-wip-us.apache.org/repos/asf/cassandra/blob/83d4762a/src/java/org/apache/cassandra/service/StorageServiceMBean.java
--
diff --git a/src/java/org/apache/cassandra/service/StorageServiceMBean.java 
b/src/java/org/apache/cassandra/service/StorageServiceMBean.java
index 6308aa5..0e2f55d 100644
--- a/src/java/org/apache/cassandra/service/StorageServiceMBean.java
+++ b/src/java/org/apache/cassandra/service/StorageServiceMBean.java
@@ -392,6 +392,9 @@ public interface StorageServiceMBean extends 
NotificationEmitter
 // allows a user to recover a forcibly 'killed' node
 public void startGossiping();
 
+// allows a user to see whether gossip is running or not
+public boolean isGossipRunning();
+
 // allows a user to forcibly completely stop cassandra
 public void stopDaemon();
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/83d4762a/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 d9f3607..a397244 100644
--- a/src/java/org/apache/cassandra/tools/NodeCmd.java
+++ b/src/java/org/apache/cassandra/tools/NodeCmd.java
@@ -27,6 +27,7 @@ import java.text.SimpleDateFormat;
 import java.util.*;
 import java.util.Map.Entry;
 import java.util.concurrent.ExecutionException;
+
 import javax.management.openmbean.TabularData;
 
 import com.google.common.base.Joiner;
@@ -171,6 +172,7 @@ public class NodeCmd
 SNAPSHOT,
 STATUS,
 STATUSBINARY,
+STATUSGOSSIP,
 STATUSTHRIFT,
 STOP,
 STOPDAEMON,
@@ -1246,6 +1248,7 @@ public class NodeCmd
 case STATUSBINARY: 
nodeCmd.printIsNativeTransportRunning(System.out); break;
 case DISABLEGOSSIP   : probe.stopGossiping(); break;
 case ENABLEGOSSIP: probe.startGossiping(); break;
+case STATUSGOSSIP: 
nodeCmd.printIsGossipRunning(System.out); break;
 case DISABLEHANDOFF  : 

[6/8] git commit: Add 'nodetool statusgossip'

2014-11-03 Thread brandonwilliams
Add 'nodetool statusgossip'

Patch by Jan Karlsson, reviewed by Brandon Williams for CASSANDRA-8125


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

Branch: refs/heads/trunk
Commit: fe8e92f8f1ff3adec119c8eb219e024886561196
Parents: 02fa2fd
Author: Brandon Williams brandonwilli...@apache.org
Authored: Mon Nov 3 14:59:56 2014 -0600
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Mon Nov 3 14:59:56 2014 -0600

--
 CHANGES.txt   |  1 +
 .../org/apache/cassandra/service/StorageService.java  |  6 ++
 .../apache/cassandra/service/StorageServiceMBean.java |  3 +++
 src/java/org/apache/cassandra/tools/NodeProbe.java|  5 +
 src/java/org/apache/cassandra/tools/NodeTool.java | 14 ++
 5 files changed, 29 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/fe8e92f8/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 50a540f..b1a8439 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -13,6 +13,7 @@
  * Fix CREATE TABLE for CQL2 (CASSANDRA-8144)
  * Avoid boxing in ColumnStats min/max trackers (CASSANDRA-8109)
 Merged from 2.0:
+ * Add 'nodetool statusgossip' (CASSANDRA-8125)
  * Improve client notification that nodes are ready for requests 
(CASSANDRA-7510)
  * Handle negative timestamp in writetime method (CASSANDRA-8139)
  * Pig: Remove errant LIMIT clause in CqlNativeStorage (CASSANDRA-8166)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/fe8e92f8/src/java/org/apache/cassandra/service/StorageService.java
--
diff --git a/src/java/org/apache/cassandra/service/StorageService.java 
b/src/java/org/apache/cassandra/service/StorageService.java
index 84a6c14..a49dfc3 100644
--- a/src/java/org/apache/cassandra/service/StorageService.java
+++ b/src/java/org/apache/cassandra/service/StorageService.java
@@ -306,6 +306,12 @@ public class StorageService extends 
NotificationBroadcasterSupport implements IE
 }
 
 // should only be called via JMX
+public boolean isGossipRunning()
+{
+return Gossiper.instance.isEnabled();
+}
+
+// should only be called via JMX
 public void startRPCServer()
 {
 if (daemon == null)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/fe8e92f8/src/java/org/apache/cassandra/service/StorageServiceMBean.java
--
diff --git a/src/java/org/apache/cassandra/service/StorageServiceMBean.java 
b/src/java/org/apache/cassandra/service/StorageServiceMBean.java
index 8bb13ae..8ae44ff 100644
--- a/src/java/org/apache/cassandra/service/StorageServiceMBean.java
+++ b/src/java/org/apache/cassandra/service/StorageServiceMBean.java
@@ -398,6 +398,9 @@ public interface StorageServiceMBean extends 
NotificationEmitter
 // allows a user to recover a forcibly 'killed' node
 public void startGossiping();
 
+// allows a user to see whether gossip is running or not
+public boolean isGossipRunning();
+
 // allows a user to forcibly completely stop cassandra
 public void stopDaemon();
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/fe8e92f8/src/java/org/apache/cassandra/tools/NodeProbe.java
--
diff --git a/src/java/org/apache/cassandra/tools/NodeProbe.java 
b/src/java/org/apache/cassandra/tools/NodeProbe.java
index 7faec72..d495786 100644
--- a/src/java/org/apache/cassandra/tools/NodeProbe.java
+++ b/src/java/org/apache/cassandra/tools/NodeProbe.java
@@ -829,6 +829,11 @@ public class NodeProbe implements AutoCloseable
 ssProxy.startGossiping();
 }
 
+public boolean isGossipRunning()
+{
+return ssProxy.isGossipRunning();
+}
+
 public void stopThriftServer()
 {
 ssProxy.stopRPCServer();

http://git-wip-us.apache.org/repos/asf/cassandra/blob/fe8e92f8/src/java/org/apache/cassandra/tools/NodeTool.java
--
diff --git a/src/java/org/apache/cassandra/tools/NodeTool.java 
b/src/java/org/apache/cassandra/tools/NodeTool.java
index d5180f0..39bc4fd 100644
--- a/src/java/org/apache/cassandra/tools/NodeTool.java
+++ b/src/java/org/apache/cassandra/tools/NodeTool.java
@@ -127,6 +127,7 @@ public class NodeTool
 ListSnapshots.class,
 Status.class,
 StatusBinary.class,
+StatusGossip.class,
 StatusThrift.class,
 Stop.class,

[7/8] git commit: Add 'nodetool statusgossip'

2014-11-03 Thread brandonwilliams
Add 'nodetool statusgossip'

Patch by Jan Karlsson, reviewed by Brandon Williams for CASSANDRA-8125


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

Branch: refs/heads/cassandra-2.1
Commit: fe8e92f8f1ff3adec119c8eb219e024886561196
Parents: 02fa2fd
Author: Brandon Williams brandonwilli...@apache.org
Authored: Mon Nov 3 14:59:56 2014 -0600
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Mon Nov 3 14:59:56 2014 -0600

--
 CHANGES.txt   |  1 +
 .../org/apache/cassandra/service/StorageService.java  |  6 ++
 .../apache/cassandra/service/StorageServiceMBean.java |  3 +++
 src/java/org/apache/cassandra/tools/NodeProbe.java|  5 +
 src/java/org/apache/cassandra/tools/NodeTool.java | 14 ++
 5 files changed, 29 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/fe8e92f8/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 50a540f..b1a8439 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -13,6 +13,7 @@
  * Fix CREATE TABLE for CQL2 (CASSANDRA-8144)
  * Avoid boxing in ColumnStats min/max trackers (CASSANDRA-8109)
 Merged from 2.0:
+ * Add 'nodetool statusgossip' (CASSANDRA-8125)
  * Improve client notification that nodes are ready for requests 
(CASSANDRA-7510)
  * Handle negative timestamp in writetime method (CASSANDRA-8139)
  * Pig: Remove errant LIMIT clause in CqlNativeStorage (CASSANDRA-8166)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/fe8e92f8/src/java/org/apache/cassandra/service/StorageService.java
--
diff --git a/src/java/org/apache/cassandra/service/StorageService.java 
b/src/java/org/apache/cassandra/service/StorageService.java
index 84a6c14..a49dfc3 100644
--- a/src/java/org/apache/cassandra/service/StorageService.java
+++ b/src/java/org/apache/cassandra/service/StorageService.java
@@ -306,6 +306,12 @@ public class StorageService extends 
NotificationBroadcasterSupport implements IE
 }
 
 // should only be called via JMX
+public boolean isGossipRunning()
+{
+return Gossiper.instance.isEnabled();
+}
+
+// should only be called via JMX
 public void startRPCServer()
 {
 if (daemon == null)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/fe8e92f8/src/java/org/apache/cassandra/service/StorageServiceMBean.java
--
diff --git a/src/java/org/apache/cassandra/service/StorageServiceMBean.java 
b/src/java/org/apache/cassandra/service/StorageServiceMBean.java
index 8bb13ae..8ae44ff 100644
--- a/src/java/org/apache/cassandra/service/StorageServiceMBean.java
+++ b/src/java/org/apache/cassandra/service/StorageServiceMBean.java
@@ -398,6 +398,9 @@ public interface StorageServiceMBean extends 
NotificationEmitter
 // allows a user to recover a forcibly 'killed' node
 public void startGossiping();
 
+// allows a user to see whether gossip is running or not
+public boolean isGossipRunning();
+
 // allows a user to forcibly completely stop cassandra
 public void stopDaemon();
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/fe8e92f8/src/java/org/apache/cassandra/tools/NodeProbe.java
--
diff --git a/src/java/org/apache/cassandra/tools/NodeProbe.java 
b/src/java/org/apache/cassandra/tools/NodeProbe.java
index 7faec72..d495786 100644
--- a/src/java/org/apache/cassandra/tools/NodeProbe.java
+++ b/src/java/org/apache/cassandra/tools/NodeProbe.java
@@ -829,6 +829,11 @@ public class NodeProbe implements AutoCloseable
 ssProxy.startGossiping();
 }
 
+public boolean isGossipRunning()
+{
+return ssProxy.isGossipRunning();
+}
+
 public void stopThriftServer()
 {
 ssProxy.stopRPCServer();

http://git-wip-us.apache.org/repos/asf/cassandra/blob/fe8e92f8/src/java/org/apache/cassandra/tools/NodeTool.java
--
diff --git a/src/java/org/apache/cassandra/tools/NodeTool.java 
b/src/java/org/apache/cassandra/tools/NodeTool.java
index d5180f0..39bc4fd 100644
--- a/src/java/org/apache/cassandra/tools/NodeTool.java
+++ b/src/java/org/apache/cassandra/tools/NodeTool.java
@@ -127,6 +127,7 @@ public class NodeTool
 ListSnapshots.class,
 Status.class,
 StatusBinary.class,
+StatusGossip.class,
 StatusThrift.class,
 

[5/8] git commit: Merge branch 'cassandra-2.0' into cassandra-2.1

2014-11-03 Thread brandonwilliams
Merge branch 'cassandra-2.0' into cassandra-2.1


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

Branch: refs/heads/trunk
Commit: 02fa2fd42bb93a3cc0e6ac7d7af7e7bdc6a09a7b
Parents: 399a4ec 83d4762
Author: Brandon Williams brandonwilli...@apache.org
Authored: Mon Nov 3 14:59:00 2014 -0600
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Mon Nov 3 14:59:00 2014 -0600

--

--




[8/8] git commit: Merge branch 'cassandra-2.1' into trunk

2014-11-03 Thread brandonwilliams
Merge branch 'cassandra-2.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/931a5186
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/931a5186
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/931a5186

Branch: refs/heads/trunk
Commit: 931a51869cda16f69e9b1ed4e4575c1dcbfb4dd0
Parents: 57b5fb6 fe8e92f
Author: Brandon Williams brandonwilli...@apache.org
Authored: Mon Nov 3 15:00:33 2014 -0600
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Mon Nov 3 15:00:33 2014 -0600

--
 CHANGES.txt   |  1 +
 .../org/apache/cassandra/service/StorageService.java  |  6 ++
 .../apache/cassandra/service/StorageServiceMBean.java |  3 +++
 src/java/org/apache/cassandra/tools/NodeProbe.java|  5 +
 src/java/org/apache/cassandra/tools/NodeTool.java | 14 ++
 5 files changed, 29 insertions(+)
--


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

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

http://git-wip-us.apache.org/repos/asf/cassandra/blob/931a5186/src/java/org/apache/cassandra/service/StorageServiceMBean.java
--

http://git-wip-us.apache.org/repos/asf/cassandra/blob/931a5186/src/java/org/apache/cassandra/tools/NodeProbe.java
--

http://git-wip-us.apache.org/repos/asf/cassandra/blob/931a5186/src/java/org/apache/cassandra/tools/NodeTool.java
--



[2/8] git commit: Add 'nodetool statusgossip'

2014-11-03 Thread brandonwilliams
Add 'nodetool statusgossip'

Patch by Jan Karlsson, reviewed by Brandon Williams for CASSANDRA-8125


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

Branch: refs/heads/cassandra-2.1
Commit: 83d4762a6d6c28c792fadc1d7f228600097d924f
Parents: 5548bf4
Author: Brandon Williams brandonwilli...@apache.org
Authored: Mon Nov 3 14:58:04 2014 -0600
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Mon Nov 3 14:58:04 2014 -0600

--
 CHANGES.txt  | 1 +
 src/java/org/apache/cassandra/service/StorageService.java| 6 ++
 .../org/apache/cassandra/service/StorageServiceMBean.java| 3 +++
 src/java/org/apache/cassandra/tools/NodeCmd.java | 8 
 src/java/org/apache/cassandra/tools/NodeProbe.java   | 5 +
 src/resources/org/apache/cassandra/tools/NodeToolHelp.yaml   | 3 +++
 6 files changed, 26 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/83d4762a/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 0ec3ff1..97fb94a 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.0.12:
+ * Add 'nodetool statusgossip' (CASSANDRA-8125)
  * Improve client notification that nodes are ready for requests 
(CASSANDRA-7510)
  * Handle negative timestamp in writetime method (CASSANDRA-8139)
  * Pig: Remove errant LIMIT clause in CqlNativeStorage (CASSANDRA-8166)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/83d4762a/src/java/org/apache/cassandra/service/StorageService.java
--
diff --git a/src/java/org/apache/cassandra/service/StorageService.java 
b/src/java/org/apache/cassandra/service/StorageService.java
index 1f831b9..066544a 100644
--- a/src/java/org/apache/cassandra/service/StorageService.java
+++ b/src/java/org/apache/cassandra/service/StorageService.java
@@ -293,6 +293,12 @@ public class StorageService extends 
NotificationBroadcasterSupport implements IE
 }
 }
 
+//should only be called via JMX
+public boolean isGossipRunning()
+{
+return Gossiper.instance.isEnabled();
+}
+
 // should only be called via JMX
 public void startRPCServer()
 {

http://git-wip-us.apache.org/repos/asf/cassandra/blob/83d4762a/src/java/org/apache/cassandra/service/StorageServiceMBean.java
--
diff --git a/src/java/org/apache/cassandra/service/StorageServiceMBean.java 
b/src/java/org/apache/cassandra/service/StorageServiceMBean.java
index 6308aa5..0e2f55d 100644
--- a/src/java/org/apache/cassandra/service/StorageServiceMBean.java
+++ b/src/java/org/apache/cassandra/service/StorageServiceMBean.java
@@ -392,6 +392,9 @@ public interface StorageServiceMBean extends 
NotificationEmitter
 // allows a user to recover a forcibly 'killed' node
 public void startGossiping();
 
+// allows a user to see whether gossip is running or not
+public boolean isGossipRunning();
+
 // allows a user to forcibly completely stop cassandra
 public void stopDaemon();
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/83d4762a/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 d9f3607..a397244 100644
--- a/src/java/org/apache/cassandra/tools/NodeCmd.java
+++ b/src/java/org/apache/cassandra/tools/NodeCmd.java
@@ -27,6 +27,7 @@ import java.text.SimpleDateFormat;
 import java.util.*;
 import java.util.Map.Entry;
 import java.util.concurrent.ExecutionException;
+
 import javax.management.openmbean.TabularData;
 
 import com.google.common.base.Joiner;
@@ -171,6 +172,7 @@ public class NodeCmd
 SNAPSHOT,
 STATUS,
 STATUSBINARY,
+STATUSGOSSIP,
 STATUSTHRIFT,
 STOP,
 STOPDAEMON,
@@ -1246,6 +1248,7 @@ public class NodeCmd
 case STATUSBINARY: 
nodeCmd.printIsNativeTransportRunning(System.out); break;
 case DISABLEGOSSIP   : probe.stopGossiping(); break;
 case ENABLEGOSSIP: probe.startGossiping(); break;
+case STATUSGOSSIP: 
nodeCmd.printIsGossipRunning(System.out); break;
 case DISABLEHANDOFF  : probe.disableHintedHandoff(); break;
 case ENABLEHANDOFF   :
 if (arguments.length  0) { 
probe.enableHintedHandoff(arguments[0]); }
@@ -1494,6 +1497,11 @@ 

[3/8] git commit: Add 'nodetool statusgossip'

2014-11-03 Thread brandonwilliams
Add 'nodetool statusgossip'

Patch by Jan Karlsson, reviewed by Brandon Williams for CASSANDRA-8125


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

Branch: refs/heads/trunk
Commit: 83d4762a6d6c28c792fadc1d7f228600097d924f
Parents: 5548bf4
Author: Brandon Williams brandonwilli...@apache.org
Authored: Mon Nov 3 14:58:04 2014 -0600
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Mon Nov 3 14:58:04 2014 -0600

--
 CHANGES.txt  | 1 +
 src/java/org/apache/cassandra/service/StorageService.java| 6 ++
 .../org/apache/cassandra/service/StorageServiceMBean.java| 3 +++
 src/java/org/apache/cassandra/tools/NodeCmd.java | 8 
 src/java/org/apache/cassandra/tools/NodeProbe.java   | 5 +
 src/resources/org/apache/cassandra/tools/NodeToolHelp.yaml   | 3 +++
 6 files changed, 26 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/83d4762a/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 0ec3ff1..97fb94a 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.0.12:
+ * Add 'nodetool statusgossip' (CASSANDRA-8125)
  * Improve client notification that nodes are ready for requests 
(CASSANDRA-7510)
  * Handle negative timestamp in writetime method (CASSANDRA-8139)
  * Pig: Remove errant LIMIT clause in CqlNativeStorage (CASSANDRA-8166)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/83d4762a/src/java/org/apache/cassandra/service/StorageService.java
--
diff --git a/src/java/org/apache/cassandra/service/StorageService.java 
b/src/java/org/apache/cassandra/service/StorageService.java
index 1f831b9..066544a 100644
--- a/src/java/org/apache/cassandra/service/StorageService.java
+++ b/src/java/org/apache/cassandra/service/StorageService.java
@@ -293,6 +293,12 @@ public class StorageService extends 
NotificationBroadcasterSupport implements IE
 }
 }
 
+//should only be called via JMX
+public boolean isGossipRunning()
+{
+return Gossiper.instance.isEnabled();
+}
+
 // should only be called via JMX
 public void startRPCServer()
 {

http://git-wip-us.apache.org/repos/asf/cassandra/blob/83d4762a/src/java/org/apache/cassandra/service/StorageServiceMBean.java
--
diff --git a/src/java/org/apache/cassandra/service/StorageServiceMBean.java 
b/src/java/org/apache/cassandra/service/StorageServiceMBean.java
index 6308aa5..0e2f55d 100644
--- a/src/java/org/apache/cassandra/service/StorageServiceMBean.java
+++ b/src/java/org/apache/cassandra/service/StorageServiceMBean.java
@@ -392,6 +392,9 @@ public interface StorageServiceMBean extends 
NotificationEmitter
 // allows a user to recover a forcibly 'killed' node
 public void startGossiping();
 
+// allows a user to see whether gossip is running or not
+public boolean isGossipRunning();
+
 // allows a user to forcibly completely stop cassandra
 public void stopDaemon();
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/83d4762a/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 d9f3607..a397244 100644
--- a/src/java/org/apache/cassandra/tools/NodeCmd.java
+++ b/src/java/org/apache/cassandra/tools/NodeCmd.java
@@ -27,6 +27,7 @@ import java.text.SimpleDateFormat;
 import java.util.*;
 import java.util.Map.Entry;
 import java.util.concurrent.ExecutionException;
+
 import javax.management.openmbean.TabularData;
 
 import com.google.common.base.Joiner;
@@ -171,6 +172,7 @@ public class NodeCmd
 SNAPSHOT,
 STATUS,
 STATUSBINARY,
+STATUSGOSSIP,
 STATUSTHRIFT,
 STOP,
 STOPDAEMON,
@@ -1246,6 +1248,7 @@ public class NodeCmd
 case STATUSBINARY: 
nodeCmd.printIsNativeTransportRunning(System.out); break;
 case DISABLEGOSSIP   : probe.stopGossiping(); break;
 case ENABLEGOSSIP: probe.startGossiping(); break;
+case STATUSGOSSIP: 
nodeCmd.printIsGossipRunning(System.out); break;
 case DISABLEHANDOFF  : probe.disableHintedHandoff(); break;
 case ENABLEHANDOFF   :
 if (arguments.length  0) { 
probe.enableHintedHandoff(arguments[0]); }
@@ -1494,6 +1497,11 @@ public 

[1/3] git commit: Fix repeating message when there are no hints to compact

2014-11-03 Thread brandonwilliams
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.1 fe8e92f8f - 827d93e22
  refs/heads/trunk 931a51869 - 156e278ed


Fix repeating message when there are no hints to compact

Patch by carlyeks, reviewed by brandonwilliams for CASSANDRA-8247


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

Branch: refs/heads/cassandra-2.1
Commit: 827d93e22fed93d5701b8b69a4818d0cc955dcce
Parents: fe8e92f
Author: Brandon Williams brandonwilli...@apache.org
Authored: Mon Nov 3 15:06:55 2014 -0600
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Mon Nov 3 15:06:55 2014 -0600

--
 src/java/org/apache/cassandra/db/HintedHandOffManager.java | 3 +++
 1 file changed, 3 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/827d93e2/src/java/org/apache/cassandra/db/HintedHandOffManager.java
--
diff --git a/src/java/org/apache/cassandra/db/HintedHandOffManager.java 
b/src/java/org/apache/cassandra/db/HintedHandOffManager.java
index a1920ae..0e68a71 100644
--- a/src/java/org/apache/cassandra/db/HintedHandOffManager.java
+++ b/src/java/org/apache/cassandra/db/HintedHandOffManager.java
@@ -260,6 +260,9 @@ public class HintedHandOffManager implements 
HintedHandOffManagerMBean
 for (SSTable sstable : 
hintStore.getDataTracker().getUncompactingSSTables())
 descriptors.add(sstable.descriptor);
 
+if (descriptors.isEmpty())
+return;
+
 try
 {
 CompactionManager.instance.submitUserDefined(hintStore, 
descriptors, (int) (System.currentTimeMillis() / 1000)).get();



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

2014-11-03 Thread brandonwilliams
Merge branch 'cassandra-2.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/156e278e
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/156e278e
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/156e278e

Branch: refs/heads/trunk
Commit: 156e278ed841e5adf5172d3480af6143d844ab2f
Parents: 931a518 827d93e
Author: Brandon Williams brandonwilli...@apache.org
Authored: Mon Nov 3 15:07:39 2014 -0600
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Mon Nov 3 15:07:39 2014 -0600

--
 src/java/org/apache/cassandra/db/HintedHandOffManager.java | 3 +++
 1 file changed, 3 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/156e278e/src/java/org/apache/cassandra/db/HintedHandOffManager.java
--



[2/3] git commit: Fix repeating message when there are no hints to compact

2014-11-03 Thread brandonwilliams
Fix repeating message when there are no hints to compact

Patch by carlyeks, reviewed by brandonwilliams for CASSANDRA-8247


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

Branch: refs/heads/trunk
Commit: 827d93e22fed93d5701b8b69a4818d0cc955dcce
Parents: fe8e92f
Author: Brandon Williams brandonwilli...@apache.org
Authored: Mon Nov 3 15:06:55 2014 -0600
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Mon Nov 3 15:06:55 2014 -0600

--
 src/java/org/apache/cassandra/db/HintedHandOffManager.java | 3 +++
 1 file changed, 3 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/827d93e2/src/java/org/apache/cassandra/db/HintedHandOffManager.java
--
diff --git a/src/java/org/apache/cassandra/db/HintedHandOffManager.java 
b/src/java/org/apache/cassandra/db/HintedHandOffManager.java
index a1920ae..0e68a71 100644
--- a/src/java/org/apache/cassandra/db/HintedHandOffManager.java
+++ b/src/java/org/apache/cassandra/db/HintedHandOffManager.java
@@ -260,6 +260,9 @@ public class HintedHandOffManager implements 
HintedHandOffManagerMBean
 for (SSTable sstable : 
hintStore.getDataTracker().getUncompactingSSTables())
 descriptors.add(sstable.descriptor);
 
+if (descriptors.isEmpty())
+return;
+
 try
 {
 CompactionManager.instance.submitUserDefined(hintStore, 
descriptors, (int) (System.currentTimeMillis() / 1000)).get();



[jira] [Updated] (CASSANDRA-7985) stress tool doesn't support auth

2014-11-03 Thread Jeremiah Jordan (JIRA)

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

Jeremiah Jordan updated CASSANDRA-7985:
---
Since Version: 2.1.0

 stress tool doesn't support auth
 

 Key: CASSANDRA-7985
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7985
 Project: Cassandra
  Issue Type: Improvement
  Components: Tools
Reporter: Ashic Mahtab

 stress tool in 2.1 doesn't seem to support username / password authentication 
 (like cqlsh).



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-8087) Multiple non-DISTINCT rows returned when page_size set

2014-11-03 Thread Philip Thompson (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8087?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14195137#comment-14195137
 ] 

Philip Thompson commented on CASSANDRA-8087:


I can reproduce locally and on Jenkins on 2.0-HEAD that the test is failing 
with multiple rows being returned.

 Multiple non-DISTINCT rows returned when page_size set
 --

 Key: CASSANDRA-8087
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8087
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Reporter: Adam Holmberg
Assignee: Tyler Hobbs
Priority: Minor
 Fix For: 2.0.11


 Using the following statements to reproduce:
 {code}
 CREATE TABLE test (
 k int,
 p int,
 s int static,
 PRIMARY KEY (k, p)
 );
 INSERT INTO test (k, p) VALUES (1, 1);
 INSERT INTO test (k, p) VALUES (1, 2);
 SELECT DISTINCT k, s FROM test ;
 {code}
 Native clients that set result_page_size in the query message receive 
 multiple non-distinct rows back (one per clustered value p in row k).
 This is only reproduced on 2.0.10. Does not appear in 2.1.0
 It does not appear in cqlsh for 2.0.10 because thrift.
 See https://datastax-oss.atlassian.net/browse/PYTHON-164 for background



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-8247) HHOM creates repeated 'No files to compact for user defined compaction' messages

2014-11-03 Thread Aleksey Yeschenko (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8247?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14195148#comment-14195148
 ] 

Aleksey Yeschenko commented on CASSANDRA-8247:
--

I know it's a Minor, but you might want to back port it to 2.0 as well.

 HHOM creates repeated 'No files to compact for user defined compaction' 
 messages
 

 Key: CASSANDRA-8247
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8247
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Reporter: Brandon Williams
Assignee: Carl Yeksigian
Priority: Minor
 Fix For: 2.1.2

 Attachments: 8247-2.1.txt


 HH is a guess because it's every 10m, but it seems likely:
 {noformat}
 INFO  19:16:39 No files to compact for user defined compaction
 INFO  19:26:39 No files to compact for user defined compaction
 INFO  19:36:39 No files to compact for user defined compaction
 INFO  19:46:39 No files to compact for user defined compaction
 INFO  19:56:39 No files to compact for user defined compaction
 {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-7964) cassandra-stress over schema should support multiple simultaneous inserts over the same seed

2014-11-03 Thread Robert Stupp (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-7964?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14195151#comment-14195151
 ] 

Robert Stupp commented on CASSANDRA-7964:
-

Yes :)

 cassandra-stress over schema should support multiple simultaneous inserts 
 over the same seed
 

 Key: CASSANDRA-7964
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7964
 Project: Cassandra
  Issue Type: Improvement
  Components: Tools
Reporter: Benedict
Assignee: Benedict
Priority: Minor

 This constraint makes testing contention essentially impossible



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[5/6] git commit: Merge branch 'cassandra-2.0' into cassandra-2.1

2014-11-03 Thread brandonwilliams
Merge branch 'cassandra-2.0' into cassandra-2.1


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

Branch: refs/heads/cassandra-2.1
Commit: 25be46497a8df46f05ffa102bc645bfd684ea48a
Parents: 827d93e e88bcfe
Author: Brandon Williams brandonwilli...@apache.org
Authored: Mon Nov 3 15:47:47 2014 -0600
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Mon Nov 3 15:47:47 2014 -0600

--

--




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

2014-11-03 Thread brandonwilliams
Merge branch 'cassandra-2.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/c93cbb29
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/c93cbb29
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/c93cbb29

Branch: refs/heads/trunk
Commit: c93cbb2959ce02d961a2e6c0fd1f103b70600dce
Parents: 156e278 25be464
Author: Brandon Williams brandonwilli...@apache.org
Authored: Mon Nov 3 15:47:56 2014 -0600
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Mon Nov 3 15:47:56 2014 -0600

--

--




[4/6] git commit: Merge branch 'cassandra-2.0' into cassandra-2.1

2014-11-03 Thread brandonwilliams
Merge branch 'cassandra-2.0' into cassandra-2.1


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

Branch: refs/heads/trunk
Commit: 25be46497a8df46f05ffa102bc645bfd684ea48a
Parents: 827d93e e88bcfe
Author: Brandon Williams brandonwilli...@apache.org
Authored: Mon Nov 3 15:47:47 2014 -0600
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Mon Nov 3 15:47:47 2014 -0600

--

--




[2/6] git commit: Fix repeated message when there are no hints to compact

2014-11-03 Thread brandonwilliams
Fix repeated message when there are no hints to compact

Patch by carlyeks, reviwed by brandonwilliams for CASSANDRA-8247


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

Branch: refs/heads/cassandra-2.1
Commit: e88bcfeb15266756c7543beb97aad6c1be74dabe
Parents: 83d4762
Author: Brandon Williams brandonwilli...@apache.org
Authored: Mon Nov 3 15:47:02 2014 -0600
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Mon Nov 3 15:47:02 2014 -0600

--
 src/java/org/apache/cassandra/db/HintedHandOffManager.java | 3 +++
 1 file changed, 3 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/e88bcfeb/src/java/org/apache/cassandra/db/HintedHandOffManager.java
--
diff --git a/src/java/org/apache/cassandra/db/HintedHandOffManager.java 
b/src/java/org/apache/cassandra/db/HintedHandOffManager.java
index a6b6d4c..c2e4d0d 100644
--- a/src/java/org/apache/cassandra/db/HintedHandOffManager.java
+++ b/src/java/org/apache/cassandra/db/HintedHandOffManager.java
@@ -257,6 +257,9 @@ public class HintedHandOffManager implements 
HintedHandOffManagerMBean
 for (SSTable sstable : 
hintStore.getDataTracker().getUncompactingSSTables())
 descriptors.add(sstable.descriptor);
 
+if (descriptors.isEmpty())
+return;
+
 try
 {
 CompactionManager.instance.submitUserDefined(hintStore, 
descriptors, (int) (System.currentTimeMillis() / 1000)).get();



[1/6] git commit: Fix repeated message when there are no hints to compact

2014-11-03 Thread brandonwilliams
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.0 83d4762a6 - e88bcfeb1
  refs/heads/cassandra-2.1 827d93e22 - 25be46497
  refs/heads/trunk 156e278ed - c93cbb295


Fix repeated message when there are no hints to compact

Patch by carlyeks, reviwed by brandonwilliams for CASSANDRA-8247


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

Branch: refs/heads/cassandra-2.0
Commit: e88bcfeb15266756c7543beb97aad6c1be74dabe
Parents: 83d4762
Author: Brandon Williams brandonwilli...@apache.org
Authored: Mon Nov 3 15:47:02 2014 -0600
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Mon Nov 3 15:47:02 2014 -0600

--
 src/java/org/apache/cassandra/db/HintedHandOffManager.java | 3 +++
 1 file changed, 3 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/e88bcfeb/src/java/org/apache/cassandra/db/HintedHandOffManager.java
--
diff --git a/src/java/org/apache/cassandra/db/HintedHandOffManager.java 
b/src/java/org/apache/cassandra/db/HintedHandOffManager.java
index a6b6d4c..c2e4d0d 100644
--- a/src/java/org/apache/cassandra/db/HintedHandOffManager.java
+++ b/src/java/org/apache/cassandra/db/HintedHandOffManager.java
@@ -257,6 +257,9 @@ public class HintedHandOffManager implements 
HintedHandOffManagerMBean
 for (SSTable sstable : 
hintStore.getDataTracker().getUncompactingSSTables())
 descriptors.add(sstable.descriptor);
 
+if (descriptors.isEmpty())
+return;
+
 try
 {
 CompactionManager.instance.submitUserDefined(hintStore, 
descriptors, (int) (System.currentTimeMillis() / 1000)).get();



[jira] [Updated] (CASSANDRA-8247) HHOM creates repeated 'No files to compact for user defined compaction' messages

2014-11-03 Thread Brandon Williams (JIRA)

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

Brandon Williams updated CASSANDRA-8247:

Fix Version/s: 2.0.12

 HHOM creates repeated 'No files to compact for user defined compaction' 
 messages
 

 Key: CASSANDRA-8247
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8247
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Reporter: Brandon Williams
Assignee: Carl Yeksigian
Priority: Minor
 Fix For: 2.0.12, 2.1.2

 Attachments: 8247-2.1.txt


 HH is a guess because it's every 10m, but it seems likely:
 {noformat}
 INFO  19:16:39 No files to compact for user defined compaction
 INFO  19:26:39 No files to compact for user defined compaction
 INFO  19:36:39 No files to compact for user defined compaction
 INFO  19:46:39 No files to compact for user defined compaction
 INFO  19:56:39 No files to compact for user defined compaction
 {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-8247) HHOM creates repeated 'No files to compact for user defined compaction' messages

2014-11-03 Thread Brandon Williams (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8247?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14195166#comment-14195166
 ] 

Brandon Williams commented on CASSANDRA-8247:
-

Backported to 2.0

 HHOM creates repeated 'No files to compact for user defined compaction' 
 messages
 

 Key: CASSANDRA-8247
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8247
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Reporter: Brandon Williams
Assignee: Carl Yeksigian
Priority: Minor
 Fix For: 2.0.12, 2.1.2

 Attachments: 8247-2.1.txt


 HH is a guess because it's every 10m, but it seems likely:
 {noformat}
 INFO  19:16:39 No files to compact for user defined compaction
 INFO  19:26:39 No files to compact for user defined compaction
 INFO  19:36:39 No files to compact for user defined compaction
 INFO  19:46:39 No files to compact for user defined compaction
 INFO  19:56:39 No files to compact for user defined compaction
 {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[3/6] git commit: Fix repeated message when there are no hints to compact

2014-11-03 Thread brandonwilliams
Fix repeated message when there are no hints to compact

Patch by carlyeks, reviwed by brandonwilliams for CASSANDRA-8247


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

Branch: refs/heads/trunk
Commit: e88bcfeb15266756c7543beb97aad6c1be74dabe
Parents: 83d4762
Author: Brandon Williams brandonwilli...@apache.org
Authored: Mon Nov 3 15:47:02 2014 -0600
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Mon Nov 3 15:47:02 2014 -0600

--
 src/java/org/apache/cassandra/db/HintedHandOffManager.java | 3 +++
 1 file changed, 3 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/e88bcfeb/src/java/org/apache/cassandra/db/HintedHandOffManager.java
--
diff --git a/src/java/org/apache/cassandra/db/HintedHandOffManager.java 
b/src/java/org/apache/cassandra/db/HintedHandOffManager.java
index a6b6d4c..c2e4d0d 100644
--- a/src/java/org/apache/cassandra/db/HintedHandOffManager.java
+++ b/src/java/org/apache/cassandra/db/HintedHandOffManager.java
@@ -257,6 +257,9 @@ public class HintedHandOffManager implements 
HintedHandOffManagerMBean
 for (SSTable sstable : 
hintStore.getDataTracker().getUncompactingSSTables())
 descriptors.add(sstable.descriptor);
 
+if (descriptors.isEmpty())
+return;
+
 try
 {
 CompactionManager.instance.submitUserDefined(hintStore, 
descriptors, (int) (System.currentTimeMillis() / 1000)).get();



[jira] [Commented] (CASSANDRA-8241) Use javac instead of javassist

2014-11-03 Thread Robert Stupp (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8241?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14195181#comment-14195181
 ] 

Robert Stupp commented on CASSANDRA-8241:
-

bq. users need to deploy a JDK
Yes - tools.jar is required so the stricter license requirements apply. Not 
sure what these stricter license requirements exactly mean - my knowledge is 
about that is quite old - as far as I remember the stricter license forbids 
redistribution of a bundled JDK.
JDK requirement itself seems similar to what JEE containers require e.g. for 
JSPs. Tomcat uses the Eclipse compiler - which could be another option.
I'm pretty much in favor of using either tools.jar or Eclipse compiler to 
support known Java language features which are missing in javassist.
Will dig a bit more into the license foo and check the Eclipse compiler.

 Use javac instead of javassist
 --

 Key: CASSANDRA-8241
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8241
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Reporter: Robert Stupp
Assignee: Robert Stupp
  Labels: udf
 Fix For: 3.0

 Attachments: udf-java-javac.txt


 Using JDK's built-in Java-Compiler API has some advantages over javassist.
 Although compilation feels a bit slower, Java compiler API has some 
 advantages:
 * boxing + unboxing works
 * generics work
 * compiler error messages are better (or at least known) and have line/column 
 numbers
 The implementation does not use any temp files. Everything's in memory.
 Patch attached to this issue.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


  1   2   >