datajoint / datajoint-docs-original

https://docs.datajoint.org
Other
2 stars 13 forks source link

document location reference server settings, possibly how to override timeouts #263

Open ixcat opened 3 years ago

ixcat commented 3 years ago

from slack

The timeout settings are somwhat workload specific - don't want the timeout to be too quick or jobs will fail like this, but also don't want them too long or other jobs may end up waiting on things that are stuck, etc.
our general recommended settings are here:
https://github.com/datajoint/mysql-docker/blob/master/config/my.cnf
wait/interactive are for idle sessions
net read/net write are timeouts waiting on data to/from a partially entered query (or transaction, as here)
the lock ones are between jobs (waiting for a record to be available - e.g. 2x downstream tables trying to update foreign key references back to master, etc)
this one looks like the net read/write timeouts.
variables can be seen with 'show variables like '%something%' or sometimes 'show global variables like '%something%' (depends on which, i usually just try both)
usually it's good to set a system wide policy, but when needed some can be set on a per-session basis with a query ('set variable something=value') so in datajoint:
dj.conn().query('set variable net_read_timeout=3600;').fetchall()
this particular error is probably the net_read/net_write or maybe wait/interactive ones since there is no lock related error message, and also since the connection disappeared after the connection was idle during the make call