https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=37087
Bug ID: 37087
Summary: Add support for TCP keepalive to SIP server
Change sponsored?: ---
Product: Koha
Version: Main
Hardware: All
OS: All
Status: NEW
Severity: enhancement
Priority: P5 - low
Component: SIP2
Assignee: [email protected]
Reporter: [email protected]
QA Contact: [email protected]
Some computing platforms like Microsoft Azure (and some corporate firewalls)
enforce idle timeouts which silently kill long-running/persistent TCP
connections. In the case of Microsoft Azure, this idle timeout occurs after 4
minutes.
In production, this has been massively disruptive to circulation operations
using self-checkout kiosks that connect to Koha using SIP2.
Fortunately, this problem is easily solvable by using TCP keepalives. When TCP
keepalives are used, after X seconds a TCP ACK message will be sent from the
SIP server to the SIP client, which will then send back a TCP ACK. Nothing
happens at the application level. It's just at the lower network level. And
this prevents idle timeouts.
I'll provide more technical information in code comments.
--
I've already successfully implemented this strategy in Azure for managing
persistent Elasticsearch TCP connections simply by tweaking the
"net.ipv4.tcp_keepalive_time" kernel parameter, which is automatically used by
the HTTP::Tiny connection library used by Search::Elasticsearch, since it
implements the SO_KEEPALIVE socket option out of the box by default.
With the SIP server, we have a lot more control than we do with third-party
software, so I'm planning to implement a more fine-grained approach, which
won't require any kernel parameter changes. Instead, it will be manageable by
application configuration alone. (Note: this is partially because testing in
koha-testing-docker would be difficult where it's not easy/possible to tweak
kernel parameters.)
--
You are receiving this mail because:
You are watching all bug changes.
You are the assignee for the bug.
_______________________________________________
Koha-bugs mailing list
[email protected]
https://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-bugs
website : http://www.koha-community.org/
git : http://git.koha-community.org/
bugs : http://bugs.koha-community.org/