We are using openshift which uses HAProxy.  What I am looking for is why 
the connect_timeout may not being applied so that we can retry the call 
after re-connect to the other database pod.  

It is taking *up to two minutes* before I get 
the psycopg2.OperationalError.  It's very strange.  The code will 
automatically retry and work after this error shows up.  I am guessing but 
I don't think my setup is passing the connect_timeout to libpq.

Thanks

On Tuesday, 25 February 2020 10:37:19 UTC-8, Mike Bayer wrote:
>
> "could not connect" means your server is unreachable from a network 
> standpoint.  You want to make sure the server is running and that it is 
> routable over the network you are trying to connect from.
>
> in an HA scenario, depending on what software is in use and how it does 
> switchover, there can be long network lags, such as if it is moving a VIP 
> from one machine to another.  You'd want to be using a proxy server such as 
> HAProxy or PGBouncer rather than relying upon changing network routing.
>
>
>
> On Tue, Feb 25, 2020, at 12:07 PM, Karim Gillani wrote:
>
> Please note I am using a Pool.  And some other connections seem to recover 
> fine.  After two minutes I get this message and things start working again:
>
> ==> AE K:11oh392; T:1; E:(psycopg2.OperationalError) could not connect to 
> server: Connection timed out> Is the server running on host 
> "patroni-mastertheq" (172.50.46.180) and accepting> TCP/IP connections on 
> port 5432?>>(Background on this error at: http://sqlalche.me/e/e3q8 ) 
> Thanks
> Karim
>
> On Tuesday, 25 February 2020 08:49:19 UTC-8, Karim Gillani wrote:
>
> I am having an issue where when my HA postgres database drops and is 
> automatically moved to a backup database, the timeout doesn't seem to be 
> working.
>
> My config.py shows the following:
>
> SQLALCHEMY_DATABASE_URI = 
> '{engine}://{user}:{password}@{host}:{port}/{name}'.format(
>
> engine=DB_ENGINE,
>
> user=DB_USER,
>
> password=DB_PASSWORD,
>
> host=DB_HOST,
>
> port=DB_PORT,
>
> name=DB_NAME,
>
> )
> SQLALCHEMY_ENGINE_OPTIONS
> = { 'pool_size' : pool_size, 'max_overflow' : max_overflow, 
> 'pool_pre_ping' : True, 'pool_timeout': DB_POOL_TIMEOUT, 'pool_recycle': 
> 3600, 'connect_args': { 'connect_timeout': 5, 'options' : '-c 
> statement_timeout=5000' } }    
>
> Is there something I set wrong?  My timeout seems to be about 2 minutes 
> instead of 5 secs.
>
> Any help would be appreciated,
>
> Thanks
> Karim
>
>
> --
> 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 sqlal...@googlegroups.com <javascript:>.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/sqlalchemy/ab3e5681-d9be-468f-8160-97bddcca57fb%40googlegroups.com
>  
> <https://groups.google.com/d/msgid/sqlalchemy/ab3e5681-d9be-468f-8160-97bddcca57fb%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>
>
>

-- 
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 view this discussion on the web visit 
https://groups.google.com/d/msgid/sqlalchemy/06c8e91e-4f36-4192-90d0-acbe840478ef%40googlegroups.com.

Reply via email to