title: In requests library, how can I avoid "HttpConnectionPool is full, discarding connection" warning?
body: <p>I'm using python requests library with sessions:</p>
  
  <pre><code>def _get_session(self):
      if not self.session:
          self.session = requests.Session()
      return self.session
  </code></pre>
  
  <p>And sometimes I'm getting this warning in my logs:</p>
  
  <pre><code>[2014/May/12 14:40:04 WARNING ] HttpConnectionPool is full, discarding connection: www.ebi.ac.uk
  </code></pre>
  
  <p>My question is: why this is warning and not an exception?</p>
  
  <p>This is the code responsible for this (from <a href="http://pydoc.net/Python/requests/0.8.5/requests.packages.urllib3.connectionpool/">http://pydoc.net/Python/requests/0.8.5/requests.packages.urllib3.connectionpool/</a>):</p>
  
  <pre><code>def _put_conn(self, conn):
      try:
          self.pool.put(conn, block=False)
      except Full:
          # This should never happen if self.block == True
          log.warning("HttpConnectionPool is full, discarding connection: %s"
                      % self.host)
  </code></pre>
  
  <p>Why this exception is catched here? If it was reraised, I could handle this exception in my code, by creating new session and deleting the old one. </p>
  
  <p>If it's only a warning, does it mean it doesn't affect my results in any way? Can I ignore it? If not, how can I handle this situation?</p>