func()

in qldbdriver/qldbdriver.go [225:237]


func (driver *QLDBDriver) getSession(ctx context.Context) (*session, error) {
	driver.logger.logf(LogDebug, "Getting session. Existing sessions available: %v", len(driver.sessionPool))
	isPermitAcquired := driver.semaphore.tryAcquire()
	if isPermitAcquired {
		if len(driver.sessionPool) > 0 {
			session := <-driver.sessionPool
			driver.logger.log(LogDebug, "Reusing session from pool.")
			return session, nil
		}
		return driver.createSession(ctx)
	}
	return nil, &qldbDriverError{"MaxConcurrentTransactions limit exceeded."}
}