# File lib/active_record/connection_adapters/abstract/connection_pool.rb, line 74
      def initialize(spec)
        super()

        @spec = spec

        # The cache of reserved connections mapped to threads
        @reserved_connections = {}

        @queue = new_cond
        # 'wait_timeout', the backward-compatible key, conflicts with spec key 
        # used by mysql2 for something entirely different, checkout_timeout
        # preferred to avoid conflict and allow independent values. 
        @timeout = spec.config[:checkout_timeout] || spec.config[:wait_timeout] || 5

        # default max pool size to 5
        @size = (spec.config[:pool] && spec.config[:pool].to_i) || 5

        @connections         = []
        @automatic_reconnect = true
      end