<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Feature request: Make connection and keep-alive timeouts configurable in Nuxeo Forum</title>
    <link>https://connect.hyland.com/t5/nuxeo-forum/feature-request-make-connection-and-keep-alive-timeouts/m-p/315559#M2560</link>
    <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;When a Nuxeo server is behind a load balancer which can reuse backend TCP connections, we should ensure that the load balancer is responsible for closing TCP connections by defining its idle timeout to be lower than Nuxeo's keep-alive timeout [1].&lt;/P&gt;
&lt;P&gt;However, as of today, Nuxeo's embedded Tomcat keep-alive timeout is implicitly set to 20 seconds and cannot be easily configured as:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;In &lt;CODE&gt;server.xml.nxftl&lt;/CODE&gt;, &lt;CODE&gt;connectionTimeout&lt;/CODE&gt; is hard-coded to 20 seconds [2];&lt;/LI&gt;
&lt;LI&gt;And as &lt;CODE&gt;keepAliveTimeout&lt;/CODE&gt;, the HTTP Connector attribute which defines this keep-alive timeout, uses the value set for &lt;CODE&gt;connectionTimeout&lt;/CODE&gt; as its default value [3].&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;This 20 seconds value can be problematic in cases where the load balancer idle timeout is higher and cannot be configured (for example, the default idle timeout on AWS Application Load Balancers is 60s [4]).&lt;/P&gt;
&lt;P&gt;In these cases, it would be useful to be able to configure this keep-alive timeout.&lt;/P&gt;
&lt;P&gt;This can already be done today by manually altering the contents of the &lt;CODE&gt;server.xml.nxftl&lt;/CODE&gt; template file but this would be better if the &lt;CODE&gt;keepAliveTimeout&lt;/CODE&gt; value could be parameterized.
The &lt;CODE&gt;connectionTimeout&lt;/CODE&gt; value could also be parameterized on the same occasion.&lt;/P&gt;
&lt;P&gt;For example, this commit that adds &lt;CODE&gt;nuxeo.server.http.connectionTimeout&lt;/CODE&gt; and &lt;CODE&gt;nuxeo.server.http.keepAliveTimeout&lt;/CODE&gt; configuration parameters, which can be defined in &lt;CODE&gt;nuxeo.conf&lt;/CODE&gt;: &lt;A href="https://github.com/stephaneseng/nuxeo/commit/3951c0a737174c630bfb0748846d040952eaf74a" target="test_blank"&gt;https://github.com/stephaneseng/nuxeo/commit/3951c0a737174c630bfb0748846d040952eaf74a&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;Is this feature request acceptable?&lt;BR /&gt; /&amp;gt;
If this is the case I can open a Pull Request on GitHub with the aforementioned commit.&lt;/P&gt;
&lt;P&gt;Regards,&lt;BR /&gt; /&amp;gt;
Stéphane.&lt;/P&gt;
&lt;P&gt;[1] &lt;A href="https://doc.nuxeo.com/nxdoc/http-and-https-reverse-proxy-configuration/#configuration-between-aws-elastic-load-balancing-elb-and-apache" target="test_blank"&gt;https://doc.nuxeo.com/nxdoc/http-and-https-reverse-proxy-configuration/#configuration-between-aws-elastic-load-balancing-elb-and-apache&lt;/A&gt;&lt;BR /&gt; /&amp;gt;
[2] &lt;A href="https://github.com/nuxeo/nuxeo/blob/master/server/nuxeo-nxr-server/src/main/resources/templates/common-base/conf/server.xml.nxftl#L84" target="test_blank"&gt;https://github.com/nuxeo/nuxeo/blob/master/server/nuxeo-nxr-server/src/main/resources/templates/common-base/conf/server.xml.nxftl#L84&lt;/A&gt;&lt;BR /&gt; /&amp;gt;
[3] &lt;A href="https://tomcat.apache.org/tomcat-9.0-doc/config/http.html#Standard_Implementation" target="test_blank"&gt;https://tomcat.apache.org/tomcat-9.0-doc/config/http.html#Standard_Implementation&lt;/A&gt;&lt;BR /&gt; /&amp;gt;
[4] &lt;A href="https://docs.aws.amazon.com/elasticloadbalancing/latest/application/application-load-balancers.html#connection-idle-timeout" target="test_blank"&gt;https://docs.aws.amazon.com/elasticloadbalancing/latest/application/application-load-balancers.html#connection-idle-timeout&lt;/A&gt;&lt;/P&gt;</description>
    <pubDate>Mon, 27 Apr 2020 20:57:25 GMT</pubDate>
    <dc:creator>Stéphane_Seng</dc:creator>
    <dc:date>2020-04-27T20:57:25Z</dc:date>
    <item>
      <title>Feature request: Make connection and keep-alive timeouts configurable</title>
      <link>https://connect.hyland.com/t5/nuxeo-forum/feature-request-make-connection-and-keep-alive-timeouts/m-p/315559#M2560</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;When a Nuxeo server is behind a load balancer which can reuse backend TCP connections, we should ensure that the load balancer is responsible for closing TCP connections by defining its idle timeout to be lower than Nuxeo's keep-alive timeout [1].&lt;/P&gt;
&lt;P&gt;However, as of today, Nuxeo's embedded Tomcat keep-alive timeout is implicitly set to 20 seconds and cannot be easily configured as:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;In &lt;CODE&gt;server.xml.nxftl&lt;/CODE&gt;, &lt;CODE&gt;connectionTimeout&lt;/CODE&gt; is hard-coded to 20 seconds [2];&lt;/LI&gt;
&lt;LI&gt;And as &lt;CODE&gt;keepAliveTimeout&lt;/CODE&gt;, the HTTP Connector attribute which defines this keep-alive timeout, uses the value set for &lt;CODE&gt;connectionTimeout&lt;/CODE&gt; as its default value [3].&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;This 20 seconds value can be problematic in cases where the load balancer idle timeout is higher and cannot be configured (for example, the default idle timeout on AWS Application Load Balancers is 60s [4]).&lt;/P&gt;
&lt;P&gt;In these cases, it would be useful to be able to configure this keep-alive timeout.&lt;/P&gt;
&lt;P&gt;This can already be done today by manually altering the contents of the &lt;CODE&gt;server.xml.nxftl&lt;/CODE&gt; template file but this would be better if the &lt;CODE&gt;keepAliveTimeout&lt;/CODE&gt; value could be parameterized.
The &lt;CODE&gt;connectionTimeout&lt;/CODE&gt; value could also be parameterized on the same occasion.&lt;/P&gt;
&lt;P&gt;For example, this commit that adds &lt;CODE&gt;nuxeo.server.http.connectionTimeout&lt;/CODE&gt; and &lt;CODE&gt;nuxeo.server.http.keepAliveTimeout&lt;/CODE&gt; configuration parameters, which can be defined in &lt;CODE&gt;nuxeo.conf&lt;/CODE&gt;: &lt;A href="https://github.com/stephaneseng/nuxeo/commit/3951c0a737174c630bfb0748846d040952eaf74a" target="test_blank"&gt;https://github.com/stephaneseng/nuxeo/commit/3951c0a737174c630bfb0748846d040952eaf74a&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;Is this feature request acceptable?&lt;BR /&gt; /&amp;gt;
If this is the case I can open a Pull Request on GitHub with the aforementioned commit.&lt;/P&gt;
&lt;P&gt;Regards,&lt;BR /&gt; /&amp;gt;
Stéphane.&lt;/P&gt;
&lt;P&gt;[1] &lt;A href="https://doc.nuxeo.com/nxdoc/http-and-https-reverse-proxy-configuration/#configuration-between-aws-elastic-load-balancing-elb-and-apache" target="test_blank"&gt;https://doc.nuxeo.com/nxdoc/http-and-https-reverse-proxy-configuration/#configuration-between-aws-elastic-load-balancing-elb-and-apache&lt;/A&gt;&lt;BR /&gt; /&amp;gt;
[2] &lt;A href="https://github.com/nuxeo/nuxeo/blob/master/server/nuxeo-nxr-server/src/main/resources/templates/common-base/conf/server.xml.nxftl#L84" target="test_blank"&gt;https://github.com/nuxeo/nuxeo/blob/master/server/nuxeo-nxr-server/src/main/resources/templates/common-base/conf/server.xml.nxftl#L84&lt;/A&gt;&lt;BR /&gt; /&amp;gt;
[3] &lt;A href="https://tomcat.apache.org/tomcat-9.0-doc/config/http.html#Standard_Implementation" target="test_blank"&gt;https://tomcat.apache.org/tomcat-9.0-doc/config/http.html#Standard_Implementation&lt;/A&gt;&lt;BR /&gt; /&amp;gt;
[4] &lt;A href="https://docs.aws.amazon.com/elasticloadbalancing/latest/application/application-load-balancers.html#connection-idle-timeout" target="test_blank"&gt;https://docs.aws.amazon.com/elasticloadbalancing/latest/application/application-load-balancers.html#connection-idle-timeout&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 27 Apr 2020 20:57:25 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/nuxeo-forum/feature-request-make-connection-and-keep-alive-timeouts/m-p/315559#M2560</guid>
      <dc:creator>Stéphane_Seng</dc:creator>
      <dc:date>2020-04-27T20:57:25Z</dc:date>
    </item>
    <item>
      <title>Re: Feature request: Make connection and keep-alive timeouts configurable</title>
      <link>https://connect.hyland.com/t5/nuxeo-forum/feature-request-make-connection-and-keep-alive-timeouts/m-p/315560#M2561</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;
&lt;P&gt;Thanks for your feedback. You can send your feedback on our open Product Roadmap and Feedback portal: &lt;A href="https://doc.nuxeo.com/nxdoc/nuxeo-server-roadmap/"&gt;https://doc.nuxeo.com/nxdoc/nuxeo-server-roadmap/&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;This is the best way to add any suggestion and get a feedback from the team.&lt;/P&gt;
&lt;P&gt;Regards&lt;/P&gt;</description>
      <pubDate>Sun, 03 May 2020 16:44:50 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/nuxeo-forum/feature-request-make-connection-and-keep-alive-timeouts/m-p/315560#M2561</guid>
      <dc:creator>Gregory_Carlin</dc:creator>
      <dc:date>2020-05-03T16:44:50Z</dc:date>
    </item>
  </channel>
</rss>

