[
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)