protected void putConnectionBackInPartition(ConnectionHandle connectionHandle) throws SQLException {

		if (this.cachedPoolStrategy && ((CachedConnectionStrategy)this.connectionStrategy).tlConnections.dumbGet().getValue()){
			connectionHandle.logicallyClosed.set(true);
			((CachedConnectionStrategy)this.connectionStrategy).tlConnections.set(new AbstractMap.SimpleEntry<ConnectionHandle, Boolean>(connectionHandle, false));
		} else {
			BlockingQueue<ConnectionHandle> queue = connectionHandle.getOriginatingPartition().getFreeConnections();
				if (!queue.offer(connectionHandle)){ // this shouldn't fail
					connectionHandle.internalClose();
				}
		}


	}
protected void putConnectionBackInPartition ( ConnectionHandle connectionHandle ) throws SQLException { if ( this . cachedPoolStrategy && ( ( CachedConnectionStrategy ) this . connectionStrategy ) . tlConnections . dumbGet ( ) . getValue ( ) ) { connectionHandle . logicallyClosed . set ( true ) ; ( ( CachedConnectionStrategy ) this . connectionStrategy ) . tlConnections . set ( new AbstractMap . SimpleEntry < ConnectionHandle , Boolean > ( connectionHandle , false ) ) ; } else { BlockingQueue < ConnectionHandle > queue = connectionHandle . getOriginatingPartition ( ) . getFreeConnections ( ) ; if ( ! queue . offer ( connectionHandle ) ) { connectionHandle . internalClose ( ) ; } } }
Places a connection back in the originating partition.
@param connectionHandle to place back
@throws SQLException on error