You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by ja...@apache.org on 2014/08/15 19:28:59 UTC
[1/3] git commit: Fix NPE in FileCacheService.sizeInBytes
Repository: cassandra
Updated Branches:
refs/heads/cassandra-2.1 04a1fc6e1 -> 54fbb0abb
Fix NPE in FileCacheService.sizeInBytes
patch by tjake; reviewed by jbellis for (CASSANDRA-7756)
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/ad6ba3d2
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/ad6ba3d2
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/ad6ba3d2
Branch: refs/heads/cassandra-2.1
Commit: ad6ba3d243058f060569ad16d6713f46e2ce6160
Parents: e756660
Author: Jake Luciani <ja...@apache.org>
Authored: Fri Aug 15 13:24:15 2014 -0400
Committer: Jake Luciani <ja...@apache.org>
Committed: Fri Aug 15 13:24:15 2014 -0400
----------------------------------------------------------------------
CHANGES.txt | 1 +
.../cassandra/io/util/RandomAccessReader.java | 5 +-
.../io/util/BufferedRandomAccessFileTest.java | 70 ++++++++++++++++++++
3 files changed, 75 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/ad6ba3d2/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index 04902ad..4306de5 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
2.0.10
+ * Fix NPE in FileCacheService.sizeInBytes (CASSANDRA-7756)
* (cqlsh) cqlsh should automatically disable tracing when selecting
from system_traces (CASSANDRA-7641)
* (Hadoop) Add CqlOutputFormat (CASSANDRA-6927)
http://git-wip-us.apache.org/repos/asf/cassandra/blob/ad6ba3d2/src/java/org/apache/cassandra/io/util/RandomAccessReader.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/io/util/RandomAccessReader.java b/src/java/org/apache/cassandra/io/util/RandomAccessReader.java
index 9a03480..09ecac0 100644
--- a/src/java/org/apache/cassandra/io/util/RandomAccessReader.java
+++ b/src/java/org/apache/cassandra/io/util/RandomAccessReader.java
@@ -154,7 +154,10 @@ public class RandomAccessReader extends RandomAccessFile implements FileDataInpu
public int getTotalBufferSize()
{
- return buffer.length;
+ //This may NPE so we make a ref
+ //https://issues.apache.org/jira/browse/CASSANDRA-7756
+ byte[] ref = buffer;
+ return ref != null ? ref.length : 0;
}
public void reset()
http://git-wip-us.apache.org/repos/asf/cassandra/blob/ad6ba3d2/test/unit/org/apache/cassandra/io/util/BufferedRandomAccessFileTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/io/util/BufferedRandomAccessFileTest.java b/test/unit/org/apache/cassandra/io/util/BufferedRandomAccessFileTest.java
index 90c27e3..a16b291 100644
--- a/test/unit/org/apache/cassandra/io/util/BufferedRandomAccessFileTest.java
+++ b/test/unit/org/apache/cassandra/io/util/BufferedRandomAccessFileTest.java
@@ -19,6 +19,7 @@
*/
package org.apache.cassandra.io.util;
+import org.apache.cassandra.service.FileCacheService;
import org.apache.cassandra.utils.ByteBufferUtil;
import java.io.File;
@@ -28,6 +29,11 @@ import java.nio.ByteBuffer;
import java.nio.channels.ClosedChannelException;
import java.util.Arrays;
import java.util.concurrent.Callable;
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+import java.util.concurrent.atomic.AtomicBoolean;
+import java.util.concurrent.atomic.AtomicInteger;
import static org.apache.cassandra.Util.expectEOF;
import static org.apache.cassandra.Util.expectException;
@@ -508,6 +514,70 @@ public class BufferedRandomAccessFileTest
}
@Test
+ public void testFileCacheService() throws IOException, InterruptedException
+ {
+ //see https://issues.apache.org/jira/browse/CASSANDRA-7756
+
+ final int THREAD_COUNT = 40;
+ ExecutorService executorService = Executors.newFixedThreadPool(THREAD_COUNT);
+
+ SequentialWriter w1 = createTempFile("fscache1");
+ SequentialWriter w2 = createTempFile("fscache2");
+
+ w1.write(new byte[30]);
+ w1.close();
+
+ w2.write(new byte[30]);
+ w2.close();
+
+ for (int i = 0; i < 20; i++)
+ {
+
+
+ RandomAccessReader r1 = RandomAccessReader.open(w1);
+ RandomAccessReader r2 = RandomAccessReader.open(w2);
+
+
+ FileCacheService.instance.put(r1);
+ FileCacheService.instance.put(r2);
+
+ final CountDownLatch finished = new CountDownLatch(THREAD_COUNT);
+ final AtomicBoolean hadError = new AtomicBoolean(false);
+
+ for (int k = 0; k < THREAD_COUNT; k++)
+ {
+ executorService.execute( new Runnable()
+ {
+ @Override
+ public void run()
+ {
+ try
+ {
+ long size = FileCacheService.instance.sizeInBytes();
+
+ while (size > 0)
+ size = FileCacheService.instance.sizeInBytes();
+ }
+ catch (Throwable t)
+ {
+ t.printStackTrace();
+ hadError.set(true);
+ }
+ finally
+ {
+ finished.countDown();
+ }
+ }
+ });
+
+ }
+
+ finished.await();
+ assert !hadError.get();
+ }
+ }
+
+ @Test
public void testReadOnly() throws IOException
{
SequentialWriter file = createTempFile("brafReadOnlyTest");
[3/3] git commit: Merge branch 'cassandra-2.1.0' into cassandra-2.1
Posted by ja...@apache.org.
Merge branch 'cassandra-2.1.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/54fbb0ab
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/54fbb0ab
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/54fbb0ab
Branch: refs/heads/cassandra-2.1
Commit: 54fbb0abb917e5717bfe8332560dd3a9663cf60a
Parents: 04a1fc6 e9d0214
Author: Jake Luciani <ja...@apache.org>
Authored: Fri Aug 15 13:28:35 2014 -0400
Committer: Jake Luciani <ja...@apache.org>
Committed: Fri Aug 15 13:28:35 2014 -0400
----------------------------------------------------------------------
CHANGES.txt | 1 +
.../cassandra/io/util/RandomAccessReader.java | 5 +-
.../io/util/BufferedRandomAccessFileTest.java | 70 ++++++++++++++++++++
3 files changed, 75 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/54fbb0ab/CHANGES.txt
----------------------------------------------------------------------
[2/3] git commit: Merge branch 'cassandra-2.0' into cassandra-2.1.0
Posted by ja...@apache.org.
Merge branch 'cassandra-2.0' into cassandra-2.1.0
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/e9d0214a
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/e9d0214a
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/e9d0214a
Branch: refs/heads/cassandra-2.1
Commit: e9d0214a16dbb45b39ddb1c3ff7c44ecc23cb8f3
Parents: d7f7eec ad6ba3d
Author: Jake Luciani <ja...@apache.org>
Authored: Fri Aug 15 13:27:47 2014 -0400
Committer: Jake Luciani <ja...@apache.org>
Committed: Fri Aug 15 13:27:47 2014 -0400
----------------------------------------------------------------------
CHANGES.txt | 1 +
.../cassandra/io/util/RandomAccessReader.java | 5 +-
.../io/util/BufferedRandomAccessFileTest.java | 70 ++++++++++++++++++++
3 files changed, 75 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/e9d0214a/CHANGES.txt
----------------------------------------------------------------------
diff --cc CHANGES.txt
index 7c54a9e,4306de5..dfe9c47
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,20 -1,10 +1,21 @@@
-2.0.10
+2.1.0-rc6
+ * Skip strict endpoint selection for ranges if RF == nodes (CASSANRA-7765)
+ * Fix Thrift range filtering without 2ary index lookups (CASSANDRA-7741)
+ * Add tracing entries about concurrent range requests (CASSANDRA-7599)
+ * (cqlsh) Fix DESCRIBE for NTS keyspaces (CASSANDRA-7729)
+ * Remove netty buffer ref-counting (CASSANDRA-7735)
+ * Pass mutated cf to index updater for use by PRSI (CASSANDRA-7742)
+ * Include stress yaml example in release and deb (CASSANDRA-7717)
+ * workaround for netty issue causing corrupted data off the wire (CASSANDRA-7695)
+ * cqlsh DESC CLUSTER fails retrieving ring information (CASSANDRA-7687)
+ * Fix binding null values inside UDT (CASSANDRA-7685)
+ * Fix UDT field selection with empty fields (CASSANDRA-7670)
+ * Bogus deserialization of static cells from sstable (CASSANDRA-7684)
+ * Fix NPE on compaction leftover cleanup for dropped table (CASSANDRA-7770)
+Merged from 2.0:
+ * Fix NPE in FileCacheService.sizeInBytes (CASSANDRA-7756)
- * (cqlsh) cqlsh should automatically disable tracing when selecting
- from system_traces (CASSANDRA-7641)
- * (Hadoop) Add CqlOutputFormat (CASSANDRA-6927)
- * Don't depend on cassandra config for nodetool ring (CASSANDRA-7508)
- * (cqlsh) Fix failing cqlsh formatting tests (CASSANDRA-7703)
+ * Remove duplicates from StorageService.getJoiningNodes (CASSANDRA-7478)
+ * Clone token map outside of hot gossip loops (CASSANDRA-7758)
* Fix MS expiring map timeout for Paxos messages (CASSANDRA-7752)
* Do not flush on truncate if durable_writes is false (CASSANDRA-7750)
* Give CRR a default input_cql Statement (CASSANDRA-7226)
http://git-wip-us.apache.org/repos/asf/cassandra/blob/e9d0214a/src/java/org/apache/cassandra/io/util/RandomAccessReader.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/e9d0214a/test/unit/org/apache/cassandra/io/util/BufferedRandomAccessFileTest.java
----------------------------------------------------------------------