HDFS-4000. TestParallelLocalRead fails with "input ByteBuffers must be direct buffers". Contributed by Colin Patrick McCabe
git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@1393884 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
2c66a9f5ae
commit
38943644e0
@ -276,6 +276,9 @@ Release 2.0.3-alpha - Unreleased
|
|||||||
HDFS-3753. Tests don't run with native libraries.
|
HDFS-3753. Tests don't run with native libraries.
|
||||||
(Colin Patrick McCabe via eli)
|
(Colin Patrick McCabe via eli)
|
||||||
|
|
||||||
|
HDFS-4000. TestParallelLocalRead fails with "input ByteBuffers
|
||||||
|
must be direct buffers". (Colin Patrick McCabe via eli)
|
||||||
|
|
||||||
Release 2.0.2-alpha - 2012-09-07
|
Release 2.0.2-alpha - 2012-09-07
|
||||||
|
|
||||||
INCOMPATIBLE CHANGES
|
INCOMPATIBLE CHANGES
|
||||||
|
@ -83,7 +83,7 @@ static interface ReadWorkerHelper {
|
|||||||
static class DirectReadWorkerHelper implements ReadWorkerHelper {
|
static class DirectReadWorkerHelper implements ReadWorkerHelper {
|
||||||
@Override
|
@Override
|
||||||
public int read(DFSInputStream dis, byte[] target, int startOff, int len) throws IOException {
|
public int read(DFSInputStream dis, byte[] target, int startOff, int len) throws IOException {
|
||||||
ByteBuffer bb = ByteBuffer.wrap(target);
|
ByteBuffer bb = ByteBuffer.allocateDirect(target.length);
|
||||||
int cnt = 0;
|
int cnt = 0;
|
||||||
synchronized(dis) {
|
synchronized(dis) {
|
||||||
dis.seek(startOff);
|
dis.seek(startOff);
|
||||||
@ -95,6 +95,8 @@ public int read(DFSInputStream dis, byte[] target, int startOff, int len) throws
|
|||||||
cnt += read;
|
cnt += read;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
bb.clear();
|
||||||
|
bb.get(target);
|
||||||
return cnt;
|
return cnt;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user