You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by sn...@apache.org on 2015/09/16 00:44:41 UTC
cassandra git commit: Rename DataOutputBuffer.getFilePointer() to
position()
Repository: cassandra
Updated Branches:
refs/heads/cassandra-3.0 a54589e12 -> 753a94332
Rename DataOutputBuffer.getFilePointer() to position()
patch by Robert Stupp; reviewed by Benedict for CASSANDRA-10349
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/753a9433
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/753a9433
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/753a9433
Branch: refs/heads/cassandra-3.0
Commit: 753a9433228cb4579f0602b9292dd16944339607
Parents: a54589e
Author: Robert Stupp <sn...@snazy.de>
Authored: Wed Sep 16 00:43:11 2015 +0200
Committer: Robert Stupp <sn...@snazy.de>
Committed: Wed Sep 16 00:43:11 2015 +0200
----------------------------------------------------------------------
.../org/apache/cassandra/db/ColumnIndex.java | 6 +++---
.../org/apache/cassandra/db/RowIndexEntry.java | 6 +++---
.../io/sstable/format/big/BigTableWriter.java | 12 +++++------
.../cassandra/io/util/DataOutputBuffer.java | 4 ++--
.../cassandra/io/util/DataOutputPlus.java | 21 ++++++++++++++++----
.../cassandra/io/util/SequentialWriter.java | 6 +++---
.../apache/cassandra/db/RowIndexEntryTest.java | 4 ++--
.../io/util/BufferedRandomAccessFileTest.java | 10 +++++-----
.../compression/CompressedInputStreamTest.java | 2 +-
9 files changed, 42 insertions(+), 29 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/753a9433/src/java/org/apache/cassandra/db/ColumnIndex.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/ColumnIndex.java b/src/java/org/apache/cassandra/db/ColumnIndex.java
index 6b2ef59..add5fa7 100644
--- a/src/java/org/apache/cassandra/db/ColumnIndex.java
+++ b/src/java/org/apache/cassandra/db/ColumnIndex.java
@@ -91,7 +91,7 @@ public class ColumnIndex
this.writer = writer;
this.header = header;
this.version = version;
- this.initialPosition = writer.getFilePointer();
+ this.initialPosition = writer.position();
}
private void writePartitionHeader(UnfilteredRowIterator iterator) throws IOException
@@ -105,7 +105,7 @@ public class ColumnIndex
public ColumnIndex build() throws IOException
{
writePartitionHeader(iterator);
- this.headerLength = writer.getFilePointer() - initialPosition;
+ this.headerLength = writer.position() - initialPosition;
while (iterator.hasNext())
add(iterator.next());
@@ -115,7 +115,7 @@ public class ColumnIndex
private long currentPosition()
{
- return writer.getFilePointer() - initialPosition;
+ return writer.position() - initialPosition;
}
private void addIndexBlock()
http://git-wip-us.apache.org/repos/asf/cassandra/blob/753a9433/src/java/org/apache/cassandra/db/RowIndexEntry.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/RowIndexEntry.java b/src/java/org/apache/cassandra/db/RowIndexEntry.java
index 6cd6542..43dc80c 100644
--- a/src/java/org/apache/cassandra/db/RowIndexEntry.java
+++ b/src/java/org/apache/cassandra/db/RowIndexEntry.java
@@ -142,15 +142,15 @@ public class RowIndexEntry<T> implements IMeasurableMemory
int[] offsets = new int[rie.columnsIndex().size()];
- if (out.hasFilePointer())
+ if (out.hasPosition())
{
// Out is usually a SequentialWriter, so using the file-pointer is fine to generate the offsets.
// A DataOutputBuffer also works.
- long start = out.getFilePointer();
+ long start = out.position();
int i = 0;
for (IndexHelper.IndexInfo info : rie.columnsIndex())
{
- offsets[i] = i == 0 ? 0 : (int)(out.getFilePointer() - start);
+ offsets[i] = i == 0 ? 0 : (int)(out.position() - start);
i++;
idxSerializer.serialize(info, out);
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/753a9433/src/java/org/apache/cassandra/io/sstable/format/big/BigTableWriter.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/io/sstable/format/big/BigTableWriter.java b/src/java/org/apache/cassandra/io/sstable/format/big/BigTableWriter.java
index 089ae6f..3d68a74 100644
--- a/src/java/org/apache/cassandra/io/sstable/format/big/BigTableWriter.java
+++ b/src/java/org/apache/cassandra/io/sstable/format/big/BigTableWriter.java
@@ -107,7 +107,7 @@ public class BigTableWriter extends SSTableWriter
assert decoratedKey != null : "Keys must not be null"; // empty keys ARE allowed b/c of indexed column values
//if (lastWrittenKey != null && lastWrittenKey.compareTo(decoratedKey) >= 0)
// throw new RuntimeException("Last written key " + lastWrittenKey + " >= current key " + decoratedKey + " writing into " + getFilename());
- return (lastWrittenKey == null) ? 0 : dataFile.getFilePointer();
+ return (lastWrittenKey == null) ? 0 : dataFile.position();
}
private void afterAppend(DecoratedKey decoratedKey, long dataEnd, RowIndexEntry index) throws IOException
@@ -153,7 +153,7 @@ public class BigTableWriter extends SSTableWriter
RowIndexEntry entry = RowIndexEntry.create(startPosition, iterator.partitionLevelDeletion(), index);
- long endPosition = dataFile.getFilePointer();
+ long endPosition = dataFile.position();
long rowSize = endPosition - startPosition;
maybeLogLargePartitionWarning(key, rowSize);
metadataCollector.addPartitionSizeInBytes(rowSize);
@@ -352,7 +352,7 @@ public class BigTableWriter extends SSTableWriter
public long getFilePointer()
{
- return dataFile.getFilePointer();
+ return dataFile.position();
}
public long getOnDiskFilePointer()
@@ -403,7 +403,7 @@ public class BigTableWriter extends SSTableWriter
public void append(DecoratedKey key, RowIndexEntry indexEntry, long dataEnd) throws IOException
{
bf.add(key);
- long indexStart = indexFile.getFilePointer();
+ long indexStart = indexFile.position();
try
{
ByteBufferUtil.writeWithShortLength(key.getKey(), indexFile);
@@ -413,7 +413,7 @@ public class BigTableWriter extends SSTableWriter
{
throw new FSWriteError(e, indexFile.getPath());
}
- long indexEnd = indexFile.getFilePointer();
+ long indexEnd = indexFile.position();
if (logger.isTraceEnabled())
logger.trace("wrote index entry: {} at {}", indexEntry, indexStart);
@@ -462,7 +462,7 @@ public class BigTableWriter extends SSTableWriter
flushBf();
// truncate index file
- long position = iwriter.indexFile.getFilePointer();
+ long position = iwriter.indexFile.position();
iwriter.indexFile.setDescriptor(descriptor).prepareToCommit();
FileUtils.truncate(iwriter.indexFile.getPath(), position);
http://git-wip-us.apache.org/repos/asf/cassandra/blob/753a9433/src/java/org/apache/cassandra/io/util/DataOutputBuffer.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/io/util/DataOutputBuffer.java b/src/java/org/apache/cassandra/io/util/DataOutputBuffer.java
index c4d6f54..4ba5546 100644
--- a/src/java/org/apache/cassandra/io/util/DataOutputBuffer.java
+++ b/src/java/org/apache/cassandra/io/util/DataOutputBuffer.java
@@ -114,12 +114,12 @@ public class DataOutputBuffer extends BufferedDataOutputStreamPlus
return buffer.position();
}
- public boolean hasFilePointer()
+ public boolean hasPosition()
{
return true;
}
- public long getFilePointer()
+ public long position()
{
return getLength();
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/753a9433/src/java/org/apache/cassandra/io/util/DataOutputPlus.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/io/util/DataOutputPlus.java b/src/java/org/apache/cassandra/io/util/DataOutputPlus.java
index 551d386..60a5727 100644
--- a/src/java/org/apache/cassandra/io/util/DataOutputPlus.java
+++ b/src/java/org/apache/cassandra/io/util/DataOutputPlus.java
@@ -22,10 +22,10 @@ import java.io.IOException;
import java.nio.ByteBuffer;
import java.nio.channels.WritableByteChannel;
-import org.apache.cassandra.utils.vint.VIntCoding;
-
import com.google.common.base.Function;
+import org.apache.cassandra.utils.vint.VIntCoding;
+
/**
* Extension to DataOutput that provides for writing ByteBuffer and Memory, potentially with an efficient
* implementation that is zero copy or at least has reduced bounds checking overhead.
@@ -60,12 +60,25 @@ public interface DataOutputPlus extends DataOutput
VIntCoding.writeUnsignedVInt(i, this);
}
- default long getFilePointer()
+ /**
+ * Returns the current position of the underlying target like a file-pointer
+ * or the position withing a buffer. Not every implementation may support this
+ * functionality. Whether or not this functionality is supported can be checked
+ * via the {@link #hasPosition()}.
+ *
+ * @throws UnsupportedOperationException if the implementation does not support
+ * position
+ */
+ default long position()
{
throw new UnsupportedOperationException();
}
- default boolean hasFilePointer()
+ /**
+ * If the implementation supports providing a position, this method returns
+ * {@code true}, otherwise {@code false}.
+ */
+ default boolean hasPosition()
{
return false;
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/753a9433/src/java/org/apache/cassandra/io/util/SequentialWriter.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/io/util/SequentialWriter.java b/src/java/org/apache/cassandra/io/util/SequentialWriter.java
index 1814aca..6000f95 100644
--- a/src/java/org/apache/cassandra/io/util/SequentialWriter.java
+++ b/src/java/org/apache/cassandra/io/util/SequentialWriter.java
@@ -253,12 +253,12 @@ public class SequentialWriter extends BufferedDataOutputStreamPlus implements Tr
runPostFlush.run();
}
- public boolean hasFilePointer()
+ public boolean hasPosition()
{
return true;
}
- public long getFilePointer()
+ public long position()
{
return current();
}
@@ -274,7 +274,7 @@ public class SequentialWriter extends BufferedDataOutputStreamPlus implements Tr
*/
public long getOnDiskFilePointer()
{
- return getFilePointer();
+ return position();
}
public long length()
http://git-wip-us.apache.org/repos/asf/cassandra/blob/753a9433/test/unit/org/apache/cassandra/db/RowIndexEntryTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/db/RowIndexEntryTest.java b/test/unit/org/apache/cassandra/db/RowIndexEntryTest.java
index d004d45..25baa4e 100644
--- a/test/unit/org/apache/cassandra/db/RowIndexEntryTest.java
+++ b/test/unit/org/apache/cassandra/db/RowIndexEntryTest.java
@@ -155,12 +155,12 @@ public class RowIndexEntryTest extends CQLTester
// test with an output stream that doesn't support a file-pointer
buffer = new DataOutputBuffer()
{
- public boolean hasFilePointer()
+ public boolean hasPosition()
{
return false;
}
- public long getFilePointer()
+ public long position()
{
throw new UnsupportedOperationException();
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/753a9433/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 364ea71..c3a4539 100644
--- a/test/unit/org/apache/cassandra/io/util/BufferedRandomAccessFileTest.java
+++ b/test/unit/org/apache/cassandra/io/util/BufferedRandomAccessFileTest.java
@@ -46,7 +46,7 @@ public class BufferedRandomAccessFileTest
byte[] data = "Hello".getBytes();
w.write(data);
assertEquals(data.length, w.length());
- assertEquals(data.length, w.getFilePointer());
+ assertEquals(data.length, w.position());
w.sync();
@@ -67,9 +67,9 @@ public class BufferedRandomAccessFileTest
for (int i = 0; i < bigData.length; i++)
bigData[i] = 'd';
- long initialPosition = w.getFilePointer();
+ long initialPosition = w.position();
w.write(bigData); // writing data
- assertEquals(w.getFilePointer(), initialPosition + bigData.length);
+ assertEquals(w.position(), initialPosition + bigData.length);
assertEquals(w.length(), initialPosition + bigData.length); // file size should equals to last position
w.sync();
@@ -285,10 +285,10 @@ public class BufferedRandomAccessFileTest
{
final SequentialWriter w = createTempFile("brafGetFilePointer");
- assertEquals(w.getFilePointer(), 0); // initial position should be 0
+ assertEquals(w.position(), 0); // initial position should be 0
w.write(generateByteArray(20));
- assertEquals(w.getFilePointer(), 20); // position 20 after writing 20 bytes
+ assertEquals(w.position(), 20); // position 20 after writing 20 bytes
w.sync();
http://git-wip-us.apache.org/repos/asf/cassandra/blob/753a9433/test/unit/org/apache/cassandra/streaming/compression/CompressedInputStreamTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/streaming/compression/CompressedInputStreamTest.java b/test/unit/org/apache/cassandra/streaming/compression/CompressedInputStreamTest.java
index fea6d2b..30670fb 100644
--- a/test/unit/org/apache/cassandra/streaming/compression/CompressedInputStreamTest.java
+++ b/test/unit/org/apache/cassandra/streaming/compression/CompressedInputStreamTest.java
@@ -70,7 +70,7 @@ public class CompressedInputStreamTest
Map<Long, Long> index = new HashMap<Long, Long>();
for (long l = 0L; l < 1000; l++)
{
- index.put(l, writer.getFilePointer());
+ index.put(l, writer.position());
writer.writeLong(l);
}
writer.finish();