<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;
        mso-fareast-language:EN-US;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        mso-fareast-language:EN-US;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-GB" link="#0563C1" vlink="#954F72">
<div class="WordSection1">
<p class="MsoNormal">Having been playing around with event queue stuff over the last week or so, I think I’ve found an issue.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">In <a href="https://github.com/eprints/eprints/blob/3.3/perl_lib/EPrints/DataObj/EventQueue.pm#L290">
https://github.com/eprints/eprints/blob/3.3/perl_lib/EPrints/DataObj/EventQueue.pm#L290</a> through to 296 it appears to be trying to assign the eval error message (i.e. a ’die’ message from an event function) to the description field of the event queue, but
this was never appearing in the database. After playing around with some debug messages it appears as though the $@ variable is getting reset, probably in the call to $self->message on line 293 (for the indexer log), so has no value when it gets passed to
the set_value on 294.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">By amending it as follows I’ve now got a somewhat useful and visible message in the Event Queue against the failed job. Does anyone think this is a bad / good idea? Should I raise it as an issue or even commit the fix?<o:p></o:p></p>
<p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal">290: my $rc = eval { $plugin->$action( @params ) };<o:p></o:p></p>
<p class="MsoNormal">291: if( $@ )<o:p></o:p></p>
<p class="MsoNormal">292: {<o:p></o:p></p>
<p class="MsoNormal">+++ my $eval_error = $@; # save the value of the eval error message<o:p></o:p></p>
<p class="MsoNormal">293: $self->message( "error", $xml->create_text_node( "Error during execution: $@" ) );<o:p></o:p></p>
<p class="MsoNormal">294: --- $self->set_value( "description", $@ );<o:p></o:p></p>
<p class="MsoNormal">+++ 294: $self->set_value( “description”, $eval_error );<o:p></o:p></p>
<p class="MsoNormal">295: return EPrints::Const::HTTP_INTERNAL_SERVER_ERROR;<o:p></o:p></p>
<p class="MsoNormal">296 }<o:p></o:p></p>
<p class="MsoNormal"><b><o:p> </o:p></b></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Cheers,<o:p></o:p></p>
<p class="MsoNormal"><span style="color:#44546A;mso-fareast-language:EN-GB">Alan Stiles<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#44546A;mso-fareast-language:EN-GB">Digital Repository Developer<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#44546A;mso-fareast-language:EN-GB">Library Services, The Open University<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#44546A;mso-fareast-language:EN-GB"><a href="http://oro.open.ac.uk/">oro.open.ac.uk</a><o:p></o:p></span></p>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
-- The Open University is incorporated by Royal Charter (RC 000391), an exempt charity in England & Wales and a charity registered in Scotland (SC 038302). The Open University is authorised and regulated by the Financial Conduct Authority.
</body>
</html>