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

ASF GitHub Bot logged work on GOBBLIN-1942:
-------------------------------------------

                Author: ASF GitHub Bot
            Created on: 30/Oct/23 18:01
            Start Date: 30/Oct/23 18:01
    Worklog Time Spent: 10m 
      Work Description: umustafi commented on code in PR #3812:
URL: https://github.com/apache/gobblin/pull/3812#discussion_r1376620451


##########
gobblin-runtime/src/main/java/org/apache/gobblin/runtime/api/MysqlMultiActiveLeaseArbiter.java:
##########
@@ -218,52 +213,28 @@ public MysqlMultiActiveLeaseArbiter(Config config) throws 
IOException {
       throw new IOException("Table creation failure for " + 
leaseArbiterTableName, e);
     }
     initializeConstantsTable();
-    runRetentionOnArbitrationTable();
+
+    // Periodically deletes all rows in the table with event_timestamp older 
than the retention period defined by config.
+    mySQLStoreUtils.runSqlCommandWithInterval(thisTableRetentionStatement, 4, 
TimeUnit.HOURS);
+
     log.info("MysqlMultiActiveLeaseArbiter initialized");
   }
 
   // Initialize Constants table if needed and insert row into it if one does 
not exist
   private void initializeConstantsTable() throws IOException {
     String createConstantsStatement = 
String.format(CREATE_CONSTANTS_TABLE_STATEMENT, this.constantsTableName);
-    withPreparedStatement(createConstantsStatement, createStatement -> 
createStatement.executeUpdate(), true);
+    mySQLStoreUtils.withPreparedStatement(createConstantsStatement, 
createStatement -> createStatement.executeUpdate(),

Review Comment:
   Yes, I avoided this approach because almost all of our mysql store classes 
extend another base class which is meant to have different store 
implementations (although we typically use mysql). 





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

    Worklog Id:     (was: 887910)
    Time Spent: 0.5h  (was: 20m)

> Create MySQL util class for re-usable methods & enable MysqlDagActionStore 
> retention
> ------------------------------------------------------------------------------------
>
>                 Key: GOBBLIN-1942
>                 URL: https://issues.apache.org/jira/browse/GOBBLIN-1942
>             Project: Apache Gobblin
>          Issue Type: Bug
>          Components: gobblin-service
>            Reporter: Urmi Mustafi
>            Assignee: Abhishek Tiwari
>            Priority: Major
>          Time Spent: 0.5h
>  Remaining Estimate: 0h
>
> Defines a new class {{MySQLStoreUtils}} used for common functionality between 
> MySQL based implementations of stores. It includes a new method to run a SQL 
> command in a {{ScheduledThreadPoolExecutor}} using {{interval T}} which is 
> used for retention on the {{MysqlDagActionStore}} and 
> {{{}MysqlMultiActiveLeaseArbiter{}}}.  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to