saxenapranav commented on code in PR #6022:
URL: https://github.com/apache/hadoop/pull/6022#discussion_r1316977893


##########
hadoop-tools/hadoop-azure/src/main/java/org/apache/hadoop/fs/azurebfs/services/AbfsHttpOperation.java:
##########
@@ -391,6 +400,23 @@ public void processResponse(final byte[] buffer, final int 
offset, final int len
 
     this.statusDescription = getConnResponseMessage();
 
+    /*
+     * In case expect-100 assertion has failed, headers and inputStream should 
not
+     * be parsed. Reason being, conn.getHeaderField(), conn.getHeaderFields(),
+     * conn.getInputStream() will lead to repeated server call.
+     * ref: https://bugs.openjdk.org/browse/JDK-8314978
+     */
+    if (expect100failureReceived) {
+      LOG.debug("Expect-100 assertion has failed and hence not parsing headers"
+          + "and inputStream.");
+      return;
+    }
+    processConnHeadersAndInputStreams(buffer, offset, length);

Review Comment:
   Did this to make it more testable. This is to abstract out the logic which 
actually reads the responseHeaders and inputStream. And in future, if some more 
logic would need to be added, that can be added in the 
`processConnHeadersAndInputStreams`



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to