I'm not 100% sure that the title here, is accurate, as it involves a bit more understanding of what's happening under the hood with asyncssh than I have so far.
I'm also not sure if this is intended behaviour vs actually a bug (sorry!)
The issue is something like this:
fs = SSHFileSystem(host, username=username, password=password)
for filepath in long_list_of_files:
with fs.open(filepath) as file:
_ = file.read()
If this runs for a long time, the connection might be shut down from the other side throwing up an asnycssh.sftp.SFTPNoConnection error, so far this is all as expected.
The bit that seems unusual is that something like this:
fs = SSHFileSystem(host, username=username, password=password)
for filepath in long_list_of_files:
try:
with fs.open(filepath) as file:
_ = file.read()
except SFTPNoConnection:
new_fs = SSHFileSystem(host, username=username, password=password)
with new_fs.open(filepath) as file:
_ = file.read()
The new_fs will always throw up the same SFTPNoConnection error, which seems to be because something behind the scenes is being cached?
Notably, the following works by clearing the cache before reconnecting:
fs = SSHFileSystem(host, username=username, password=password)
for filepath in long_list_of_files:
try:
with fs.open(filepath) as file:
_ = file.read()
except SFTPNoConnection:
fs.clear_instance_cache()
new_fs = SSHFileSystem(host, username=username, password=password)
with new_fs.open(filepath) as file:
_ = file.read()
I'd assume the expected behaviour would be that initialising a new SSHFileSystem would create a fully new connection - is this intentional behaviour?
I'm not 100% sure that the title here, is accurate, as it involves a bit more understanding of what's happening under the hood with asyncssh than I have so far.
I'm also not sure if this is intended behaviour vs actually a bug (sorry!)
The issue is something like this:
If this runs for a long time, the connection might be shut down from the other side throwing up an
asnycssh.sftp.SFTPNoConnectionerror, so far this is all as expected.The bit that seems unusual is that something like this:
The new_fs will always throw up the same
SFTPNoConnectionerror, which seems to be because something behind the scenes is being cached?Notably, the following works by clearing the cache before reconnecting:
I'd assume the expected behaviour would be that initialising a new SSHFileSystem would create a fully new connection - is this intentional behaviour?