You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Over time i'm steadily seeing the number of processes 'processing' increasing.
It appears that the client (Postfix) connecting to the authentication milter is terminating it's side of the connection. But, on the Authentication Milter server the connection remains in the established state and never times out.
Is there an overall timeout that can be applied to resolve this situation?
As a workaround i've patched my local Authentication.pm and reduced net.ipv4.tcp_keepalive_time to 300s, which appears to resolve the issue. But, a server side timeout would probably be a better solution.
@@ -16,6 +16,7 @@
use Log::Dispatchouli;
use Net::DNS::Resolver;
use Net::IP;
+use IO::Socket;
use Proc::ProcessTable;
use base 'Mail::Milter::Authentication::Net::ServerPatches';
use vars qw(@ISA);
@@ -383,6 +384,7 @@
$PROGRAM_NAME = $Mail::Milter::Authentication::Config::IDENT . ':processing(' . $count . ')';
$self->logdebug( 'Processing request ' . $self->{'count'} );
$self->{'socket'} = $self->{'server'}->{'client'};
+ $self->{'socket'}->setsockopt(SOL_SOCKET, SO_KEEPALIVE, 1);
$self->{'tracelog'} = [];
The text was updated successfully, but these errors were encountered:
Over time i'm steadily seeing the number of processes 'processing' increasing.
It appears that the client (Postfix) connecting to the authentication milter is terminating it's side of the connection. But, on the Authentication Milter server the connection remains in the established state and never times out.
e.g.
Is there an overall timeout that can be applied to resolve this situation?
As a workaround i've patched my local Authentication.pm and reduced net.ipv4.tcp_keepalive_time to 300s, which appears to resolve the issue. But, a server side timeout would probably be a better solution.
The text was updated successfully, but these errors were encountered: