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

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

                Author: ASF GitHub Bot
            Created on: 07/Feb/23 23:18
            Start Date: 07/Feb/23 23:18
    Worklog Time Spent: 10m 
      Work Description: umustafi commented on code in PR #3636:
URL: https://github.com/apache/gobblin/pull/3636#discussion_r1099374152


##########
gobblin-service/src/main/java/org/apache/gobblin/service/modules/scheduler/GobblinServiceJobScheduler.java:
##########
@@ -330,8 +330,9 @@ public AddSpecResponse onAddSpec(Spec addedSpec) {
 
     // Check quota limits against run immediately flows or adhoc flows before 
saving the schedule
     // In warm standby mode, this quota check will happen on restli API layer 
when we accept the flow
-    if (!this.warmStandbyEnabled && 
(!jobConfig.containsKey(ConfigurationKeys.JOB_SCHEDULE_KEY) || 
PropertiesUtils.getPropAsBoolean(jobConfig, 
ConfigurationKeys.FLOW_RUN_IMMEDIATELY, "false"))) {
-      // This block should be reachable only for the first execution for the 
adhoc flows (flows that either do not have a schedule or have 
runImmediately=true.
+    if (!this.warmStandbyEnabled && 
!jobConfig.containsKey(ConfigurationKeys.JOB_SCHEDULE_KEY)) {
+      // This block should be reachable only for the execution for the adhoc 
flows
+      // For flow that has scheduler but run-immediately set to be true, we 
won't check teh quota as we will use a different execution id later

Review Comment:
   typo `the`



##########
gobblin-service/src/main/java/org/apache/gobblin/service/modules/scheduler/GobblinServiceJobScheduler.java:
##########
@@ -330,8 +330,9 @@ public AddSpecResponse onAddSpec(Spec addedSpec) {
 
     // Check quota limits against run immediately flows or adhoc flows before 
saving the schedule

Review Comment:
   lets update this to be adhoc flows only



##########
gobblin-service/src/main/java/org/apache/gobblin/service/modules/scheduler/GobblinServiceJobScheduler.java:
##########
@@ -330,8 +330,9 @@ public AddSpecResponse onAddSpec(Spec addedSpec) {
 
     // Check quota limits against run immediately flows or adhoc flows before 
saving the schedule
     // In warm standby mode, this quota check will happen on restli API layer 
when we accept the flow

Review Comment:
   afaik 
`[FlowConfigV2ResourceLocalHandler](https://github.com/apache/gobblin/blob/69f3f9c33c9679d723c447fbe626db8f1b7afa9e/gobblin-service/src/main/java/org/apache/gobblin/service/modules/restli/GobblinServiceFlowConfigV2ResourceHandlerWithWarmStandby.java#L106)`
  and 
`[FlowCatalog](https://github.com/apache/gobblin/blob/69f3f9c33c9679d723c447fbe626db8f1b7afa9e/gobblin-runtime/src/main/java/org/apache/gobblin/runtime/spec_catalog/FlowCatalog.java#L403
 )` are not doing quota check on adding the spec. Where do we do the check in 
API layer? 





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

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

> Fix bug in quota manager of gobblinservice
> ------------------------------------------
>
>                 Key: GOBBLIN-1773
>                 URL: https://issues.apache.org/jira/browse/GOBBLIN-1773
>             Project: Apache Gobblin
>          Issue Type: Improvement
>            Reporter: Zihan Li
>            Priority: Major
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> We used to check the quota when we accept flow for ad-hoc flow and run 
> immediately flow. But we only use the same execution id for ad-hoc flow. So 
> for a run immediately flow, we will check quota once with a random execution 
> id, and then really run the job with a different execution id and forget the 
> first one. This will cause us to double-check the quota for a run immediately 
> flow and never release one of them. 



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

Reply via email to