SinghAsDev commented on code in PR #5036:
URL: https://github.com/apache/iceberg/pull/5036#discussion_r904002422
##########
hive-metastore/src/main/java/org/apache/iceberg/hive/HiveTableOperations.java:
##########
@@ -631,4 +647,40 @@ private static boolean hiveEngineEnabled(TableMetadata
metadata, Configuration c
return conf.getBoolean(ConfigProperties.ENGINE_HIVE_ENABLED,
TableProperties.ENGINE_HIVE_ENABLED_DEFAULT);
}
+
+ private static class HiveLockHeartbeat implements Runnable {
+ private final ClientPool<IMetaStoreClient, TException> hmsClients;
+ private final long lockId;
+ private final long intervalMs;
+ private ScheduledFuture<?> future;
+
+ HiveLockHeartbeat(ClientPool<IMetaStoreClient, TException> hmsClients,
long lockId, long intervalMs) {
+ this.hmsClients = hmsClients;
+ this.lockId = lockId;
+ this.intervalMs = intervalMs;
+ this.future = null;
+ }
+
+ @Override
+ public void run() {
+ try {
+ hmsClients.run(client -> {
+ client.heartbeat(0, lockId);
+ return null;
+ });
+ } catch (TException | InterruptedException e) {
+ LOG.error("Fail to heartbeat for lock: {}", lockId, e);
Review Comment:
@pvary I agree that this added complexity does not really buy us much. All
the lengthy operations I have seen that needed heartbeats are within the alter
table operation, so very unlikely we will see heartbeat failure before alter
operation. After alter table is done, any issue with lock, we will anyway see
in the unlock operation. As such, I still think we likely don't need the added
complexity. If we agree on this reasoning, I can add this info in the code as
well.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]