1515# specific language governing permissions and limitations
1616# under the License.
1717import getpass
18- import logging
1918import socket
2019import time
2120from types import TracebackType
7776 TableAlreadyExistsError ,
7877 WaitingForLockException ,
7978)
79+ from pyiceberg .logger import get_logger
8080from pyiceberg .partitioning import UNPARTITIONED_PARTITION_SPEC , PartitionSpec
8181from pyiceberg .schema import Schema , SchemaVisitor , visit
8282from pyiceberg .serializers import FromInputFile
136136DEFAULT_LOCK_CHECK_MAX_WAIT_TIME = 60 # 1 min
137137DEFAULT_LOCK_CHECK_RETRIES = 4
138138
139- logger = logging .getLogger (__name__ )
139+
140+ logger = get_logger (__name__ )
140141
141142
142143class _HiveClient :
@@ -464,27 +465,28 @@ def _create_lock_request(self, database_name: str, table_name: str) -> LockReque
464465
465466 def _wait_for_lock (self , database_name : str , table_name : str , lockid : int , open_client : Client ) -> LockResponse :
466467 def _on_wait_for_lock_fail (state : RetryCallState ) -> None :
467- raise WaitingForLockException (
468- f"Failed after { state . attempt_number } attempts to wait on lock for { database_name } . { table_name } "
469- )
468+ msg = f"Failed after { state . attempt_number } attempts to wait on lock for ` { database_name } . { table_name } `"
469+ logger . debug ( msg )
470+ raise WaitingForLockException ( msg )
470471
471472 @retry (
472473 retry = retry_if_exception_type (WaitingForLockException ),
473474 wait = wait_exponential (multiplier = 2 , min = self ._lock_check_min_wait_time , max = self ._lock_check_max_wait_time ),
474475 stop = stop_after_attempt (self ._lock_check_retries ),
475- before = lambda state : logger .warning (f"({ state .attempt_number } ) Waiting on lock for { database_name } .{ table_name } ..." ),
476+ before = lambda state : logger .debug (f"({ state .attempt_number } ) Waiting on lock for ` { database_name } .{ table_name } ` ..." ),
476477 retry_error_callback = _on_wait_for_lock_fail ,
477478 )
478479 def _do_wait_for_lock () -> LockResponse :
479480 response : LockResponse = open_client .check_lock (CheckLockRequest (lockid = lockid ))
480481 if response .state == LockState .ACQUIRED :
482+ logger .debug ("Acquired lock after waiting." )
481483 return response
482484 elif response .state == LockState .WAITING :
483- msg = f"Waiting on lock for { database_name } .{ table_name } ..."
484- logger .warning (msg )
485- raise WaitingForLockException (msg )
485+ raise WaitingForLockException ()
486486 else :
487- raise CommitFailedException (f"Failed to check lock for { database_name } .{ table_name } , state: { response .state } " )
487+ raise CommitFailedException (
488+ f"Failed to check lock for { database_name } .{ table_name } , lock state: { response .state } "
489+ )
488490
489491 return _do_wait_for_lock ()
490492
@@ -511,13 +513,14 @@ def commit_table(
511513 # https://github.com/apache/hive/blob/master/standalone-metastore/metastore-common/src/main/thrift/hive_metastore.thrift#L1232
512514 with self ._client as open_client :
513515 lock : LockResponse = open_client .lock (self ._create_lock_request (database_name , table_name ))
514-
515516 try :
516517 if lock .state != LockState .ACQUIRED :
517518 if lock .state == LockState .WAITING :
518519 self ._wait_for_lock (database_name , table_name , lock .lockid , open_client )
519520 else :
520- raise CommitFailedException (f"Failed to acquire lock for { table_identifier } , state: { lock .state } " )
521+ raise CommitFailedException (f"Failed to acquire lock for { table_identifier } , lock state: { lock .state } " )
522+ else :
523+ logger .debug ("Acquired lock on initial attempt." )
521524
522525 hive_table : Optional [HiveTable ]
523526 current_table : Optional [Table ]
@@ -558,7 +561,7 @@ def commit_table(
558561 )
559562 self ._create_hive_table (open_client , hive_table )
560563 except WaitingForLockException as e :
561- raise CommitFailedException (f"Failed to acquire lock for { table_identifier } , state: { lock .state } " ) from e
564+ raise CommitFailedException (f"Failed to acquire lock for { table_identifier } , lock state: { lock .state } " ) from e
562565 finally :
563566 open_client .unlock (UnlockRequest (lockid = lock .lockid ))
564567
0 commit comments