[
https://issues.apache.org/jira/browse/GOBBLIN-1921?focusedWorklogId=882999&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-882999
]
ASF GitHub Bot logged work on GOBBLIN-1921:
-------------------------------------------
Author: ASF GitHub Bot
Created on: 02/Oct/23 21:14
Start Date: 02/Oct/23 21:14
Worklog Time Spent: 10m
Work Description: umustafi commented on code in PR #3790:
URL: https://github.com/apache/gobblin/pull/3790#discussion_r1343170550
##########
gobblin-runtime/src/test/java/org/apache/gobblin/runtime/api/MysqlMultiActiveLeaseArbiterTest.java:
##########
@@ -141,14 +142,14 @@ public void testAcquireLeaseSingleParticipant() throws
Exception {
Assert.assertTrue(mysqlMultiActiveLeaseArbiter.recordLeaseSuccess(fourthObtainedStatus));
Assert.assertTrue(System.currentTimeMillis() -
fourthObtainedStatus.getEventTimestamp() < EPSILON);
MultiActiveLeaseArbiter.LeaseAttemptStatus fifthLaunchStatus =
- mysqlMultiActiveLeaseArbiter.tryAcquireLease(launchDagAction,
eventTimeMillis);
+ mysqlMultiActiveLeaseArbiter.tryAcquireLease(launchDagAction,
eventTimeMillis, false);
Assert.assertTrue(fifthLaunchStatus instanceof
MultiActiveLeaseArbiter.NoLongerLeasingStatus);
// Tests CASE 6 of no longer leasing a distinct event in DB
// Wait so this event is considered distinct and a new lease will be
acquired
Thread.sleep(EPSILON * 3/2);
MultiActiveLeaseArbiter.LeaseAttemptStatus sixthLaunchStatus =
- mysqlMultiActiveLeaseArbiter.tryAcquireLease(launchDagAction,
eventTimeMillis);
+ mysqlMultiActiveLeaseArbiter.tryAcquireLease(launchDagAction,
eventTimeMillis, false);
Review Comment:
Added all these test cases now (were still in progress before).
Issue Time Tracking
-------------------
Worklog Id: (was: 882999)
Time Spent: 1.5h (was: 1h 20m)
> Properly handle reminder events
> -------------------------------
>
> Key: GOBBLIN-1921
> URL: https://issues.apache.org/jira/browse/GOBBLIN-1921
> Project: Apache Gobblin
> Issue Type: Bug
> Components: gobblin-service
> Reporter: Urmi Mustafi
> Assignee: Abhishek Tiwari
> Priority: Major
> Time Spent: 1.5h
> Remaining Estimate: 0h
>
> Reminder flow trigger events were being improperly handled and interpreted as
> new events because they are triggered {{linger}} time after the original
> trigger where {{epsilon < linger}} and we use {{epsilon}} to determine event
> distinctness. With reminder events being considered distinct events, we were
> launching excess concurrent flows that were then being cancelled. Now we
> handle reminder events differently from normal event triggers to ensure
> they're properly evaluated. Because of db laundering, reminder events are
> easy to handle - if they're older than the currently worked upon event in the
> database they can be skipped and if they're equal to the current event in the
> database they are handled like normal. Reminder events should never be newer
> than the current event in the lease arbiter table because db laundering
> always results in increasing event times.Â
--
This message was sent by Atlassian Jira
(v8.20.10#820010)