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

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

                Author: ASF GitHub Bot
            Created on: 01/Mar/19 00:59
            Start Date: 01/Mar/19 00:59
    Worklog Time Spent: 10m 
      Work Description: ihji commented on pull request #7845: [BEAM-6666] 
subprocess.Popen hangs after use of gRPC channel
URL: https://github.com/apache/beam/pull/7845#discussion_r261447318
 
 

 ##########
 File path: sdks/python/build.gradle
 ##########
 @@ -456,10 +453,39 @@ project.task('crossLanguagePythonJava') {
   dependsOn 'setupVirtualenv'
   dependsOn ':beam-sdks-java-container:docker'
   dependsOn ':beam-runners-core-construction-java:buildTestExpansionServiceJar'
+
   doLast {
+    def testServiceExpansionJar = 
project(":beam-runners-core-construction-java:").buildTestExpansionServiceJar.archivePath
+    exec {
+      executable 'sh'
+      args '-c', ". ${project.ext.envdir}/bin/activate && pip install -e 
.[test] && python -m apache_beam.transforms.external_test 
--expansion_service_jar=${testServiceExpansionJar}"
+    }
+  }
+}
+
+project.task('crossLanguagePortableWordCount') {
+  dependsOn 'setupVirtualenv'
+  dependsOn ':beam-runners-flink_2.11-job-server-container:docker'
+  dependsOn ':beam-sdks-python-container:docker'
+  dependsOn ':beam-sdks-java-container:docker'
+  dependsOn ':beam-runners-core-construction-java:buildTestExpansionServiceJar'
+
+  doLast {
+    def testServiceExpansionJar = 
project(":beam-runners-core-construction-java:").buildTestExpansionServiceJar.archivePath
 
 Review comment:
   Thanks for your comment. IMHO, `core-construction-java` is the better place 
for `ExpansionService` since `ExpansionService` mainly works during the 
pipeline construction phase. And, because `java-fn-execution` depends on 
`core-construction-java`, we can still bundle `ExpansionService` with 
`JobServer` without moving it. When we put `ExpansionService` in 
`java-fn-execution`, it will block us from creating a class in 
`core-construction-java` which uses `ExpansionService` class (e.g., external 
transform for Java SDK and its test).
   
   
 
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on 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: 206164)
    Time Spent: 2h  (was: 1h 50m)

> subprocess.Popen hangs after use of gRPC channel
> ------------------------------------------------
>
>                 Key: BEAM-6666
>                 URL: https://issues.apache.org/jira/browse/BEAM-6666
>             Project: Beam
>          Issue Type: Bug
>          Components: sdk-py-core
>            Reporter: Heejong Lee
>            Assignee: Heejong Lee
>            Priority: Major
>          Time Spent: 2h
>  Remaining Estimate: 0h
>
> subprocess.Popen randomly hangs after use of gRPC channel. This makes 
> cross-language wordcount test fail because the test uses Popen to launch 
> Dockerized Flink job server in `PortableRunner.run_pipeline` after use of 
> gRPC channel for the expansion service in `ExternalTransform.expand`. Few 
> symptoms are listed below:
>  * Hanging at `docker_path = check_output(['which', 'docker']).strip()`
>  * Hanging at `self.docker_process = Popen(cmd)`
>  * Crashing with `assertion failed: pthread_mutex_lock(mu) == 0` message
>  



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

Reply via email to