none
"Send Platform Event" does not work on SCO 2016 after installing RU4

    Question

  • Hi,

    Recently I've upgraded our SCO 2016 with RU4 and noticed "Send Platform Event" do not work anymore for any of our runbooks.

    It seems there is a problem in the internal ReportEvent function. Here is the trace:

    -------------------------------------------------------------

    Process ID: 2096
    Version   : 7.3.185.0
    Computer  : *** removed ***
    User      : *** removed ***

    2017-12-14 08:59:57 [6832] 1 DBDataStore: ::Exception caught in long __stdcall CODBDataStore::ReportEventW(struct tagVARIANT):
    ODBDataStore.cpp(4935)
    <Exception><Type>_com_error</Type><ErrorMessage>Unknown error 0x800A0E7C</ErrorMessage><Description>Parameter object is improperly defined. Inconsistent or incomplete information was provided.</Description><HResult>-2146824580</HResult></Exception>

    2017-12-14 08:59:57 [6832] 1 Exception caught in void __cdecl OpalisEventDeliveryStrategyComposite::sendAndTraceExceptions(const class OpalisEventDeliveryStrategy &,const class OpalisEvent &,const class std::basic_string<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> > &)
    OpalisEventDeliveryStrategyComposite.cpp(78):
    <Exception>
    <Type>Opalis::Exception</Type>
    <Location>
    void __cdecl OpalisEventDeliveryStrategyComposite::sendAndTraceExceptions(const class OpalisEventDeliveryStrategy &,const class OpalisEvent &,const class std::basic_string<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> > &)
    OpalisEventDeliveryStrategyComposite.cpp(75)
    </Location>
    <MsgCode>Cannot deliver Opalis Event</MsgCode>
    <Params>
    <Param>EW</Param>
    </Params>
    <Prev><Exception>
    <Type>Opalis::Exception</Type>
    <Location>
    void __cdecl StorageCallExecutor::throwChained(const class Opalis::Exception &)
    StorageCallExecutor.cpp(42)
    </Location>
    <MsgCode>SCE: ActionServerStorage call failed</MsgCode>
    <Prev><Exception>
    <Type>Opalis::Exception</Type>
    <Location>
    void __thiscall OpalisEventDeliveryStrategyDBDataStore::sendOpalisEvent(const class OpalisEvent &) const
    OpalisEventDeliveryStrategyDBDataStore.cpp(75)
    </Location>
    <MsgCode>_com_error</MsgCode>
    <Params>
    <Param>Unknown error 0x800A0E7C</Param>
    <Param></Param>
    <Param>-2146824580</Param>
    </Params>
    </Exception></Prev>
    </Exception></Prev>
    </Exception>

    -------------------------------------------------------------

    This is very annoying since we cannot monitor our runbooks.

    How to solve this?

    Env. details: 

    OS: Windows Server 2016

    SCO: 2016 RU4

    SQL: 2017 Standard

    Thursday, December 14, 2017 9:15 AM

Answers

  • Hello,
    this might be the same issue as with UR14 for SCO 2012 R2 (just a guess).
    Can you have a look at the stored procedure "sp_insertevent"?
    Does it have a parameter "@message" of type "nvarchar (max)"?

    For Orchestrator 2012 R2 (UR14) I was informed that the procedure has to be altered to use the type "nvarchar(4000)".
    Of course it should be tested in a test environment...

    Regards,
    PIfm

    Friday, December 15, 2017 12:38 PM

All replies

  • Hi,

    I can reproduce this. The Activity is green in Log, but the entry is missing and I see the similar error in the trace log here: C:\ProgramData\Microsoft System Center 2012\Orchestrator\RunbookService.exe\Logs.

    You can use the "Write To Database" as a workaround:

    Regards,

    Stefan


    Visit go2azure.eu and my blog at www.sc-orchestrator.eu !

    Thursday, December 14, 2017 4:11 PM
    Answerer
  • Hello,
    this might be the same issue as with UR14 for SCO 2012 R2 (just a guess).
    Can you have a look at the stored procedure "sp_insertevent"?
    Does it have a parameter "@message" of type "nvarchar (max)"?

    For Orchestrator 2012 R2 (UR14) I was informed that the procedure has to be altered to use the type "nvarchar(4000)".
    Of course it should be tested in a test environment...

    Regards,
    PIfm

    Friday, December 15, 2017 12:38 PM
  • Hello PIfm,

    thanks a lot, this was the same in SC 2016 Orchestrator:

    After changing in sp_insertevent to "@message nvarchar(4000)" "Send Platform Event" works again after UR4.

    Best regards,

    Stefan


    Visit go2azure.eu and my blog at www.sc-orchestrator.eu !


    Friday, December 15, 2017 1:29 PM
    Answerer
  • I also confirm changing @message to nvarchar(4000) works. Thanks a lot!
    Monday, December 18, 2017 8:59 AM