Uploaded image for project: 'MariaDB Connector/Python'
  1. MariaDB Connector/Python
  2. CONPY-255

ConnectionPool.get_connection does not raise mariadb.PoolError

    XMLWordPrintable

Details

    • Bug
    • Status: Closed (View Workflow)
    • Minor
    • Resolution: Fixed
    • 1.1.5, 1.1.6
    • 1.1.7
    • Connection Pooling
    • None
    • Win10 21H2, MariaDB Server 10.6.11 (official docker image)
    • 3.10.4

    Description

      Steps to reproduce

      1. set enviroment variables to allow login to server (see attached file)
      2. Run python example

      The example code initializes a ConnectionPool with 3 connections and calls get_connection() 4 times.

      Expected outcome

      As the documentation says, get_connection should raise a PoolError, because no connection is available:

      ConnectionPool.get_connection()
      Returns a connection from the connection pool or raises a PoolError exception if a connection is not available.

      Actual outcome

      get_connection() does not raise PoolError but returns None

      Workaround

      Do not catch PoolError but test return value:

       
      conn = pool.get_connection()
      if not conn:
          # put error handling here
      

      Remarks

      There is probably much code which relies on the current implementation, so its probably better to change the documentation.

      There is a test case test_connection_pool_maxconn in .\testing\test\integration\test_pooling.py but it does not assert that a PoolError is raised.

      Attachments

        Activity

          People

            georg Georg Richter
            gmech G.Mech
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Git Integration

                Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.