kafka-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ewen Cheslack-Postava (JIRA)" <j...@apache.org>
Subject [jira] [Resolved] (KAFKA-3384) bin scripts may not be portable/POSIX compliant
Date Tue, 05 Apr 2016 05:08:25 GMT

     [ https://issues.apache.org/jira/browse/KAFKA-3384?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel

Ewen Cheslack-Postava resolved KAFKA-3384.
    Resolution: Fixed

Issue resolved by pull request 1148

> bin scripts may not be portable/POSIX compliant
> -----------------------------------------------
>                 Key: KAFKA-3384
>                 URL: https://issues.apache.org/jira/browse/KAFKA-3384
>             Project: Kafka
>          Issue Type: Bug
>    Affects Versions:
>            Reporter: Ewen Cheslack-Postava
>            Assignee: Ewen Cheslack-Postava
>             Fix For:
> We may be using some important tools in a non-POSIX compliant and non-portable way. In
particular, we've discovered that we can sometimes trigger this error:
> /usr/bin/kafka-server-stop: line 22: kill: SIGTERM: invalid signal specification
> which looks like it is caused by invoking a command like {{kill -SIGTERM <pid>}}.
(This is a lightly modified version of {{kafka-server-stop.sh}}, but nothing of relevance
has been affected.)
> Googling seems to suggest that passing the signal in that way is not compliant -- it's
a shell extensions. We're using {{/bin/sh}}, but that may be aliased to other more liberal
shells on some platforms. To be honest, I'm not sure exactly the requirements for triggering
this since running the command directly on the same host via an interactive shell still works,
but we are definitely limiting portability using the current approach.
> There are a couple of possible solutions:
> 1. Standardize on bash. This lets us make more permissive wrt shell features that we
use. We're already using /bin/bash in the majority of scripts anyway. Might help us avoid
a bunch of assumptions people make when bash is aliased to sh: https://wiki.ubuntu.com/DashAsBinSh
> 2. Try to clean up scripts as we discover incompatibilities. The immediate fix for this
issue seems to be to use {{kill -s TERM}} instead of {{kill -SIGTERM}}.

This message was sent by Atlassian JIRA

View raw message