[ https://issues.apache.org/jira/browse/OOZIE-3646?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17460416#comment-17460416 ]
Hadoop QA commented on OOZIE-3646: ---------------------------------- Testing JIRA OOZIE-3646 Cleaning local git workspace ---------------------------- {color:green}+1 PATCH_APPLIES{color} {color:green}+1 CLEAN{color} {color:red}-1 RAW_PATCH_ANALYSIS{color} . {color:green}+1{color} the patch does not introduce any @author tags . {color:green}+1{color} the patch does not introduce any tabs . {color:green}+1{color} the patch does not introduce any trailing spaces . {color:green}+1{color} the patch does not introduce any star imports . {color:red}-1{color} the patch contains 5 line(s) longer than 132 characters . {color:green}+1{color} the patch adds/modifies 1 testcase(s) {color:green}+1 RAT{color} . {color:green}+1{color} the patch does not seem to introduce new RAT warnings {color:green}+1 JAVADOC{color} . {color:green}+1{color} Javadoc generation succeeded with the patch . {color:green}+1{color} the patch does not seem to introduce new Javadoc warning(s) {color:green}+1 COMPILE{color} . {color:green}+1{color} HEAD compiles . {color:green}+1{color} patch compiles . {color:green}+1{color} the patch does not seem to introduce new javac warnings {color:red}-1{color} There are [3] new bugs found below threshold in total that must be fixed. . {color:green}+1{color} There are no new bugs found in [tools]. . {color:red}-1{color} There are [3] new bugs found below threshold in [core] that must be fixed. . You can find the SpotBugs diff here (look for the red and orange ones): core/findbugs-new.html . The most important SpotBugs errors are: . 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 . At BulkJPAExecutor.java:[line 176]: At BulkJPAExecutor.java:[line 175] . At BulkJPAExecutor.java:[line 205]: At BulkJPAExecutor.java:[line 199] . Unsafe comparison of hash that are susceptible to timing attack: At BulkJPAExecutor.java:[line 206] . At ShareLibService.java:[line 689]: At ShareLibService.java:[line 695] . {color:green}+1{color} There are no new bugs found in [examples]. . {color:green}+1{color} There are no new bugs found in [webapp]. . {color:green}+1{color} There are no new bugs found in [sharelib/hive2]. . {color:green}+1{color} There are no new bugs found in [sharelib/distcp]. . {color:green}+1{color} There are no new bugs found in [sharelib/streaming]. . {color:green}+1{color} There are no new bugs found in [sharelib/hcatalog]. . {color:green}+1{color} There are no new bugs found in [sharelib/spark]. . {color:green}+1{color} There are no new bugs found in [sharelib/hive]. . {color:green}+1{color} There are no new bugs found in [sharelib/git]. . {color:green}+1{color} There are no new bugs found in [sharelib/sqoop]. . {color:green}+1{color} There are no new bugs found in [sharelib/oozie]. . {color:green}+1{color} There are no new bugs found in [sharelib/pig]. . {color:green}+1{color} There are no new bugs found in [fluent-job/fluent-job-api]. . {color:green}+1{color} There are no new bugs found in [client]. . {color:orange}0{color} There are [4] new bugs found in [server] that would be nice to have fixed. . You can find the SpotBugs diff here: server/findbugs-new.html . {color:green}+1{color} There are no new bugs found in [docs]. {color:green}+1 BACKWARDS_COMPATIBILITY{color} . {color:green}+1{color} the patch does not change any JPA Entity/Colum/Basic/Lob/Transient annotations . {color:green}+1{color} the patch does not modify JPA files {color:green}+1 TESTS{color} . Tests run: 3216 . {color:orange}Tests failed at first run:{color} TestCoordActionsKillXCommand#testActionKillCommandActionNumbers TestCoordActionsKillXCommand#testActionKillCommandDate TestJMSAccessorService#testConnectionRetry TestBlockingInputStream#testFastWritingBlockingInputStream TestPriorityDelayQueue#testPeek . For the complete list of flaky tests, see TEST-SUMMARY-FULL files. {color:green}+1 DISTRO{color} . {color:green}+1{color} distro tarball builds with the patch {color:green}+1 MODERNIZER{color} ---------------------------- {color:red}*-1 Overall result, please check the reported -1(s)*{color} The full output of the test-patch run is available at . https://ci-hadoop.apache.org/job/PreCommit-OOZIE-Build/53/ > 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.patch-1, 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)