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

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

                Author: ASF GitHub Bot
            Created on: 10/Oct/23 18:20
            Start Date: 10/Oct/23 18:20
    Worklog Time Spent: 10m 
      Work Description: umustafi opened a new pull request, #3797:
URL: https://github.com/apache/gobblin/pull/3797

   Dear Gobblin maintainers,
   
   Please accept this PR. I understand that it will not be reviewed until I 
have checked off all the steps below!
   
   
   ### JIRA
   - [X] My PR addresses the following [Gobblin 
JIRA](https://issues.apache.org/jira/browse/GOBBLIN/) issues and references 
them in the PR title. For example, "[GOBBLIN-XXX] My Gobblin PR"
       - https://issues.apache.org/jira/browse/GOBBLIN-1926
   
   
   ### Description
   - [X] Here are some details about my PR, including screenshots (if 
applicable):
   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 `reminder event timestamp` since `linger` time 
will have passed and the event would be considered unique if using the former 
check.
   
   ### Tests
   - [X] My PR adds the following unit tests __OR__ does not need testing for 
this extremely good reason:
   Added sleep time to existing unit test to find it fails with original code 
and after bug fix it passes. 
   
   ### Commits
   - [X] My commits all reference JIRA issues in their subject lines, and I 
have squashed multiple commits if they address the same issue. In addition, my 
commits follow the guidelines from "[How to write a good git commit 
message](http://chris.beams.io/posts/git-commit/)":
       1. Subject is separated from body by a blank line
       2. Subject is limited to 50 characters
       3. Subject does not end with a period
       4. Subject uses the imperative mood ("add", not "adding")
       5. Body wraps at 72 characters
       6. Body explains "what" and "why", not "how"
   
   




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

            Worklog Id:     (was: 884334)
    Remaining Estimate: 0h
            Time Spent: 10m

> 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: 10m
>  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