title: Timeout exception after async commands and Task.WhenAny awaits in StackExchange.Redis
body: <p>I'm experiencing the so-called <em>Timeout performing HGET company:product:settings, inst: 1, queue: 8, qu=0, qs=8, qc=0, wr=0/0, in=79/1</em> timeout exception.</p>
  <p>It's strange because the same Redis instance and in the same machine is storing data, but it's a specific application which throws this exception. <em>Update:</em> In fact, the same application, one line above receives data from Redis. The issue is with <code>HGET</code>.</p>
  <p>Also, I've increased timeouts on multiplexer configuration to 6 seconds with no luck.</p>
  <p>In addition, I've checked that <code>IDatabase</code> instance has <code>IsConnected</code> with <code>true</code> value.</p>
  <p>How to interpret these error messages and what's the issue behind the whole timeout?</p>
  <h2>Some background...</h2>
  <p>I've successfully fixed the issue changing <em>when</em> some code section gets a <em>database</em> (i.e. <code>multiplexer.GetDatabase()</code>).</p>
  <p>While <em>multiplexer</em> has an instance per <code>AppDomain</code> as described in StackExchange.Redis documentation, many inversion of control components are creating many instances of <code>IDatabase</code> in their own code. That is, <code>IDatabase</code> instance isn't shared.</p>
  <p>Actual code is performing a <code>ListRightPopLeftPush</code>, and after that, it's instantiating an inversion of control component which reads a hash key during component instatiation. If instantiate the whole component before doing the so-called <code>ListRightPopLeftPush</code>, then the whole <code>HashGet</code> won't throw the timeout exception.</p>
  <p>It seems like even when <code>ListRightPopLeftPush</code> is executed from other <code>IDatabase</code> instance, it produces some kind of issue in the next <code>IDatabase</code> instance when it comes to perform read operations.</p>
  <p>Anyway, my <em>fix</em> doesn't answer the question. I've just added more detailed info to let us find what's the issue and its own solution.</p>
  <h2>Update</h2>
  <p>Anyway, the above &quot;fix&quot; won't fix further read accesses to Redis. I'm getting the same timeout exception in further calls. And now <code>in</code> paramater found in exception's message says <code>60/1</code>.</p>