Respondida Possible Send/Receive Timeout Error

  • viernes, 09 de julio de 2010 5:23
     
     

    I think I may have found a bug in a send/receive timeout that is getting setup in the WCF Transport Channel. The internal class Microsoft.ApplicationServer.Caching.WcfTransportChannel. In method SetupTimeouts, the SendReceiveTimeout is getting set to two times the send timeout value.  I think it should be set to the send timeout + receive timeout.

    See http://philbolduc.blogspot.com/2010/07/appfabric-caching-send-receive-timeout.html for a screen shot.

Todas las respuestas

  • martes, 13 de julio de 2010 6:58
     
     Respondida
    Hi Phil, these are product internals and not exposed outside. However, I can tell you that this is not a defect.
    Amit. (Velocity Dev, MSFT)
    • Propuesto como respuesta Amit Kumar Yadav viernes, 23 de julio de 2010 8:53
    • Marcado como respuesta Phil S Bolduc lunes, 27 de septiembre de 2010 15:03
    •  
  • lunes, 27 de septiembre de 2010 15:03
     
     

    They may be product internals, but as end users, we are able to configure the receiveTimeout by configuration via the transport properties

    http://msdn.microsoft.com/en-us/library/ee790816.aspx

    <dataCacheClient requestTimeout="15000" channelOpenTimeout="3000" maxConnectionsToServer="1">
          <localCache isEnabled="true" sync="TimeoutBased" ttlValue="300" objectCount="10000"/>
          <clientNotification pollInterval="300" maxQueueLength="10000"/>
          <hosts>
             <host name="CacheServer1" cachePort="22233"/>
             <host name="CacheServer2" cachePort="22233"/>
          </hosts>
          <securityProperties mode="Transport" protectionLevel="EncryptAndSign" />
          <transportProperties connectionBufferSize="131072" maxBufferPoolSize="268435456"
                               maxBufferSize="8388608" maxOutputDelay="2" channelInitializationTimeout="60000"
                               receiveTimeout="600000"/>
       </dataCacheClient>

    I'll trust you it is not a bug or issue, but it still feels like something is not correct. I made an update to my blog post indicating you said it was not a defect.

  • lunes, 27 de septiembre de 2010 15:59
     
     
    Thanks for updating your blog post. The receive property you are mentioning is actually the receive timeout on a channel. It is not related to sendReceiveTimeout.
    Amit. (Velocity Dev, MSFT)
  • miércoles, 09 de febrero de 2011 23:38
     
     

    Can someone tell me what is the receiveTimeout property ? When will it get triggered ?

    Will it ever get triggered if my ChannelOpenTimeout is less then 600000 ?

    Thank you

  • viernes, 11 de febrero de 2011 17:29
    Moderador
     
     Respondida

    The receiveTimout property is the timeout to wait before the channel is marked idle and is brought down in case there is no message exchanged within that period. this is applicable only after the channel has been opened.

    ChannelOpentimeout is the time to wait for opening a channel to the server.

  • lunes, 14 de febrero de 2011 16:01
     
     
    Thank you Ankur!
    Mohammad Faridi.
  • viernes, 30 de marzo de 2012 20:18
     
     

    Once the channel hits receiveTimeout then why does another channel opens up. I have set  receiveTimeout="600000" channel with max connections to be 2 after first timeout I receive a duplex channel error and it opens 2 new channels, next duplex channel occurs in 5 mints

    1. Why second channel took 5 mints I would expect it to be 10.

    2. Since the client is configured through XML, how I can avoid the duplex channel errors ?