karaf-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hendy Irawan (Commented) (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (KARAF-1226) Karaf Client cannot run a script
Date Sat, 25 Feb 2012 14:45:48 GMT

    [ https://issues.apache.org/jira/browse/KARAF-1226?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13216470#comment-13216470

Hendy Irawan commented on KARAF-1226:

I can make command execution in the Karaf launcher work, however... I'm having difficulty
how to detect when the entire Karaf runtime is "stable".

I used OSGi bundle, service, and Blueprint event listeners combined with signaling timeout.
However, timeouts lower than 100ms sometimes cause a race condition, i.e. no event was generated
within 75ms thus the command is executed, however the services required by the commands are
actually not yet registered. The dilemma is than higher timeouts will cause higher latency,
thus giving the impression that executing the command is slow, while in fact it was spent

Any suggestions?
> Karaf Client cannot run a script
> --------------------------------
>                 Key: KARAF-1226
>                 URL: https://issues.apache.org/jira/browse/KARAF-1226
>             Project: Karaf
>          Issue Type: Bug
>          Components: karaf-shell
>    Affects Versions: 2.2.5
>         Environment: Ubuntu 11.10 64-bit, OpenJDK 6
>            Reporter: Hendy Irawan
>            Assignee: Jean-Baptiste Onofré
>         Attachments: KARAF-1226-client.patch, KARAF-1226-shell.patch
> Example usage:
> {code}
> echo osgi:ls | bin/client
> {code}
> or:
> {code}
> bin/client < commands.karafsh
> {code}
> or redirecting stdout to file:
> {code}
> echo osgi:ls | bin/client > bundles.txt
> {code}
> Expected outcome:
> 1. Output of the command printed to stdout
> 2. Banners etc. (if any) printed to stderr
> 3. Shell prompt should not be output at all
> 4. The client exits immediately
> Actual behavior:
> 1. All output including banners and the shell prompt are printed to stdout (only)
> 2. The client then hangs but still using around 20% CPU usage. It's not possible to Ctrl+C,
and need to kill the process.
> GNU tools (like bash) tend to detect the presence of an input stream, to differ between
interactive mode and a batch mode.
> If this is not possible, can also add a switch e.g. "--batch" or "-b" for "Batch mode".
> Note that the karaf "bin/shell" script already handles this quite nicely... by not hanging
after executing commands, and exits properly.
> BTW this should also be possible to do on karaf launcher itself (i.e. start Karaf, execute
command(s), then immediately shutdown the runtime).

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira


View raw message