<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
Hi all,</div>
<div style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
<br>
</div>
<div style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
I was wondering if there was any chance in the future that this patch would be backported to the LTS versions of the JDK.</div>
<div style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
<br>
</div>
<div style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
Thanks,
<div>Terry</div>
</div>
<div id="appendonsend"></div>
<hr style="display:inline-block;width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>From:</b> Terry Chow (Simba Technologies Inc) <v-terrychow@microsoft.com><br>
<b>Sent:</b> June 7, 2023 7:00 PM<br>
<b>To:</b> Daniel Jeliński <djelinski1@gmail.com><br>
<b>Cc:</b> Daniel Fuchs <daniel.fuchs@oracle.com>; Alan Bateman <Alan.Bateman@oracle.com>; net-dev@openjdk.org <net-dev@openjdk.org><br>
<b>Subject:</b> Re: [EXTERNAL] Re: Support for Keepalive Extended Socket Options On Windows</font>
<div> </div>
</div>
<style type="text/css" style="display:none">
<!--
p
        {margin-top:0;
        margin-bottom:0}
-->
</style>
<div dir="ltr">
<div class="x_elementToProof x_ContentPasted0" style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
Hi Daniel Jeliński,
<div><br class="x_ContentPasted0">
</div>
<div class="x_ContentPasted0">Thanks for pointing that out. I completely overlooked that doc page. That definitely does look like the best way to conform to how things currently are.</div>
<div class="x_ContentPasted0"><br>
</div>
<div class="x_ContentPasted0">There shouldn't be any protest from my team on waiting out older Windows versions (I'll need to double check though).<br>
</div>
<div><br class="x_ContentPasted0">
</div>
<div class="x_ContentPasted0">Thanks,</div>
Terry<br>
</div>
<div id="x_appendonsend"></div>
<hr tabindex="-1" style="display:inline-block; width:98%">
<div id="x_divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" color="#000000" style="font-size:11pt"><b>From:</b> Daniel Jeliński <djelinski1@gmail.com><br>
<b>Sent:</b> June 7, 2023 5:48 AM<br>
<b>To:</b> Terry Chow (Simba Technologies Inc) <v-terrychow@microsoft.com><br>
<b>Cc:</b> Daniel Fuchs <daniel.fuchs@oracle.com>; Alan Bateman <Alan.Bateman@oracle.com>; net-dev@openjdk.org <net-dev@openjdk.org><br>
<b>Subject:</b> Re: [EXTERNAL] Re: Support for Keepalive Extended Socket Options On Windows</font>
<div> </div>
</div>
<div class="x_BodyFragment"><font size="2"><span style="font-size:11pt">
<div class="x_PlainText">[You don't often get email from djelinski1@gmail.com. Learn why this is important at
<a href="https://aka.ms/LearnAboutSenderIdentification">https://aka.ms/LearnAboutSenderIdentification</a> ]<br>
<br>
FWIW, TCP_KEEPIDLE and TCP_KEEPINTVL are available on Windows,<br>
starting with Windows 10, version 1709:<br>
<a href="https://learn.microsoft.com/en-us/windows/win32/winsock/ipproto-tcp-socket-options">https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flearn.microsoft.com%2Fen-us%2Fwindows%2Fwin32%2Fwinsock%2Fipproto-tcp-socket-options&data=05%7C01%7Cv-terrychow%40microsoft.com%7C0dbf70ca1ce047e8370408db675584b8%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C638217389237258798%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=JVQxjufRqw84LssZX%2BmRNRxf8tH3OEriTzmWc5tSE8E%3D&reserved=0</a><br>
<br>
Apparently TCP_KEEPCNT is available too. Can we use these options and<br>
wait for older Windows versions to go out of support?<br>
Regards,<br>
Daniel<br>
<br>
śr., 7 cze 2023 o 00:43 Terry Chow (Simba Technologies Inc)<br>
<v-terrychow@microsoft.com> napisał(a):<br>
><br>
> Hi Daniel,<br>
><br>
> That sounds good. I like the idea of using a system property to override the defaults just in case. For the starting default values, 2hrs and 1s for idle time and interval time respectively are the officially documented defaults. So, we could start with these.<br>
><br>
> Just to reiterate, to start off with the prototype:<br>
><br>
> Persist default values at the socket level in either SocketImpl or NIOSocketImpl<br>
> Allow default values to be overridden through system properties<br>
> Starting default values for idle time and interval time will be 2hrs and 1s<br>
><br>
> Let me know if that's acceptable or if there's more to add.<br>
><br>
> Thanks,<br>
> Terry<br>
> ________________________________<br>
> From: Daniel Fuchs <daniel.fuchs@oracle.com><br>
> Sent: June 6, 2023 4:22 AM<br>
> To: Terry Chow (Simba Technologies Inc) <v-terrychow@microsoft.com>; Alan Bateman <Alan.Bateman@oracle.com>; net-dev@openjdk.org <net-dev@openjdk.org><br>
> Subject: Re: [EXTERNAL] Re: Support for Keepalive Extended Socket Options On Windows<br>
><br>
> [You don't often get email from daniel.fuchs@oracle.com. Learn why this is important at
<a href="https://aka.ms/LearnAboutSenderIdentification">https://aka.ms/LearnAboutSenderIdentification</a> ]<br>
><br>
> Hi Terry,<br>
><br>
> I'm not sure what would be a good default value, but it could<br>
> possibly be controlled by a system property allowing to override<br>
> whatever we pick.<br>
><br>
> best regards,<br>
><br>
> -- daniel<br>
><br>
><br>
> On 05/06/2023 20:52, Terry Chow (Simba Technologies Inc) wrote:<br>
> > Hi Alan and Daniel,<br>
> ><br>
> > Agreed, having Windows support the keepalive options as it's done on<br>
> > other platforms would be the best. But, lobbying them for that change<br>
> > would be extremely difficult as it would be very significant change that<br>
> > impacts the whole platform.<br>
> ><br>
> > What defaults values do you guys have in mind? I'm still hesitating on<br>
> > persisting default values because the default values can vary between<br>
> > machines.<br>
> ><br>
> > Thanks,<br>
> > Terry<br>
> > ------------------------------------------------------------------------<br>
> > *From:* Alan Bateman <Alan.Bateman@oracle.com><br>
> > *Sent:* June 4, 2023 7:32 AM<br>
> > *To:* Daniel Fuchs <daniel.fuchs@oracle.com>; Terry Chow (Simba<br>
> > Technologies Inc) <v-terrychow@microsoft.com>; net-dev@openjdk.org<br>
> > <net-dev@openjdk.org><br>
> > *Subject:* [EXTERNAL] Re: Support for Keepalive Extended Socket Options<br>
> > On Windows<br>
> > [You don't often get email from alan.bateman@oracle.com. Learn why this<br>
> > is important at <a href="https://aka.ms/LearnAboutSenderIdentification">https://aka.ms/LearnAboutSenderIdentification</a><br>
> > <<a href="https://urldefense.com/v3/__https://aka.ms/LearnAboutSenderIdentification__;!!ACWV5N9M2RV99hQ!L3ZqYRNNOoxRi17MfA-Xuhn96mbJFGf8N9hRRT_fKwRroiRBdo_QNCcfm6-S-qa3FXTquasM6y3tpVE_ac_Dl3MS7A$">https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Furldefense.com%2Fv3%2F__https%3A%2F%2Faka.ms%2FLearnAboutSenderIdentification__%3B!!ACWV5N9M2RV99hQ!L3ZqYRNNOoxRi17MfA-Xuhn96mbJFGf8N9hRRT_fKwRroiRBdo_QNCcfm6-S-qa3FXTquasM6y3tpVE_ac_Dl3MS7A%24&data=05%7C01%7Cv-terrychow%40microsoft.com%7C0dbf70ca1ce047e8370408db675584b8%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C638217389237258798%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=RaTlqhm2zVXIT2ilG046bBUvd7LTOBIxLbVldHq%2BhVQ%3D&reserved=0</a>>
 ]<br>
> ><br>
> > On 04/06/2023 10:49, Daniel Fuchs wrote:<br>
> >> Hi,<br>
> >><br>
> >> Could we maybe cache the values in the SocketImpl/NIOSocketImpl<br>
> >> implementation?<br>
> >><br>
> >> IIRC we do something like that for SO_TIMEOUT already, since this<br>
> >> is handled at NIO level.<br>
> >><br>
> >> If we know the default value then setting one (when the other is<br>
> >> not set) could set it with the supplied value for the one, and<br>
> >> the default (or cached value) for the other?<br>
> >><br>
> >> Get would then return the cached value (or possibly default<br>
> >> value if not set?)<br>
> >><br>
> >> We could also potentially set some sensible defaults when creating<br>
> >> the socket.<br>
> >><br>
> > Yes, this is what I was suggesting in PR14232 too but it will likely be<br>
> > a disruptive change. It can be prototyped at least, then we can see how<br>
> > we could turn it into something that is maintainable. The best outcome<br>
> > would of course be for Windows to expose the socket options in the same<br>
> > way as Linux, macOS and others.<br>
> ><br>
> > -Alan<br>
><br>
</div>
</span></font></div>
</div>
</body>
</html>