[ https://issues.apache.org/jira/browse/HDDS-1397?focusedWorklogId=223523&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-223523 ]
ASF GitHub Bot logged work on HDDS-1397: ---------------------------------------- Author: ASF GitHub Bot Created on: 05/Apr/19 10:10 Start Date: 05/Apr/19 10:10 Worklog Time Spent: 10m Work Description: hadoop-yetus commented on issue #701: HDDS-1397. Avoid the usage of signal handlers in datanodes of the MiniOzoneClusters URL: https://github.com/apache/hadoop/pull/701#issuecomment-480222027 :broken_heart: **-1 overall** | Vote | Subsystem | Runtime | Comment | |:----:|----------:|--------:|:--------| | 0 | reexec | 26 | Docker mode activated. | ||| _ Prechecks _ | | +1 | @author | 0 | The patch does not contain any @author tags. | | -1 | test4tests | 0 | The patch doesn't appear to include any new or modified tests. Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch. | ||| _ trunk Compile Tests _ | | +1 | mvninstall | 1007 | trunk passed | | +1 | compile | 29 | trunk passed | | +1 | checkstyle | 23 | trunk passed | | +1 | mvnsite | 37 | trunk passed | | +1 | shadedclient | 696 | branch has no errors when building and testing our client artifacts. | | +1 | findbugs | 52 | trunk passed | | +1 | javadoc | 29 | trunk passed | ||| _ Patch Compile Tests _ | | +1 | mvninstall | 34 | the patch passed | | +1 | compile | 28 | the patch passed | | +1 | javac | 28 | the patch passed | | +1 | checkstyle | 15 | the patch passed | | +1 | mvnsite | 31 | the patch passed | | +1 | whitespace | 0 | The patch has no whitespace issues. | | +1 | shadedclient | 736 | patch has no errors when building and testing our client artifacts. | | +1 | findbugs | 54 | the patch passed | | +1 | javadoc | 24 | the patch passed | ||| _ Other Tests _ | | -1 | unit | 59 | container-service in the patch failed. | | +1 | asflicense | 28 | The patch does not generate ASF License warnings. | | | | 2992 | | | Reason | Tests | |-------:|:------| | Failed junit tests | hadoop.ozone.container.common.statemachine.commandhandler.TestCloseContainerCommandHandler | | Subsystem | Report/Notes | |----------:|:-------------| | Docker | Client=17.05.0-ce Server=17.05.0-ce base: https://builds.apache.org/job/hadoop-multibranch/job/PR-701/1/artifact/out/Dockerfile | | GITHUB PR | https://github.com/apache/hadoop/pull/701 | | Optional Tests | dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient findbugs checkstyle | | uname | Linux 348160fd62ff 4.4.0-138-generic #164-Ubuntu SMP Tue Oct 2 17:16:02 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux | | Build tool | maven | | Personality | personality/hadoop.sh | | git revision | trunk / 77fe51e | | maven | version: Apache Maven 3.3.9 | | Default Java | 1.8.0_191 | | findbugs | v3.1.0-RC1 | | unit | https://builds.apache.org/job/hadoop-multibranch/job/PR-701/1/artifact/out/patch-unit-hadoop-hdds_container-service.txt | | Test Results | https://builds.apache.org/job/hadoop-multibranch/job/PR-701/1/testReport/ | | Max. process+thread count | 446 (vs. ulimit of 5500) | | modules | C: hadoop-hdds/container-service U: hadoop-hdds/container-service | | Console output | https://builds.apache.org/job/hadoop-multibranch/job/PR-701/1/console | | Powered by | Apache Yetus 0.9.0 http://yetus.apache.org | This message was automatically generated. ---------------------------------------------------------------- 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: 223523) Time Spent: 20m (was: 10m) > Avoid the usage of signal handlers in datanodes of the MiniOzoneClusters > ------------------------------------------------------------------------ > > Key: HDDS-1397 > URL: https://issues.apache.org/jira/browse/HDDS-1397 > Project: Hadoop Distributed Data Store > Issue Type: Bug > Reporter: Elek, Marton > Assignee: Elek, Marton > Priority: Major > Labels: pull-request-available > Time Spent: 20m > Remaining Estimate: 0h > > [~arpaga] showed me a problem that TestQueryNode.testHealthyNodesCount is > failed in the CI check of HDDS-1339. > According to the logs the test is timed out because only 4 datanodes are > started out of the 5. > The log also contained an exception from one datanode: > {code} > 2019-04-04 00:26:33,583 WARN ozone.HddsDatanodeService > (LogAdapter.java:warn(59)) - failed to register any UNIX signal loggers: > java.lang.IllegalStateException: Can't re-install the signal handlers. > at org.apache.hadoop.util.SignalLogger.register(SignalLogger.java:77) > at > org.apache.hadoop.util.StringUtils.startupShutdownMessage(StringUtils.java:718) > at > org.apache.hadoop.util.StringUtils.startupShutdownMessage(StringUtils.java:707) > at > org.apache.hadoop.ozone.HddsDatanodeService.createHddsDatanodeService(HddsDatanodeService.java:126) > at > org.apache.hadoop.ozone.HddsDatanodeService.createHddsDatanodeService(HddsDatanodeService.java:108) > at > org.apache.hadoop.ozone.MiniOzoneClusterImpl$Builder.createHddsDatanodes(MiniOzoneClusterImpl.java:552) > {code} > The code which requires the signal handler is the following (signal handler > is registered in the startupShutdownMessage) > {code} > /** > * Create an Datanode instance based on the supplied command-line arguments. > * <p> > * This method is intended for unit tests only. It suppresses the > * startup/shutdown message and skips registering Unix signal handlers. > * > * @param args command line arguments. > * @param conf HDDS configuration > * @param printBanner if true, then log a verbose startup message. > * @return Datanode instance > */ > private static HddsDatanodeService createHddsDatanodeService( > String[] args, Configuration conf, boolean printBanner) { > if (args.length == 0 && printBanner) { > StringUtils > .startupShutdownMessage(HddsDatanodeService.class, args, LOG); > return new HddsDatanodeService(conf); > } else { > new HddsDatanodeService().run(args); > return null; > } > {code} > As you can read from the comment it's expected to be called with > printBanner=false to avoid the creation of the signal handler. > Note: In the startupShutdownMessage method a new signal handler is registered > and signal handlers can be registered only once: > {code} > //SignalLogger > void register(final LogAdapter LOG) { > if (registered) { > throw new IllegalStateException("Can't re-install the signal > handlers."); > } > .... > {code} > We have a dedicated method to create datanode service for the unit tests. The > only thing what we need is to turn OFF the signal handler registration here. > (The following code fragment shows the original state where the signal > handler creation is requested with the true parameter value) > {code} > @VisibleForTesting > public static HddsDatanodeService createHddsDatanodeService( > String[] args, Configuration conf) { > return createHddsDatanodeService(args, conf, true); > } > {code} -- This message was sent by Atlassian JIRA (v7.6.3#76005) --------------------------------------------------------------------- To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org