I'd prefer we re-used KEEPALIVE_TIMEOUT for this. This would change the semantics slightly, as right now the value does nothing when KEEPALIVE_TIME is infinite (the default). However, it makes a lot of sense to use the same value for both entries because they have mostly-shared fate. The only difference is that keepalive goes through the remote application whereas TCP_USER_TIMEOUT can be triggered directly by the kernel. The kernel will delay ACKs to combine them or to attach them to outgoing data. So when sending a keepalive, I'd expect the application to influence how soon data is ACK'ed, so they would be transmitted on the same packet frequently.
Also, KEEPALIVE_TIMEOUT is limited to no lower than 10 seconds. That is a very appropriate limit for TCP_USER_TIMEOUT as well, as application authors will commonly think "oh, a second looks good!" or "Oh, 100ms is plenty!". But that ignores retransmits and puts applications in a very dangerous position that can cause network collapse when the network slows down, even with datacenter networks. On Wed, Aug 22, 2018 at 1:23 PM yashkt via grpc.io <[email protected]> wrote: > This is the discussion thread for the proposal at > https://github.com/grpc/proposal/pull/95 > > The proposal is to provide an option to set the socket TCP_USER_TIMEOUT > for platforms running on Linux kernels 2.6.37 and later. > > -- > You received this message because you are subscribed to the Google Groups " > grpc.io" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To post to this group, send email to [email protected]. > Visit this group at https://groups.google.com/group/grpc-io. > To view this discussion on the web visit > https://groups.google.com/d/msgid/grpc-io/4d585ee1-2dba-4895-9d55-b637a587b93d%40googlegroups.com > <https://groups.google.com/d/msgid/grpc-io/4d585ee1-2dba-4895-9d55-b637a587b93d%40googlegroups.com?utm_medium=email&utm_source=footer> > . > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "grpc.io" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/grpc-io. To view this discussion on the web visit https://groups.google.com/d/msgid/grpc-io/CA%2B4M1oP%3DdJ74K04kRzY4RcHxxKfje8u-BiQgwfMuqktQFUK6JA%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
smime.p7s
Description: S/MIME Cryptographic Signature
