title: node-mysql doesn't reuse connections
body: <p>I'm using the connection pool in this way:</p>
  
  <pre><code>var pool = mysql.createPool({
    host: config.db.host,
    port: config.db.port,
    user: config.db.user,
    password: config.db.password,
    database: config.db.database,
    connectionLimit: config.db.connectionLimit
  });
  
  exports.api_point = function(req, res) {
  
    pool.getConnection(function(err, connection) {
      if (err) {
        console.error('error acquiring connection', err);
  
        var result = {};
        result.error = err.code;
  
        res.json(result);
        return;
      } else {
        var query = connection.query('SELECT * FROM tableName', function(err, rows) {
          connection.release();
  
          var result = {};
  
          if (err) {
            console.error('error executing query: ' + err.stack);
  
            result.error = err.message;
          } else {
            result.data = rows;
          }
  
          res.json(result);
          return;
        });
      }
    });
  };
  </code></pre>
  
  <h2>Problem:</h2>
  
  <p>Yet, after all the connections (defined by connectionLimit, e.g. 20) are created, the next call to <code>pool.getConnection()</code> hangs until Express returns: "GET /api_point - - ms - -" (after ~10s).</p>
  
  <p>I've tried replacing <code>connection.release();</code> with <code>connection.destroy();</code> with no effect.
  How can I solve this?</p>
  
  <hr>
  
  <p>node-mysql version:</p>
  
  <pre><code>"mysql": "~2.5.1",
  </code></pre>
  
  <p>Btw. I track connections being created with:</p>
  
  <pre><code>var connCount = 0;
  pool.on('connection', function(connection) {
    console.log('connCount:', ++connCount);
  });
  </code></pre>