Search code examples
shellhadoopooziehueoozie-workflow

Oozie email action truncating the string containing newline chars


I've this output captured from the shell action:

SHELL_OUTPUT='John,28,1,0
Jack,32,0,15
Mary,45,23,12
Jill,33,12,55'

The email action uses this captured output in the body like this:

Data: ${ wf:actionData('shell-c23f')['SHELL_OUTPUT'] }

But the email received seems to be truncated and only sending the first line instead of the complete string, for example:

Data: John,28,1,0

How do I go about making sure the complete string is part of the body of the email?

Thanks!


Solution

  • The action output is treated and parsed as a serialized java.util.Properties object. You can test out what works for you easily by using a Properties object and fool around with it.

    E.g. something like

    SHELL_OUTPUT='John,28,1,0 \
    Jack,32,0,15 \ 
    Mary,45,23,12 \ 
    Jill,33,12,55'
    

    should work.