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: koha-bugs@lists.koha-community.org
          Reporter: dc...@prosentient.com.au
        QA Contact: testo...@bugs.koha-community.org

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
Koha-bugs@lists.koha-community.org
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/

Reply via email to