[ 
https://issues.apache.org/jira/browse/OOZIE-3646?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17488722#comment-17488722
 ] 

Dénes Bodó commented on OOZIE-3646:
-----------------------------------

{noformat}
16:10:35 Testing JIRA OOZIE-3646
16:10:35 
16:10:35 Cleaning local git workspace
16:10:35 
16:10:35 ----------------------------
16:10:35 
16:10:35 +1 PATCH_APPLIES
16:10:35 +1 CLEAN
16:10:35 -1 RAW_PATCH_ANALYSIS
16:10:35     +1 the patch does not introduce any @author tags
16:10:35     +1 the patch does not introduce any tabs
16:10:35     +1 the patch does not introduce any trailing spaces
16:10:35     +1 the patch does not introduce any star imports
16:10:35     -1 the patch contains 6 line(s) longer than 132 characters
16:10:35     +1 the patch adds/modifies 1 testcase(s)
16:10:35 +1 RAT
16:10:35     +1 the patch does not seem to introduce new RAT warnings
16:10:35 +1 JAVADOC
16:10:35     +1 Javadoc generation succeeded with the patch
16:10:35     +1 the patch does not seem to introduce new Javadoc warning(s)
16:10:35 +1 COMPILE
16:10:35     +1 HEAD compiles
16:10:35     +1 patch compiles
16:10:35     +1 the patch does not seem to introduce new javac warnings
16:10:35 -1 There are [6] new bugs found below threshold in total that must be 
fixed.
16:10:35     +1 There are no new bugs found in [client].
16:10:35     +1 There are no new bugs found in [webapp].
16:10:35     +1 There are no new bugs found in [fluent-job/fluent-job-api].
16:10:35     +1 There are no new bugs found in [server].
16:10:35     -1 There are [5] new bugs found below threshold in [core] that 
must be fixed.
16:10:35     You can find the SpotBugs diff here (look for the red and orange 
ones): core/findbugs-new.html
16:10:35     The most important SpotBugs errors are:
16:10:35     At BulkJPAExecutor.java:[line 206]: This use of 
javax/persistence/EntityManager.createQuery(Ljava/lang/String;)Ljavax/persistence/Query;
 can be vulnerable to SQL/JPQL injection
16:10:35     At BulkJPAExecutor.java:[line 176]: At BulkJPAExecutor.java:[line 
175]
16:10:35     At BulkJPAExecutor.java:[line 205]: At BulkJPAExecutor.java:[line 
199]
16:10:35     This use of 
javax/persistence/EntityManager.createQuery(Ljava/lang/String;)Ljavax/persistence/Query;
 can be vulnerable to SQL/JPQL injection: At BulkJPAExecutor.java:[line 206]
16:10:35     At BulkJPAExecutor.java:[line 111]: At BulkJPAExecutor.java:[line 
127]
16:10:35     +1 There are no new bugs found in [sharelib/spark].
16:10:35     +1 There are no new bugs found in [sharelib/hive2].
16:10:35     +1 There are no new bugs found in [sharelib/distcp].
16:10:35     +1 There are no new bugs found in [sharelib/streaming].
16:10:35     +1 There are no new bugs found in [sharelib/hive].
16:10:35     +1 There are no new bugs found in [sharelib/git].
16:10:35     +1 There are no new bugs found in [sharelib/hcatalog].
16:10:35     +1 There are no new bugs found in [sharelib/pig].
16:10:35     -1 There are [1] new bugs found below threshold in 
[sharelib/oozie] that must be fixed.
16:10:35     You can find the SpotBugs diff here (look for the red and orange 
ones): sharelib/oozie/findbugs-new.html
16:10:35     The most important SpotBugs errors are:
16:10:35     At ShellMain.java:[line 93]: This usage of 
java/lang/ProcessBuilder.<init>(Ljava/util/List;)V can be vulnerable to 
Command Injection
16:10:35     At ShellMain.java:[line 91]: At ShellMain.java:[line 90]
16:10:35     At ShellMain.java:[line 92]
16:10:35     +1 There are no new bugs found in [sharelib/sqoop].
16:10:35     +1 There are no new bugs found in [tools].
16:10:35     +1 There are no new bugs found in [docs].
16:10:35     +1 There are no new bugs found in [examples].
16:10:35 +1 BACKWARDS_COMPATIBILITY
16:10:35     +1 the patch does not change any JPA 
Entity/Colum/Basic/Lob/Transient annotations
16:10:35     +1 the patch does not modify JPA files
16:10:35 +1 TESTS
16:10:35     Tests run: 3216
16:10:35     Tests failed at first run:
16:10:35 TestCoordActionInputCheckXCommand#testNone
16:10:35 TestBlockingInputStream#testFailure
16:10:35     For the complete list of flaky tests, see TEST-SUMMARY-FULL files.
16:10:35 +1 DISTRO
16:10:35     +1 distro tarball builds with the patch 
16:10:35 +1 MODERNIZER
16:10:35 
16:10:35 ----------------------------
16:10:35 -1 Overall result, please check the reported -1(s) {noformat}
Only {{-1 the patch contains 6 line(s) longer than 132 characters}} left from 
patch set 2. If those are fixed and uploaded as OOZIE-3646-003.patch I will 
commit your change, [~zuston] .

> Possible dead-lock in SignalXCommand
> ------------------------------------
>
>                 Key: OOZIE-3646
>                 URL: https://issues.apache.org/jira/browse/OOZIE-3646
>             Project: Oozie
>          Issue Type: Bug
>            Reporter: Junfan Zhang
>            Assignee: Junfan Zhang
>            Priority: Major
>         Attachments: OOZIE-3646-002.patch, OOZIE-3646.patch-1, 
> OOZIE-3646.patch-2, a1.png
>
>
> The limited thread execution mechanism aims to solve the dead-lock when all 
> active threads are executing the SignalXCommand's invokeAll method.
> h2. Dead-lock when to happen
> Assuming that Oozie CallableQueue thread pool size is 120, when all threads 
> are executing the {{SignalXCommand.startForkedActions}} method, a deadlock 
> occurs.
> Because in {{SignalXCommand.startForkedActions}}, the code of 
> {code:java}
> List<Future<ActionExecutorContext>> futures = 
> Services.get().get(CallableQueueService.class)
>                     .invokeAll(tasks);
> {code}
>  will be sync executed, however now all callableQueue threads are busy.
> h2. Solution
> 1. Need to limit directly invokeAll call when the num of rest threads is less 
> than the tasks
> 2. To obtain correct active threads number in callableQueue, the 
> SignalXCommand.class lock is needed.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to