[
https://issues.apache.org/jira/browse/SLIDER-1009?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15133609#comment-15133609
]
Gour Saha commented on SLIDER-1009:
-----------------------------------
test_signal_handler fails with this patch -
{color:red}
{noformat}
======================================================================
ERROR: test_signal_handler (TestMain.TestMain)
----------------------------------------------------------------------
Traceback (most recent call last):
File
"/Users/gsaha/work/workspace/incubator-slider_8/slider-agent/target/test/mock/mock.py",
line 1199, in patched
return func(*args, **keywargs)
File
"/Users/gsaha/work/workspace/incubator-slider_8/slider-agent/target/test/agent/TestMain.py",
line 60, in test_signal_handler
main.signal_handler("signum", "frame")
File
"/Users/gsaha/work/workspace/incubator-slider_8/slider-agent/target/src/agent/main.py",
line 63, in signal_handler
if controller.stopCommand is not None:
AttributeError: 'Controller' object has no attribute 'stopCommand'
----------------------------------------------------------------------
{noformat}
{color}
So I had to modify the patch and add a check to _*main.py*_ as follows -
{code}
if controller is not None and hasattr(controller, 'stopCommand'):
controller.stopCommand = _increment_task_id(controller.stopCommand)
controller.appGracefulStopQueued = True
controller.actionQueue.execute_command(controller.stopCommand)
{code}
[~Jaeboo] is it possible to add a unit test for this patch?
> Slider stop command doesn’t invoke stop function inside an app package
> ----------------------------------------------------------------------
>
> Key: SLIDER-1009
> URL: https://issues.apache.org/jira/browse/SLIDER-1009
> Project: Slider
> Issue Type: Improvement
> Components: agent
> Affects Versions: Slider 0.81
> Reporter: Jaeboo Jeong
> Assignee: Jaeboo Jeong
> Attachments: SLIDER-1009.patch
>
>
> As you know, slider stop does not stop the components started by slider,
> instead it stops only SliderAM.
> In many case, this problem will be solved via YARN-3561 or HADOOP-11989.
> But if there isn’t any relation between component processes and slider agent
> process,
> the components will remain after slider application is stopped.
> If we want to stop the remained components, we need to invoke a stop function.
> (Of course it assumes that the stop function has the abilities that can stop
> components.)
> I patched the source code that is based on slider 0.81.1 + SLIDER-128 patch.
> When the agent receives the kill signal, the agent executes a stop command
> like DockerManager
> and then all components will be stopped.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)