HADOOP-12582. Using BytesWritable's getLength() and getBytes() instead of get() and getSize(). Contributed by Akira AJISAKA.
This commit is contained in:
parent
23a130abd7
commit
bd166f0eed
|
@ -962,6 +962,9 @@ Release 2.8.0 - UNRELEASED
|
||||||
HADOOP-12564. Upgrade JUnit3 TestCase to JUnit 4 in
|
HADOOP-12564. Upgrade JUnit3 TestCase to JUnit 4 in
|
||||||
org.apache.hadoop.io package. (Dustin Cote via ozawa)
|
org.apache.hadoop.io package. (Dustin Cote via ozawa)
|
||||||
|
|
||||||
|
HADOOP-12582. Using BytesWritable's getLength() and getBytes() instead
|
||||||
|
of get() and getSize(). (Akira AJISAKA via ozawa)
|
||||||
|
|
||||||
OPTIMIZATIONS
|
OPTIMIZATIONS
|
||||||
|
|
||||||
HADOOP-11785. Reduce the number of listStatus operation in distcp
|
HADOOP-11785. Reduce the number of listStatus operation in distcp
|
||||||
|
|
|
@ -58,17 +58,16 @@ class KVGenerator {
|
||||||
while (n < len) {
|
while (n < len) {
|
||||||
byte[] word = dict[random.nextInt(dict.length)];
|
byte[] word = dict[random.nextInt(dict.length)];
|
||||||
int l = Math.min(word.length, len - n);
|
int l = Math.min(word.length, len - n);
|
||||||
System.arraycopy(word, 0, o.get(), n, l);
|
System.arraycopy(word, 0, o.getBytes(), n, l);
|
||||||
n += l;
|
n += l;
|
||||||
}
|
}
|
||||||
if (sorted
|
if (sorted && WritableComparator.compareBytes(
|
||||||
&& WritableComparator.compareBytes(lastKey.get(), MIN_KEY_LEN, lastKey
|
lastKey.getBytes(), MIN_KEY_LEN, lastKey.getLength() - MIN_KEY_LEN,
|
||||||
.getSize()
|
o.getBytes(), MIN_KEY_LEN, o.getLength() - MIN_KEY_LEN) > 0) {
|
||||||
- MIN_KEY_LEN, o.get(), MIN_KEY_LEN, o.getSize() - MIN_KEY_LEN) > 0) {
|
|
||||||
incrementPrefix();
|
incrementPrefix();
|
||||||
}
|
}
|
||||||
|
|
||||||
System.arraycopy(prefix, 0, o.get(), 0, MIN_KEY_LEN);
|
System.arraycopy(prefix, 0, o.getBytes(), 0, MIN_KEY_LEN);
|
||||||
lastKey.set(o);
|
lastKey.set(o);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -79,7 +78,7 @@ class KVGenerator {
|
||||||
while (n < len) {
|
while (n < len) {
|
||||||
byte[] word = dict[random.nextInt(dict.length)];
|
byte[] word = dict[random.nextInt(dict.length)];
|
||||||
int l = Math.min(word.length, len - n);
|
int l = Math.min(word.length, len - n);
|
||||||
System.arraycopy(word, 0, o.get(), n, l);
|
System.arraycopy(word, 0, o.getBytes(), n, l);
|
||||||
n += l;
|
n += l;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -45,9 +45,9 @@ class KeySampler {
|
||||||
|
|
||||||
public void next(BytesWritable key) {
|
public void next(BytesWritable key) {
|
||||||
key.setSize(Math.max(MIN_KEY_LEN, keyLenRNG.nextInt()));
|
key.setSize(Math.max(MIN_KEY_LEN, keyLenRNG.nextInt()));
|
||||||
random.nextBytes(key.get());
|
random.nextBytes(key.getBytes());
|
||||||
int n = random.nextInt(max - min) + min;
|
int n = random.nextInt(max - min) + min;
|
||||||
byte[] b = key.get();
|
byte[] b = key.getBytes();
|
||||||
b[0] = (byte) (n >> 24);
|
b[0] = (byte) (n >> 24);
|
||||||
b[1] = (byte) (n >> 16);
|
b[1] = (byte) (n >> 16);
|
||||||
b[2] = (byte) (n >> 8);
|
b[2] = (byte) (n >> 8);
|
||||||
|
|
|
@ -119,10 +119,10 @@ public class TestTFileSeek {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
kvGen.next(key, val, false);
|
kvGen.next(key, val, false);
|
||||||
writer.append(key.get(), 0, key.getSize(), val.get(), 0, val
|
writer.append(key.getBytes(), 0, key.getLength(), val.getBytes(), 0,
|
||||||
.getSize());
|
val.getLength());
|
||||||
totalBytes += key.getSize();
|
totalBytes += key.getLength();
|
||||||
totalBytes += val.getSize();
|
totalBytes += val.getLength();
|
||||||
}
|
}
|
||||||
timer.stop();
|
timer.stop();
|
||||||
}
|
}
|
||||||
|
@ -160,11 +160,11 @@ public class TestTFileSeek {
|
||||||
timer.start();
|
timer.start();
|
||||||
for (int i = 0; i < options.seekCount; ++i) {
|
for (int i = 0; i < options.seekCount; ++i) {
|
||||||
kSampler.next(key);
|
kSampler.next(key);
|
||||||
scanner.lowerBound(key.get(), 0, key.getSize());
|
scanner.lowerBound(key.getBytes(), 0, key.getLength());
|
||||||
if (!scanner.atEnd()) {
|
if (!scanner.atEnd()) {
|
||||||
scanner.entry().get(key, val);
|
scanner.entry().get(key, val);
|
||||||
totalBytes += key.getSize();
|
totalBytes += key.getLength();
|
||||||
totalBytes += val.getSize();
|
totalBytes += val.getLength();
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
++miss;
|
++miss;
|
||||||
|
|
|
@ -153,8 +153,8 @@ public class TestTFileSeqFileComparison {
|
||||||
@Override
|
@Override
|
||||||
public void append(BytesWritable key, BytesWritable value)
|
public void append(BytesWritable key, BytesWritable value)
|
||||||
throws IOException {
|
throws IOException {
|
||||||
writer.append(key.get(), 0, key.getSize(), value.get(), 0, value
|
writer.append(key.getBytes(), 0, key.getLength(), value.getBytes(), 0,
|
||||||
.getSize());
|
value.getLength());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -303,22 +303,22 @@ public class TestTFileSeqFileComparison {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public byte[] getKey() {
|
public byte[] getKey() {
|
||||||
return key.get();
|
return key.getBytes();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getKeyLength() {
|
public int getKeyLength() {
|
||||||
return key.getSize();
|
return key.getLength();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public byte[] getValue() {
|
public byte[] getValue() {
|
||||||
return value.get();
|
return value.getBytes();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getValueLength() {
|
public int getValueLength() {
|
||||||
return value.getSize();
|
return value.getLength();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
Loading…
Reference in New Issue