[TK-151] Expose 'idle timeout' as a first-class config setting in tk-j9 Created: 2015/02/18  Updated: 2015/03/25  Resolved: 2015/03/24

Status: Resolved
Project: Trapperkeeper
Component/s: None
Affects Version/s: None
Fix Version/s: TK-JETTY9 1.2.0

Type: New Feature Priority: Normal
Reporter: Chris Price Assignee: Erik Dasher
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Epic Link: Green: Puppet Server 1.0.8 / PE 3.8
Sub-team: jade
Story Points: 1
Sprint: Server Jade 2015-03-04, Server Jade 2015-03-18, Server Jade 2015-04-01
CS Priority: Normal


Jetty has a setting called 'idle timeout' that can be used to cause the server to forcefully disconnect clients if their connection is idle for longer than a specified amount of time. We should make this setting accessible through our config files.
Risk assessment: Medium (QA will perform FR, but no automated testing.)
Probability: Low (internal infrastructure with no obvious customer facing interface)
Severity: Medium

Comment by Lindsey Smith [ 2015/02/19 ]

Aaron Armstrong is this something we could consider for PE 3.8?

Comment by Chris Price [ 2015/02/20 ]

Lindsey Smith everything in this epic is stuff that my team believes needs to go in.

Comment by Erik Dasher [ 2015/03/20 ]

I consider the probability that a customer will encounter issues with this change to be low based on the manual and automated unit testing in the PR and because we provide a sensible default, and finally because this should only affect operations when things are under a large load or slow for some reason.

I consider the severity of issues that a customer may encounter around this issue to be medium. This is hard to measure because there are many possible scenarios. One extremely visible scenario is that parts of the PE console wouldn't work right under load. Some agent runs might not complete if an endpoint times out because a large catalog is being complied.

QA views this as a medium risk change, and plans to perform functional review, but not to provide automated testing. We will check that the setting actually takes effect, and that the jetty session stays open as long as we expect.

I would appreciate comments and corrections on my above notes from Jeremy Barlow ...

Comment by Jeremy Barlow [ 2015/03/20 ]

Erik Dasher That all sounds sane to me, thanks.

Comment by Erik Dasher [ 2015/03/24 ]

Tested in ubuntu 14 with foss build 1.0.4.SNAPSHOT.2015.03.24T0146

set idle-teimout-milliseconds = 100000 in /etc/puppetserver/conf.d/webserver.conf (misspelling on purpose)
puppetserver failed to start and generated an applicable error message.

set idle-timeout-milliseconds = 100000 in /etc/puppetserver/conf.d/webserver.conf
telnet localhost 8140
Takes a long time to timeout.

set idle-timeout-milliseconds = 1 restarted
telnet localhost 8140
Times out very quickly.

set idle-timeout-milliseconds = 3000 restarted
telnet localhost 8140
Timeout takes about 3 seconds.


Generated at Sat Jul 11 01:43:30 PDT 2020 using Jira 8.5.2#805002-sha1:a66f9354b9e12ac788984e5d84669c903a370049.