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

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

                Author: ASF GitHub Bot
            Created on: 06/May/24 20:29
            Start Date: 06/May/24 20:29
    Worklog Time Spent: 10m 
      Work Description: phet commented on code in PR #3944:
URL: https://github.com/apache/gobblin/pull/3944#discussion_r1591507977


##########
gobblin-service/src/test/java/org/apache/gobblin/service/modules/orchestration/OrchestratorTest.java:
##########
@@ -81,12 +84,15 @@ public class OrchestratorTest {
 
   private FlowCatalog flowCatalog;
   private FlowSpec flowSpec;
-  private Orchestrator orchestrator;
+
+  private FlowStatusGenerator mockFlowStatusGenerator;
+  private DagManager mockDagManager;
+  private Orchestrator dagMgrNotFlowLaunchHandlerBasedOrchestrator;
   private static final String TEST_USER = "testUser";
   private static final String TEST_PASSWORD = "testPassword";
   private static final String TEST_TABLE = "quotas";
 
-  @BeforeClass
+  @BeforeMethod

Review Comment:
   unfortunately lots of "testing smells" here.
   
   first off, class-level test init doesn't play well w/ verifying mock 
interactions, since we want a fresh count for the exec of each test method.  
relatedly it also complicates - if not outright foreclosing on - parallel test 
method execution.
   
   secondly, the `@Test(dependsOnMethod = ...)` structuring is a testing 
anti-pattern that here obscured that `setup`-style init had been formulated 
instead as test methods; see - `createTopologySpec()`.  a major clue of 
something wrong is that particular "@Test" method does not even exercise 
`Orchestrator`, our class-under-test!
   
   for now, I've fixed this suite to use per-method setup/teardown best 
practices, but left it as a TODO to figure out where `createTopologySpec` 
actually belongs.  `createFlowSpec` and `deleteFlowSpec` also deserve attention 
in this same regard.





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

    Worklog Id:     (was: 917932)
    Time Spent: 50m  (was: 40m)

> adhoc flow failure due to concurrent execs must be removed from flow catalog
> ----------------------------------------------------------------------------
>
>                 Key: GOBBLIN-2062
>                 URL: https://issues.apache.org/jira/browse/GOBBLIN-2062
>             Project: Apache Gobblin
>          Issue Type: New Feature
>          Components: gobblin-service
>            Reporter: Kip Kohn
>            Assignee: Abhishek Tiwari
>            Priority: Major
>          Time Spent: 50m
>  Remaining Estimate: 0h
>
> the Orchestrator + DagManager MUST remove adhoc flows that violate concurrent 
> execs from the flow catalog.  otherwise gaas will continue to return '409 
> Conflict' to each subsequent attempt to create an adhoc flow with the same 
> flowGroup+flowName.  this is despite the fact that the flow (which still 
> remains in the FlowCatalog, when it shouldn't be) already has the status 
> FAILED, which is a "final status".



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

Reply via email to