FastAPI-MySql-SqlAlchemy Intermittent Broken Pipe Error
yavuzakyazici
HOBBYOP

2 years ago

Hi everyone

I keep getting BrokenPipeError: [Errno 32] Broken pipe error from MySQL using SqlAlchemy. It usually happens right when logging in or refreshing tokens. Meaning.. right at the first use after not using for a while. I am the only user plus a few test users so the API service is not continuously used. Did anybody see this? What could be the reason. Could it be a time out issue with MySql?

38 Replies

2 years ago

are you getting this error from the mysql service or your fastapi service?


yavuzakyazici
HOBBYOP

2 years ago

Sorry.. Project Id: dba6cd6e-5ea1-494c-b77f-81377e24fbde


yavuzakyazici
HOBBYOP

2 years ago

I think from SqlAlchemy


yavuzakyazici
HOBBYOP

2 years ago

Copying one by one takes long so I took a screenshot

1250695933990273000


yavuzakyazici
HOBBYOP

2 years ago

Sql Alchemy says:…


yavuzakyazici
HOBBYOP

2 years ago

OperationalError
Exception raised for errors that are related to the database’s operation and not necessarily under the control of the programmer, e.g. an unexpected disconnect occurs, the data source name is not found, a transaction could not be processed, a memory allocation error occurred during processing, etc.

This error is a DBAPI Error and originates from the database driver (DBAPI), not SQLAlchemy itself.


yavuzakyazici
HOBBYOP

2 years ago

1250696412421951500


yavuzakyazici
HOBBYOP

2 years ago

The link at the end of the screenshot


yavuzakyazici
HOBBYOP

2 years ago


yavuzakyazici
HOBBYOP

2 years ago

It usually happens, after first login if I have not used for a while. Or… again after not using right at the time of refreshing JWT tokens


2 years ago

are you connecting to the database via the private network?


yavuzakyazici
HOBBYOP

2 years ago

No.


yavuzakyazici
HOBBYOP

2 years ago

Should I?


yavuzakyazici
HOBBYOP

2 years ago

I guess I should


2 years ago

yes absolutely


yavuzakyazici
HOBBYOP

2 years ago

ok. Will try that. I would have to change the connection string for that.


2 years ago

yep!


yavuzakyazici
HOBBYOP

2 years ago

I am sure there is an example but If I cannot find it, I'll check out the docs


2 years ago

what is the variable you use for the database url?


yavuzakyazici
HOBBYOP

2 years ago

SQLALCHEMYDATABASEURL


2 years ago

what is the name of your mysql service


2 years ago

and is the mysql service in the same project as the fastapi service?


yavuzakyazici
HOBBYOP

2 years ago

MySQL-9_Bm


yavuzakyazici
HOBBYOP

2 years ago

Yes, they are in the same project


2 years ago

SQLALCHEMY_DATABASE_URL=${{MySQL-9_Bm.MYSQL_PRIVATE_URL}}


2 years ago

as easy as that


yavuzakyazici
HOBBYOP

2 years ago

Great.. Will do.. Thanks a lot for this


yavuzakyazici
HOBBYOP

2 years ago

OK. I kept everything the same on the SqlAlchemy connection string, except the URL. For the URL I just used the MySQL service name MySQL-9_Bm and not even the port number since it was suggested in the network settins of MySQL… Everything worked.


2 years ago

so what is SQLALCHEMY_DATABASE_URL set to now


2 years ago

sans the password


yavuzakyazici
HOBBYOP

2 years ago

So, If I don't get the broken pipe error again, this means it was because I was using the Newtork URL


yavuzakyazici
HOBBYOP

2 years ago

mysql+pymysql://username:mypassword@mysql-9bm/database_Name


yavuzakyazici
HOBBYOP

2 years ago

That is an example SqlAlchemy URL for pymysql driver


2 years ago

that works too


yavuzakyazici
HOBBYOP

2 years ago

Yeah, I don't know why I did not setup the link internally. Network URL does not make sense when I have the chance to use internal. Thanks again Brody


2 years ago

no problem!


yavuzakyazici
HOBBYOP

2 years ago

Yes, it did not happen. No broken pipe errors all day. I would have already gotten a few. So this fixed it 🙂 Thanks


2 years ago

happy to hear that!


Loading...