diff options
author | Jens Geyer <jensg@apache.org> | 2022-09-19 21:58:45 +0200 |
---|---|---|
committer | Jens Geyer <jensg@apache.org> | 2022-09-19 21:58:45 +0200 |
commit | 0b1a74a3d39afeeb1a8fdc3fbb2dd456172732ca (patch) | |
tree | 686fd17ec7bcd3c30ea8e6e52103b8b19099e0e9 | |
parent | f027deeaa8bf21769d83a35ac37ede21f035c0ad (diff) | |
parent | 60655d2de79e973b89fab52af82f9628d4843b0f (diff) | |
download | thrift-0b1a74a3d39afeeb1a8fdc3fbb2dd456172732ca.tar.gz |
Merge branch '0.17.0' into upstream
3 files changed, 13 insertions, 18 deletions
diff --git a/lib/java/src/main/java/org/apache/thrift/TNonblockingMultiFetchClient.java b/lib/java/src/main/java/org/apache/thrift/TNonblockingMultiFetchClient.java index 034cc8599..ffe4fa701 100644 --- a/lib/java/src/main/java/org/apache/thrift/TNonblockingMultiFetchClient.java +++ b/lib/java/src/main/java/org/apache/thrift/TNonblockingMultiFetchClient.java @@ -280,16 +280,14 @@ public class TNonblockingMultiFetchClient { } } - if (selKey.isValid() && selKey.isWritable()) { - if (sendBuf[index].hasRemaining()) { - // if this socket throws an exception, print error msg and - // skip it. - try { - SocketChannel sChannel = (SocketChannel) selKey.channel(); - sChannel.write(sendBuf[index]); - } catch (Exception e) { - LOGGER.error("Socket {} writes to server {} error", index, servers.get(index), e); - } + if (selKey.isValid() && selKey.isWritable() && sendBuf[index].hasRemaining()) { + // if this socket throws an exception, print error msg and + // skip it. + try { + SocketChannel sChannel = (SocketChannel) selKey.channel(); + sChannel.write(sendBuf[index]); + } catch (Exception e) { + LOGGER.error("Socket {} writes to server {} error", index, servers.get(index), e); } } diff --git a/lib/java/src/main/java/org/apache/thrift/server/AbstractNonblockingServer.java b/lib/java/src/main/java/org/apache/thrift/server/AbstractNonblockingServer.java index 44341d909..01b15e841 100644 --- a/lib/java/src/main/java/org/apache/thrift/server/AbstractNonblockingServer.java +++ b/lib/java/src/main/java/org/apache/thrift/server/AbstractNonblockingServer.java @@ -190,10 +190,8 @@ public abstract class AbstractNonblockingServer extends TServer { } // if the buffer's frame read is complete, invoke the method. - if (buffer.isFrameFullyRead()) { - if (!requestInvoke(buffer)) { - cleanupSelectionKey(key); - } + if (buffer.isFrameFullyRead() && !requestInvoke(buffer)) { + cleanupSelectionKey(key); } } diff --git a/lib/java/src/main/java/org/apache/thrift/transport/TFileTransport.java b/lib/java/src/main/java/org/apache/thrift/transport/TFileTransport.java index 713d52103..b06727249 100644 --- a/lib/java/src/main/java/org/apache/thrift/transport/TFileTransport.java +++ b/lib/java/src/main/java/org/apache/thrift/transport/TFileTransport.java @@ -447,12 +447,11 @@ public class TFileTransport extends TTransport { if (!isOpen()) throw new TTransportException(TTransportException.NOT_OPEN, "Must open before reading"); - if (currentEvent_.getRemaining() == 0) { - if (!readEvent()) return (0); + if (currentEvent_.getRemaining() == 0 && !readEvent()) { + return 0; } - int nread = currentEvent_.emit(buf, off, len); - return nread; + return currentEvent_.emit(buf, off, len); } public int getNumChunks() throws TTransportException { |