TileDB
TileDB copied to clipboard
S3 multi-part cleanup in destructor path
The purpose of this issue is to improve the following sequence which can cause network calls in the tiledb::StorageManager destructor path:
- ~StorageManager
- calls
VFS::terminate - calls
S3::disconnect
Merging https://github.com/TileDB-Inc/TileDB/pull/1325 will mitigate the slowdown reported in https://github.com/TileDB-Inc/TileDB/issues/1324 in the common case when there are no unfinished multipart uploads.
However, the clean up code in the ~StorageManager destructor path will still be reachable in at least the following two situations co-occurring with incomplete uploads:
- per @joe-maley, upon error occurring in the
tiledb_vfs_writepath, which is a user-facing API. - upon error during a global order write