<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        font-size:10.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;
        mso-ligatures:none;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
        {page:WordSection1;}
--></style>
</head>
<body lang="EN-IN" link="blue" vlink="purple" style="word-wrap:break-word">
<div class="WordSection1">
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US">Thanks Daniel for the info.<br>
May I know, what server(application server) you used to test(</span><span style="color:#212121">TrailingHeadersTest)</span><span style="font-size:11.0pt;mso-fareast-language:EN-US"> on Sept 15. This issue is reported by customer in Liberty server and we have
 reproduced the same in liberty server.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><b><span style="font-size:11.0pt;mso-fareast-language:EN-US">Regards<o:p></o:p></span></b></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US">Rajesh<o:p></o:p></span></p>
<div id="mail-editor-reference-message-container">
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal" style="margin-bottom:12.0pt"><b><span style="font-size:12.0pt;color:black">From:
</span></b><span style="font-size:12.0pt;color:black">Daniel Jeliński <djelinski1@gmail.com><br>
<b>Date: </b>Monday, 18 September 2023 at 6:22 PM<br>
<b>To: </b>Asha Sunagar <Asha.Sunagar@ibm.com><br>
<b>Cc: </b>Daniel Fuchs <daniel.fuchs@oracle.com>, net-dev@openjdk.org <net-dev@openjdk.org>, Syed Moinudeen1 <smoinud1@in.ibm.com>, Rajesh Gudikoti <ragudiko@in.ibm.com>, Suman Mitra <summitra@in.ibm.com>, Shruthi Shruthi1 <Shruthi.Shruthi1@ibm.com><br>
<b>Subject: </b>[EXTERNAL] Re: OpenJDK (JDK 11) behavior discussion for HttpClient<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt">Hi Asha,<br>
The HttpClient follows the RFCs with regard to HTTP2 upgrade, and the<br>
logs you posted suggest that the HTTP2 server you use does not<br>
implement them correctly. We have no plans to modify the HttpClient to<br>
work with such servers.<br>
<br>
Your options include:<br>
- work with the team that maintains the server to get the server issue fixed<br>
- OR use the current workaround - send a request without payload<br>
first, then send requests with payload once the upgrade is complete<br>
- OR use HTTPS to avoid HTTP1->HTTP2 upgrade<br>
- OR use HTTP1<br>
- OR provide more information that would confirm that this is a<br>
HttpClient issue.<br>
<br>
Regards,<br>
Daniel<br>
<br>
pon., 18 wrz 2023 o 11:54 Asha Sunagar <Asha.Sunagar@ibm.com> napisał(a):<br>
><br>
> Yes Daniel, I see the same issue with JDK 17 too. I executed the code thrice, so log shows 3 prefaces.<br>
><br>
> -----Original Message-----<br>
> From: Daniel Fuchs <daniel.fuchs@oracle.com><br>
> Sent: Friday, September 15, 2023 6:21 PM<br>
> To: Asha Sunagar <Asha.Sunagar@ibm.com>; net-dev@openjdk.org<br>
> Cc: Syed Moinudeen1 <smoinud1@in.ibm.com>; Rajesh Gudikoti <ragudiko@in.ibm.com>; Suman Mitra <summitra@in.ibm.com>; Shruthi Shruthi1 <Shruthi.Shruthi1@ibm.com><br>
> Subject: [EXTERNAL] Re: OpenJDK (JDK 11) behavior discussion for HttpClient<br>
><br>
> Hi Asha,<br>
><br>
> Thanks for the report. Do you see the same issue when using a more recent version of the JDK (e.g.: 17)?<br>
><br>
> I'm not quite sure why your log show 3 prefaces. Are you sending three requests? The ones starting with 95 looks strange.<br>
><br>
> It looks as if it start with the posted data - as Daniel Jelińsky already suggested.<br>
><br>
> best regards<br>
><br>
> -- daniel<br>
><br>
> On 15/09/2023 10:26, Asha Sunagar wrote:<br>
> > Hello Team,<br>
> ><br>
> ><br>
> > We are facing invalid preface issue when we send POST request using<br>
> > HttpClient. We overcame this issue using workaround mentioned in<br>
> > openjdk issue<br>
> > <https://bugs.openjdk.org/browse/JDK-8198947
 >. The workaround was to use a blank request before making post request.<br>
> ><br>
> > Based on our below observations, the Preface String is different in<br>
> > Failure & Success case,<br>
> ><br>
> ><br>
> > The Preface String for<br>
> > 1.1) Post Request without blank request --> we get GOAWAY Exception<br>
> > (Failure case)<br>
> ><br>
> > Preface String: [80, 82, 73, 32, 42, 32, 72, 84, 84, 80, 47, 50, 46,<br>
> > 48, 13, 10, 13, 10, 83, 77, 13, 10, 13, 10]<br>
> ><br>
> > Preface String: [95, 70, 73, 82, 83, 84, 95, 80, 79, 83, 84, 95, 80,<br>
> > 77, 68, 73, 78, 72, 95, 80, 82, 73, 32, 42]<br>
> ><br>
> > Preface String: [95, 70, 73, 82, 83, 84, 95, 80, 79, 83, 84, 95, 80,<br>
> > 77, 68, 73, 78, 72, 95, 80, 82, 73, 32, 42]<br>
> ><br>
> > 1.2) Workaround case with a blank request (Success Case)<br>
> ><br>
> > Preface String: [80, 82, 73, 32, 42, 32, 72, 84, 84, 80, 47, 50, 46,<br>
> > 48, 13, 10, 13, 10, 83, 77, 13, 10, 13, 10]<br>
> ><br>
> > Preface String: [80, 82, 73, 32, 42, 32, 72, 84, 84, 80, 47, 50, 46,<br>
> > 48, 13, 10, 13, 10, 83, 77, 13, 10, 13, 10]<br>
> ><br>
> > Preface String: [80, 82, 73, 32, 42, 32, 72, 84, 84, 80, 47, 50, 46,<br>
> > 48, 13, 10, 13, 10, 83, 77, 13, 10, 13, 10]<br>
> ><br>
> > 2) LOGS<br>
> > 2.1) Post Request without blank request :We get the error  "an error<br>
> > occurred processing a frame": Failed to complete the connection<br>
> > preface from Liberty server and GOAWAY Exception.<br>
> ><br>
> > [9/7/23, 15:41:10:595 IST] 00000058 id=00000000<br>
> > com.ibm.ws.http.channel.h2internal.FrameReadProcessor        3<br>
> > checkConnectionPreface: processNextFrame-:  stream: 0 frame type:<br>
> > Magic Preface  direction: READ_IN H2InboundLink hc: 101118290<br>
> ><br>
> > [9/7/23, 15:41:10:595 IST] 00000058 id=00000000<br>
> > com.ibm.ws.http.channel.h2internal.FrameReadProcessor        3<br>
> > checkConnectionPreface: Preface String: [95, 70, 73, 82, 83, 84, 95,<br>
> > 80, 79, 83, 84, 95, 80, 77, 68, 73, 78, 72, 95, 80, 82, 73, 32, 42]<br>
> ><br>
> > [9/7/23, 15:41:10:595 IST] 00000058 id=00000000 SystemOut<br>
> > O PMDINH, FrameReadProcessor CHECKPOINT 2, throw new ProtocolException<br>
> > --- Connection preface/magic was invalid<br>
> ><br>
> > [9/7/23, 15:41:10:595 IST] 00000058 id=00000000 SystemOut<br>
> > O PMDINH, FrameReadProcessor CHECKPOINT 3, throw new ProtocolException<br>
> > --- Cconnection preface<br>
> ><br>
> > [9/7/23, 15:41:10:595 IST] 00000058 id=00000000<br>
> > com.ibm.ws.http.channel.h2internal.H2InboundLink             3<br>
> > processRead: an error occurred processing a frame: Failed to complete<br>
> > the connection preface<br>
> ><br>
> > [9/7/23, 15:41:10:595 IST] 00000058 id=00000000<br>
> > com.ibm.ws.http.channel.h2internal.H2InboundLink             3<br>
> > close(vc,e): :linkstatus: is: INIT :close: H2InboundLink hc:<br>
> > 101118290exception:<br>
> > com.ibm.ws.http.channel.h2internal.exceptions.ProtocolException:<br>
> > Failed to complete the connection preface<br>
> ><br>
> > 2.2) Workaround case with a blank request<br>
> ><br>
> > [9/7/23, 15:54:21:528 IST] 0000005a id=00000000<br>
> > com.ibm.ws.http.channel.h2internal.FrameReadProcessor        3<br>
> > checkConnectionPreface: processNextFrame-:  stream: 0 frame type:<br>
> > Magic Preface  direction: READ_IN H2InboundLink hc: 551136004<br>
> ><br>
> > [9/7/23, 15:54:21:528 IST] 0000005a id=00000000<br>
> > com.ibm.ws.http.channel.h2internal.FrameReadProcessor        3<br>
> > checkConnectionPreface: Preface String: [80, 82, 73, 32, 42, 32, 72,<br>
> > 84, 84, 80, 47, 50, 46, 48, 13, 10, 13, 10, 83, 77, 13, 10, 13, 10]<br>
> ><br>
> > [9/7/23, 15:54:21:528 IST] 0000005a id=00000000<br>
> > com.ibm.ws.http.channel.h2internal.H2InboundLink             3<br>
> > createNewInboundLink entry: stream-id: 0<br>
> ><br>
> > [9/7/23, 15:54:21:528 IST] 0000005a id=00000000<br>
> > com.ibm.ws.http.channel.internal.inbound.HttpInboundLink<br>
> ><br>
> > Please let us to know whether it is an expected behavior or an issue?<br>
> > Or is there a way to handle such scenarios?<br>
> ><br>
> > Thanks & Regards,<br>
> ><br>
> > Asha H Sunagar<br>
> ><br>
> > IGA - JTC | Global Business Services – IBM<br>
> ><br>
> > Phone: +91 8884256034<br>
> ><br>
> > Email : asha.sunagar@ibm.com <</span><a href="mailto:asha.sunagar@ibm.com"><span style="font-size:11.0pt">mailto:asha.sunagar@ibm.com</span></a><span style="font-size:11.0pt">><br>
> ><br>
><o:p></o:p></span></p>
</div>
</div>
</div>
</div>
</body>
</html>