Uploaded image for project: 'Commons DBCP'
  1. Commons DBCP
  2. DBCP-432

BasicDataSource createDataSource can return partially initialized DataSource

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 2.0
    • 2.1
    • None

    Description

      The BasicDataSource instance variable, dataSource, is DCL-controlled in createDataSource; but within the sync block it is set directly and then subsequently initialized. Threads that request connections, or access createDataSource directly while initialization is in progress will get partially initialized dataSources. In particular, logWriters may be null and initial pool capacity may not be provisioned (if initialSize > 0).

      Attachments

        1. DBCP-432.patch
          3 kB
          Phil Steitz
        2. DBCP-432-AtomicReference.patch
          3 kB
          Adrian Crum

        Activity

          People

            Unassigned Unassigned
            psteitz Phil Steitz
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: