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

ASF GitHub Bot logged work on BEAM-6872:
----------------------------------------

                Author: ASF GitHub Bot
            Created on: 11/Apr/19 02:47
            Start Date: 11/Apr/19 02:47
    Worklog Time Spent: 10m 
      Work Description: kennknowles commented on pull request #8104: 
[BEAM-6872] Add hook for user-defined JVM initialization in workers
URL: https://github.com/apache/beam/pull/8104#discussion_r274240770
 
 

 ##########
 File path: 
sdks/java/harness/src/test/java/org/apache/beam/fn/harness/FnHarnessTest.java
 ##########
 @@ -118,13 +156,26 @@ public void testLaunchFnHarnessAndTeardownCleanly() 
throws Exception {
                 .setUrl("localhost:" + controlServer.getPort())
                 .build();
 
-        FnHarness.main("id", options, loggingDescriptor, controlDescriptor);
-        assertThat(instructionResponses, contains(INSTRUCTION_RESPONSE));
+        when(environmentVariableMock.apply("LOGGING_API_SERVICE_DESCRIPTOR"))
+            .thenReturn(TextFormat.printToString(loggingDescriptor));
+        when(environmentVariableMock.apply("CONTROL_API_SERVICE_DESCRIPTOR"))
+            .thenReturn(TextFormat.printToString(controlDescriptor));
+
+        FnHarness.main(environmentVariableMock);
       } finally {
         controlServer.shutdownNow();
       }
     } finally {
       loggingServer.shutdownNow();
     }
+
+    // Verify that we first run onStartup functions before even reading the 
environment, and that
+    // we then call beforeProcessing functions before executing instructions.
+    InOrder inOrder =
+        inOrder(onStartupMock, beforeProcessingMock, environmentVariableMock, 
instructionResponses);
+    inOrder.verify(onStartupMock).run();
+    inOrder.verify(environmentVariableMock, atLeastOnce()).apply(any());
 
 Review comment:
   Don't do `verify` when the return value of calling the function is adequate 
verification.`
 
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


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

    Worklog Id:     (was: 225931)
    Time Spent: 4h 40m  (was: 4.5h)

> Add hook for user-defined JVM initialization in workers
> -------------------------------------------------------
>
>                 Key: BEAM-6872
>                 URL: https://issues.apache.org/jira/browse/BEAM-6872
>             Project: Beam
>          Issue Type: New Feature
>          Components: runner-dataflow
>            Reporter: Brian Hulette
>            Assignee: Brian Hulette
>            Priority: Minor
>          Time Spent: 4h 40m
>  Remaining Estimate: 0h
>
> Expose an interface for users to run some one-time initialization code when a 
> worker starts up.
> This can be useful for things like overriding the Default ZoneRulesProvider, 
> or setting up custom SSL providers.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to