Skip to content

Commit 88e1dbf

Browse files
committed
address feedback
1 parent d788c8d commit 88e1dbf

1 file changed

Lines changed: 10 additions & 4 deletions

File tree

pyiceberg/catalog/hive.py

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,9 @@
143143
class _HiveClient:
144144
"""Helper class to nicely open and close the transport."""
145145

146+
_transport: TTransport
147+
_ugi: Optional[List[str]]
148+
146149
def __init__(self, uri: str, ugi: Optional[str] = None, kerberos_auth: Optional[bool] = HIVE_KERBEROS_AUTH_DEFAULT):
147150
self._uri = uri
148151
self._kerberos_auth = kerberos_auth
@@ -167,17 +170,20 @@ def _client(self) -> Client:
167170

168171
def __enter__(self) -> Client:
169172
"""Make sure the transport is initialized and open."""
170-
if not self._transport:
171-
self._transport = self._init_thrift_transport()
172173
if not self._transport.isOpen():
173-
self._transport.open()
174+
try:
175+
self._transport.open()
176+
except TTransport.TTransportException:
177+
# reinitialize _transport
178+
self._transport = self._init_thrift_transport()
179+
self._transport.open()
174180
return self._client
175181

176182
def __exit__(
177183
self, exctype: Optional[Type[BaseException]], excinst: Optional[BaseException], exctb: Optional[TracebackType]
178184
) -> None:
179185
"""Close transport if it was opened."""
180-
if self._transport and self._transport.isOpen():
186+
if self._transport.isOpen():
181187
self._transport.close()
182188

183189

0 commit comments

Comments
 (0)