I think is a desirable feature to be able to modify ENV then run start
the daemon directly. It may be handy on troubleshooting.

I'd propose a modification to Cos' proposal, print a NICE BIG WARN
when starting the daemons without service(8) stating 'current ENV
settings may affect the daemon (Roman remember that)'

Thx

On Wed, Sep 5, 2012 at 5:41 PM, Konstantin Boudnik <c...@apache.org> wrote:
> I'd say consistency is the way to go.
>
> The easiest perhaps is to check if the invocation doesn't caused by the
> service(8) command then simply reject to proceed ;)
>
> Cos
>
> On Wed, Sep 05, 2012 at 04:51PM, Roman Shaposhnik wrote:
>> Hi!
>>
>> Here's a thorny issue that I'm looking at right now which I'd
>> appreciate a broader perspective on: it seems that currently
>> there's a subtle (but a very dangerous) difference between
>> running any of our init.d scripts by hand -- e.g.
>>    # /etc/init.d/hadoop-hdfs-datanode start
>> vs. running them via a service(8) command -- e.g.
>>    # service hadoop-hdfs-datanode start
>>
>> It just so happens that service is guaranteed to clean
>> the environment up, but running the scripts directly
>> would run them in whatever environment root might
>> have currently.
>>
>> IOW, if for any reason root would set a variable up
>> that corresponds to a var from a particular /etc/default/<name>
>> sourced by the init.d scripts -- that would affect the script
>> execution.
>>
>> What do you all think -- is this a bug or a feature? Should
>> we, somehow, make sure that a direct execution would
>> scrub the environment the same way that a service(8) one
>> does?
>>
>> Thanks,
>> Roman.
>>
>> P.S. Now, it might seem to be a trivial matter of cleanliness but
>> I've got bitten by it today and spent quite a bit of time debugging
>> the "incorrect" behavior only to realize that it was my environment
>> to blame.



-- 
Alejandro

Reply via email to