Skip to content

Commit 306feb5

Browse files
committed
Error handling: Forward connection errors from multiple servers
1 parent 9140e7b commit 306feb5

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

src/crate/client/connection.py

+4-4
Original file line numberDiff line numberDiff line change
@@ -198,20 +198,20 @@ def get_blob_container(self, container_name):
198198

199199
def _lowest_server_version(self):
200200
lowest = None
201-
last_connection_error = None
201+
connection_errors = []
202202
for server in self.client.active_servers:
203203
try:
204204
_, _, version = self.client.server_infos(server)
205205
version = Version(version)
206206
except ConnectionError as ex:
207-
last_connection_error = ex
207+
connection_errors.append(ex)
208208
continue
209209
except (ValueError, InvalidVersion):
210210
continue
211211
if not lowest or version < lowest:
212212
lowest = version
213-
if lowest is None and last_connection_error is not None:
214-
raise last_connection_error
213+
if lowest is None and connection_errors:
214+
raise ConnectionError(str(connection_errors))
215215
return lowest or Version("0.0.0")
216216

217217
def __repr__(self):

0 commit comments

Comments
 (0)