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

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

                Author: ASF GitHub Bot
            Created on: 10/Oct/23 21:16
            Start Date: 10/Oct/23 21:16
    Worklog Time Spent: 10m 
      Work Description: umustafi commented on code in PR #3797:
URL: https://github.com/apache/gobblin/pull/3797#discussion_r1353434014


##########
gobblin-runtime/src/main/java/org/apache/gobblin/runtime/api/MysqlMultiActiveLeaseArbiter.java:
##########
@@ -359,10 +366,13 @@ else if (leaseValidityStatus == 2) {
    * Checks leaseArbiterTable for an existing entry for this flow action and 
event time
    */
   protected Optional<GetEventInfoResult> 
getExistingEventInfo(DagActionStore.DagAction flowAction,
-      boolean isReminderEvent) throws IOException {
+      boolean isReminderEvent, long eventTimeMillis) throws IOException {
     return withPreparedStatement(isReminderEvent ? 
thisTableGetInfoStatementForReminder : thisTableGetInfoStatement,
         getInfoStatement -> {
           int i = 0;
+          if (isReminderEvent) {

Review Comment:
   This is using the timestamp for comparison to the db event timestamp only 
for reminder event. Otherwise for _original events _ we do db laundering and 
use current timestamp in db.





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

    Worklog Id:     (was: 884385)
    Time Spent: 40m  (was: 0.5h)

> Reminder event lease acquisition epsilon comparison fix
> -------------------------------------------------------
>
>                 Key: GOBBLIN-1926
>                 URL: https://issues.apache.org/jira/browse/GOBBLIN-1926
>             Project: Apache Gobblin
>          Issue Type: Bug
>          Components: gobblin-service
>            Reporter: Urmi Mustafi
>            Assignee: Abhishek Tiwari
>            Priority: Major
>          Time Spent: 40m
>  Remaining Estimate: 0h
>
> For a large number of reminder events, we are still seeing the event be 
> considered distinct and launching a separate execution. Analysis of the 
> reminder events being considered unique shows that reminder eventTimestamps 
> that are well in the past are handled properly by this 
> [case|https://github.com/apache/gobblin/blob/e4cae2e3c559691f8b8873f81ab805c8a6482fd2/gobblin-runtime/src/main/java/org/apache/gobblin/runtime/api/MysqlMultiActiveLeaseArbiter.java#L296].
>  However, a large number of reminder events fall into the case of being 
> exactly equal to the timestamp in the database. Those are handled improperly 
> by falling into [CASE 
> 6|https://github.com/apache/gobblin/blob/e4cae2e3c559691f8b8873f81ab805c8a6482fd2/gobblin-runtime/src/main/java/org/apache/gobblin/runtime/api/MysqlMultiActiveLeaseArbiter.java#L347]
>  of the same event time lease completed yet we were considering the reminder 
> event to be unique. This is because we were comparing the _current timestamp_ 
> in the database to the _db event timestamp_ to determine uniqueness. However, 
> we always want to utilize the _event timestamp_ the reminder is for, since 
> _linger_ time will have passed and the event would be considered unique if 
> using the former check. 



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

Reply via email to