Author: tomwhite
Date: Sat Nov 6 03:13:42 2010
New Revision: 1031948
URL: http://svn.apache.org/viewvc?rev=1031948&view=rev
Log:
HADOOP-6926. SocketInputStream incorrectly implements read(). Contributed by
Todd Lipcon.
Modified:
hadoop/common/trunk/CHANGES.txt
hadoop/common/trunk/src/java/org/apache/hadoop/net/SocketInputStream.java
hadoop/common/trunk/src/test/core/org/apache/hadoop/net/TestSocketIOWithTimeout.java
Modified: hadoop/common/trunk/CHANGES.txt
URL:
http://svn.apache.org/viewvc/hadoop/common/trunk/CHANGES.txt?rev=1031948&r1=1031947&r2=1031948&view=diff
==============================================================================
--- hadoop/common/trunk/CHANGES.txt (original)
+++ hadoop/common/trunk/CHANGES.txt Sat Nov 6 03:13:42 2010
@@ -306,6 +306,9 @@ Trunk (unreleased changes)
HADOOP-6758. MapFile.fix does not allow index interval definition.
(Gianmarco De Francisci Morales via tomwhite)
+ HADOOP-6926. SocketInputStream incorrectly implements read().
+ (Todd Lipcon via tomwhite)
+
Release 0.21.1 - Unreleased
IMPROVEMENTS
Modified:
hadoop/common/trunk/src/java/org/apache/hadoop/net/SocketInputStream.java
URL:
http://svn.apache.org/viewvc/hadoop/common/trunk/src/java/org/apache/hadoop/net/SocketInputStream.java?rev=1031948&r1=1031947&r2=1031948&view=diff
==============================================================================
--- hadoop/common/trunk/src/java/org/apache/hadoop/net/SocketInputStream.java
(original)
+++ hadoop/common/trunk/src/java/org/apache/hadoop/net/SocketInputStream.java
Sat Nov 6 03:13:42 2010
@@ -119,7 +119,7 @@ public class SocketInputStream extends I
byte[] buf = new byte[1];
int ret = read(buf, 0, 1);
if (ret > 0) {
- return (byte)buf[0];
+ return (int)(buf[0] & 0xff);
}
if (ret != -1) {
// unexpected
Modified:
hadoop/common/trunk/src/test/core/org/apache/hadoop/net/TestSocketIOWithTimeout.java
URL:
http://svn.apache.org/viewvc/hadoop/common/trunk/src/test/core/org/apache/hadoop/net/TestSocketIOWithTimeout.java?rev=1031948&r1=1031947&r2=1031948&view=diff
==============================================================================
---
hadoop/common/trunk/src/test/core/org/apache/hadoop/net/TestSocketIOWithTimeout.java
(original)
+++
hadoop/common/trunk/src/test/core/org/apache/hadoop/net/TestSocketIOWithTimeout.java
Sat Nov 6 03:13:42 2010
@@ -101,12 +101,15 @@ public class TestSocketIOWithTimeout ext
byte[] writeBytes = TEST_STRING.getBytes();
byte[] readBytes = new byte[writeBytes.length];
+ byte byteWithHighBit = (byte)0x80;
out.write(writeBytes);
+ out.write(byteWithHighBit);
doIO(null, out);
in.read(readBytes);
assertTrue(Arrays.equals(writeBytes, readBytes));
+ assertEquals(byteWithHighBit & 0xff, in.read());
doIO(in, null);
/*