Thanks again.

So i configured several pool_timeout ranging from 0.000001 to 30 and i 
still get this *This connection is closed *

Is there a way to have more details regarding my sqlalchemy connection?
I am already using *echo=True*,  *echo_pool=True* and Python's logging

logging.basicConfig()
logging.getLogger('sqlalchemy.engine').setLevel(logging.DEBUG)




I also tried to use NullPool before, without success.



On Wednesday, October 26, 2016 at 6:56:53 PM UTC+2, Mike Bayer wrote:
>
> oh.   then they are timing out your connections due to inactivity.  Set 
> the "pool_timeout" parameter to a number of seconds less than this 
> timeout. 
>
>
>
> On 10/26/2016 10:24 AM, Vincent B. wrote: 
> > Thanks for this answer. 
> > 
> > As you suggested i tried to connect, with success, to my database 
> > through cx_oracle. 
> > 
> > 
> > | 
> > ip = '[MyOracleServerIP]' 
> > port = 1521 
> > service_name = '[MyServiceName]' 
> > dsn = cx_Oracle.makedsn(ip, port, service_name=service_name) 
> > db = cx_Oracle.connect('[login]', '[password]', dsn) 
> > print db.version 
> > db.close() 
> > | 
> > 
> > Output : 12.1.0.2.0 
> > 
> > Functional both in "test" and "run". 
> > 
> > 
> > Le mercredi 26 octobre 2016 15:45:59 UTC+2, Mike Bayer a écrit : 
> > 
> >     This is connectivity issues, I have no idea what airflow is, however 
> >     if you're dropping connections this would be something to email the 
> >     cx_oracle list about .   The error message looks like you're not 
> >     able to establish a connection in the first place.   You might want 
> >     to create a plain cx_oracle test script at least to make the options 
> >     and the error clear. 
> > 
> > 
> >     On Oct 26, 2016 9:22 AM, "Vincent B." <mr.benoi...@gmail.com 
> >     <javascript:>> wrote: 
> > 
> >         Hi, 
> > 
> >         I am using sqlalchemy 1.0.5, Airflow 1.7.1.3, Python 2.7 and 
> >         Oracle 12. 
> > 
> >         I'm pretty much stuck with the integration of a connexion to 
> >         Oracle through sqlalchemy in an Airflow Airbnb script. 
> > 
> > 
> >         Here is my log from Airflow/sqlalchemy. 
> > 
> >         | 
> >         [2016-10-26 14:51:07,574] {base.py:719} INFO - COMMIT 
> >         [2016-10-26 14:51:07,631] {log.py:109} INFO - SELECT USER FROM 
> DUAL 
> >         [2016-10-26 14:51:07,631] {log.py:109} INFO - {} 
> >         [2016-10-26 14:51:07,633] {log.py:109} INFO - SELECT CAST('test 
> >         plain returns' AS VARCHAR(60 CHAR)) AS anon_1 FROM DUAL 
> >         [2016-10-26 14:51:07,633] {log.py:109} INFO - {} 
> >         [2016-10-26 14:51:07,634] {log.py:109} INFO - SELECT CAST('test 
> >         unicode returns' AS NVARCHAR2(60)) AS anon_1 FROM DUAL 
> >         [2016-10-26 14:51:07,634] {log.py:109} INFO - {} 
> >         [2016-10-26 14:51:07,638] {log.py:109} INFO - Disconnection 
> >         detected on checkout: 
> >         [2016-10-26 14:51:07,638] {log.py:109} INFO - Invalidate 
> >         connection <cx_Oracle.Connection to 
> >         
> [MyDataBaseName]@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=[MyOracleServerIP])(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=I2B2)))>
>  
>
> >         (reason: DisconnectionError:) 
> >         [2016-10-26 14:51:07,678] {log.py:109} INFO - Disconnection 
> >         detected on checkout: 
> >         [2016-10-26 14:51:07,678] {log.py:109} INFO - Invalidate 
> >         connection <cx_Oracle.Connection to 
> >         
> [MyDataBaseName]@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=[MyOracleServerIP])(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=I2B2)))>
>  
>
> >         (reason: DisconnectionError:) 
> >         [2016-10-26 14:51:07,714] {log.py:109} INFO - Reconnection 
> >         attempts exhausted on checkout 
> >         [2016-10-26 14:51:07,715] {log.py:109} INFO - Invalidate 
> >         connection <cx_Oracle.Connection to 
> >         
> [MyDataBaseName]@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=[MyOracleServerIP])(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=I2B2)))>
>  
>
> >         [2016-10-26 14:51:07,716] {models.py:1286} ERROR - This 
> >         connection is closed 
> >         Traceback (most recent call last): 
> >           File 
> >         "/usr/local/lib/python2.7/dist-packages/airflow/models.py", line 
> >         1245, in run 
> >             result = task_copy.execute(context=context) 
> >           File 
> >         
> "/usr/local/lib/python2.7/dist-packages/airflow/operators/python_operator.py",
>  
>
> >         line 66, in execute 
> >             return_value = self.python_callable(*self.op_args, 
> >         **self.op_kwargs) 
> >           File "/root/airflow/dags/debug_py2b2_connect.py", line 41, in 
> >         test_connect 
> >             connection=i2b2data.engine.connect() 
> >           File 
> >         
> "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", 
> >         line 2085, in connect 
> >             return self._connection_cls(self, **kwargs) 
> >           File 
> >         
> "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", 
> >         line 90, in __init__ 
> >             if connection is not None else engine.raw_connection() 
> >           File 
> >         
> "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", 
> >         line 2171, in raw_connection 
> >             self.pool.unique_connection, _connection) 
> >           File 
> >         
> "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", 
> >         line 2141, in _wrap_pool_connect 
> >             return fn() 
> >           File 
> >         "/usr/local/lib/python2.7/dist-packages/sqlalchemy/pool.py", 
> >         line 328, in unique_connection 
> >             return _ConnectionFairy._checkout(self) 
> >           File 
> >         "/usr/local/lib/python2.7/dist-packages/sqlalchemy/pool.py", 
> >         line 804, in _checkout 
> >             raise exc.InvalidRequestError("This connection is closed") 
> >         InvalidRequestError: This connection is closed 
> >         [2016-10-26 14:51:07,718] {models.py:1306} INFO - Marking task 
> >         as FAILED. 
> > 
> >         | 
> > 
> > 
> >         Here is my sql alchemy __init__code in my python class 
> >         | 
> >         def __init__(self,connection_uri,params): 
> >         if connection_uri.startswith("oracle"): 
> >         os.environ['NLS_LANG']= 'AMERICAN_AMERICA.AL32UTF8' 
> >         self.engine=sqlalchemy.create_engine(connection_uri, **params) 
> >         Session = sessionmaker(bind=self.engine, autoflush=True, 
> >         autocommit=False) 
> >         self.session = Session() 
> >         self.metadata = MetaData() 
> >         self.metadata.bind=self.engine 
> >         | 
> > 
> > 
> >         This error "This connection is closed" is *not *raised when in 
> >         airflow "test" mode. I can connect and update my database and my 
> >         python script works perfectly. 
> >         However in airflow "run" mode it fails. 
> > 
> >         I also have this oracle warning, 
> >         | 
> >         <msg time='2016-10-17T11:52:47.755+02:00' org_id='xxxxxx' 
> >         comp_id='rdbms' type='UNKNOWN' level='16' host_id='xxxxxxx' 
> >         host_addr='xxxxxx' module='python@xxxxxxx' pid='8978'> 
> >         <txt>Using deprecated SQLNET.ALLOWED_LOGON_VERSION parameter. 
> >         </txt> </msg> 
> >         | 
> > 
> >         But it seems unrelated as i get this warning when i execute my 
> >         script in "test" (success) and "run" (failure) mode. We are 
> >         planning to fix this soon. 
> > 
> > 
> >         I have no clue if this error is related to airflow, oracle or 
> >         sqlalchemy configuration. 
> > 
> > 
> > 
> >         -- 
> >         SQLAlchemy - 
> >         The Python SQL Toolkit and Object Relational Mapper 
> > 
> >         http://www.sqlalchemy.org/ 
> > 
> >         To post example code, please provide an MCVE: Minimal, Complete, 
> >         and Verifiable Example. See http://stackoverflow.com/help/mcve 
> >         <http://stackoverflow.com/help/mcve> for a full description. 
> >         --- 
> >         You received this message because you are subscribed to the 
> >         Google Groups "sqlalchemy" group. 
> >         To unsubscribe from this group and stop receiving emails from 
> >         it, send an email to sqlalchemy+...@googlegroups.com 
> <javascript:>. 
> >         To post to this group, send email to sqlal...@googlegroups.com 
> >         <javascript:>. 
> >         Visit this group at https://groups.google.com/group/sqlalchemy 
> >         <https://groups.google.com/group/sqlalchemy>. 
> >         For more options, visit https://groups.google.com/d/optout 
> >         <https://groups.google.com/d/optout>. 
> > 
> > -- 
> > SQLAlchemy - 
> > The Python SQL Toolkit and Object Relational Mapper 
> > 
> > http://www.sqlalchemy.org/ 
> > 
> > To post example code, please provide an MCVE: Minimal, Complete, and 
> > Verifiable Example. See http://stackoverflow.com/help/mcve for a full 
> > description. 
> > --- 
> > You received this message because you are subscribed to the Google 
> > Groups "sqlalchemy" group. 
> > To unsubscribe from this group and stop receiving emails from it, send 
> > an email to sqlalchemy+...@googlegroups.com <javascript:> 
> > <mailto:sqlalchemy+unsubscr...@googlegroups.com <javascript:>>. 
> > To post to this group, send email to sqlal...@googlegroups.com 
> <javascript:> 
> > <mailto:sqlal...@googlegroups.com <javascript:>>. 
> > Visit this group at https://groups.google.com/group/sqlalchemy. 
> > For more options, visit https://groups.google.com/d/optout. 
>

-- 
SQLAlchemy - 
The Python SQL Toolkit and Object Relational Mapper

http://www.sqlalchemy.org/

To post example code, please provide an MCVE: Minimal, Complete, and Verifiable 
Example.  See  http://stackoverflow.com/help/mcve for a full description.
--- 
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sqlalchemy+unsubscr...@googlegroups.com.
To post to this group, send email to sqlalchemy@googlegroups.com.
Visit this group at https://groups.google.com/group/sqlalchemy.
For more options, visit https://groups.google.com/d/optout.

Reply via email to