[ 
https://issues.apache.org/jira/browse/HIVE-26242?focusedWorklogId=785174&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-785174
 ]

ASF GitHub Bot logged work on HIVE-26242:
-----------------------------------------

                Author: ASF GitHub Bot
            Created on: 27/Jun/22 16:20
            Start Date: 27/Jun/22 16:20
    Worklog Time Spent: 10m 
      Work Description: deniskuzZ commented on PR #3303:
URL: https://github.com/apache/hive/pull/3303#issuecomment-1167566882

   I think we should do something like this:
   ````
       ExecutorService executorService = 
CompactorUtil.createExecutorWithThreadFactory(numberOfWorkers, 
"CompactionHeartbeat-executor-thread-%d");
       Ref<CompletableFuture<Void>> submittedTask = Ref.from(null);
       
       Future<?> scheduledTask = heartbeatExecutor.scheduleAtFixedRate(() -> {
         submittedTask.value = CompletableFuture.runAsync(heartbeater, 
executorService);
       }, initialDelay, period, TimeUnit.MILLISECONDS);
       tasks.put(txnId, new TaskWrapper(scheduledTask, submittedTask.value));
     }
   
   void stopHeartbeat(long txnId) throws InterruptedException {
       ....
       wrapper.scheduledTask.cancel(false);
       try {
         wrapper.submittedTask.get(initialDelay, 100);
       } finally {
         tasks.remove(txnId);
       }
       ....
     }
   ````




Issue Time Tracking
-------------------

    Worklog Id:     (was: 785174)
    Time Spent: 7.5h  (was: 7h 20m)

> Compaction heartbeater improvements
> -----------------------------------
>
>                 Key: HIVE-26242
>                 URL: https://issues.apache.org/jira/browse/HIVE-26242
>             Project: Hive
>          Issue Type: Improvement
>            Reporter: László Végh
>            Assignee: László Végh
>            Priority: Major
>              Labels: pull-request-available
>          Time Spent: 7.5h
>  Remaining Estimate: 0h
>
> The Compaction heartbeater should be improved the following ways:
>  * The metastore clients should be reused between heartbeats and closed only 
> at the end, when the transaction ends
>  * Instead of having a dedicated heartbeater thread for each Compaction 
> transaction, there should be shared a heartbeater executor where the 
> heartbeat tasks can be scheduled/submitted.



--
This message was sent by Atlassian Jira
(v8.20.7#820007)

Reply via email to