Grumman

1.3.0

.
Number of waiting events {{ctrl.synthesis.nbwaitingevent}}
Number of waiting messages {{ctrl.synthesis.nbmessageevent}}
Number of reconciliation messages {{ctrl.synthesis.nbreconciliation}}
Result in {{ctrl.synthesis.performancemesure.total.time}} ms

Maximum detection messages:   
.
A reconciliation message means a event is waiting, message (for this correlation key) was sent but the message does not contains all informations.
Messages status:
  • Incomplete Content: In the design, message expect content (variable A, B, C). Sender didn't send all required variables.Page can resend a complete content, setting to null all missing content.
  • Failed design: something is wrong in the process definition, and the event can't be retrieved. Check the details
  • Complete: message was complete, but the execution failed (an operation not correct). Page can resend the message.
  • SQL Request used:
    select distinct m.locked, w.locked, m.handled, w.active, w.progress,
    w.eventtype as w_eventtype, m.id as m_id, w.id as w_id, fi.lastupdatedate as w_lastupdatedate,
    w.rootprocessinstanceid as w_rootprocessintance, w.messagename as w_messagename, w.flownodename as w_flownodename, w.processname as w_processname,
    w.processdefinitionid as w_processdefinitionid, w.locked as w_locked, w.active as w_active, w.progress as w_progress, pdroot.name as w_rootprocessname,
    pdroot.version as w_rootversion, pdroot.processid as w_rootprocessdefinitionid, pdmessage.name as w_messageprocessname, pdmessage.version as w_messageversion,
    pdmessage.processid as w_messageprocessdefinitionid,
    w.CORRELATION1 as w_correlation1, w.CORRELATION2 as w_correlation2, w.CORRELATION3 as w_correlation3, w.CORRELATION4 as w_correlation4, w.CORRELATION5 as w_correlation5, m.locked as m_locked,
    m.handled as m_handled
    from waiting_event w
    left join flownode_instance fi on (w.flownodeinstanceid = fi.id)
    left join process_instance piroot on (piroot.id = w.rootprocessinstanceid)
    left join process_definition pdroot on (piroot.processdefinitionid = pdroot.processid)
    left join process_instance pimessage on (pimessage.id = w.parentprocessinstanceid)
    left join process_definition pdmessage on (w.processdefinitionid = pdmessage.processid),
    message_instance m
    where m.locked = 0
    AND w.locked = 0 and w.active = 1 -- AND w.progress = 0
    and w.processname = m.targetprocess and w.flownodename = m.targetflownode
    and w.eventtype != 'START_EVENT'
    and w.CORRELATION1 = m.CORRELATION1 and w.CORRELATION2 = m.CORRELATION2 and w.CORRELATION3 = m.CORRELATION3 and w.CORRELATION4 = m.CORRELATION4 and w.CORRELATION5 = m.CORRELATION5
    order by m.id, w.id, w_lastupdatedate;
    Informations
    Reconciliation messages {{ctrl.reconciliationmsg.detection.nbReconciliations}}
    Complete messages {{ctrl.reconciliationmsg.detection.nbCompleteMessages}}
    Incomplete messages {{ctrl.reconciliationmsg.detection.nbIncompleteMessages}}
    Number of processes/version/flownodes {{ctrl.reconciliationmsg.detection.nbGroups}}

    Result in {{ctrl.reconciliationmsg.detection.performancemesure.total.time}} ms

    Reconciliation Messages

             
    StatusProcess NameVersionFlow node NameTypeNb reconciliation messages in error
    {{message.status}} {{message.statusexec}} {{message.processname}} {{message.processversion}} {{message.flowname}} {{message.catcheventtype}} {{message.numberofmessages}}
    CaseIdMessage nameWaiting IDMessage ID Nb Waiting events Nb Messages CorrelationsExpl.Status
    {{detail.caseid}} {{detail.messagename}} {{detail.wid}} {{detail.mid}} {{detail.signaturenbwaitingevent}} {{detail.signaturenbmessageinstance}} {{detail.correlationvalues}} {{detail.expl}}

    Execution: {{detail.explexec}}

    Errors: {{detail.explerror}}
    {{detail.statusexec}} {{detail.nbexecutioninprogress}} msg
             

    Purge ALL relatives message_instance (same target/flownode/correlations)
    Send Incomplete Messages
    Execute Complete Message
    .

    ({{ctrl.sendPost.percent}}%)

    Corrections result

    Messages sent : {{ctrl.reconciliationmsg.execution.messagescorrects}}
    Messages in error: {{ctrl.reconciliationmsg.execution.messageserrors}}
    Rows Message Data deleted:{{ctrl.reconciliationmsg.execution.nbdatasrowdeleted}}
    Rows Message Instance deleted:{{ctrl.reconciliationmsg.execution.nbmessagesrowdeleted}}
    CaseIdMessage nameWaiting IDMessage IDExpl.Status
    {{detail.caseid}} {{detail.messagename}} {{detail.wid}} {{detail.mid}} {{detail.expl}}
    {{detail.statusexec}} {{detail.nbexecutioninprogress}} msg
    {{detail.explexec}}

    Message ID purged: {{detail.listmessageinstancerelativepurged}}

    .
    labelNb RecordsNb Records purgedExplanations
    {{item.label}} {{item.nbrecords}} {{item.nbrecordspurged}} {{item.explanation}}
    {{item.querydeletion}}
    .

    Maximum detection messages:   
    .
    Multiple duplicate messages can be detected:
  • Same process / target flow node
  • Same correlations key
  • ATTENTION: it's maybe a normal situation. In BPMN, message must fit one case, and the business case can send multiple identical messages to unlock multiple cases with the same correlation. SQLRequest:
    SELECT a.id, b.id as duplicate_id, a.*
    from message_instance a, message_instance b
    where a.id < b.id
    and a.id = (select min(c.id) from message_instance c
    where c.targetprocess = a.targetprocess
    and c.targetflownode = a.targetflownode
    and c.CORRELATION1 = a.CORRELATION1
    and c.CORRELATION2 = a.CORRELATION2
    and c.CORRELATION3 = a.CORRELATION3
    and c.CORRELATION4 = a.CORRELATION4
    and c.CORRELATION5 = a.CORRELATION5)
    and a.targetprocess = b.targetprocess
    and a.targetflownode = b.targetflownode
    and (a.CORRELATION1 != 'NONE' or a.CORRELATION2 != 'NONE' or a.CORRELATION3 != 'NONE' or a.CORRELATION4 != 'NONE' or a.CORRELATION5 != 'NONE')
    and a.CORRELATION1 = b.CORRELATION1
    and a.CORRELATION2 = b.CORRELATION2
    and a.CORRELATION3 = b.CORRELATION3
    and a.CORRELATION4 = b.CORRELATION4
    and a.CORRELATION5 = b.CORRELATION5
    order by a.id, b.id

    Result in {{ctrl.duplicationmsg.detection.performancemesure.total.time}} ms

    Duplications

           
    StatusProcess NameFlow node NameMessage namenumber of duplicationsCorrelations
    {{message.statusexec}} {{message.targetprocess}} {{message.targetflownode}} {{message.messagename}} {{message.nbduplications}} {{message.correlationvalues}}
    WorkingIdStatus
    {{message.originalid}}
    {{detail.mid}} {{detail.statusexec}}
           

    .

    ({{ctrl.sendPost.percent}}%)

    Deletion result

    Deletion sent :
    Rows Message Data deleted:{{ctrl.duplicationmsg.execution.nbdatasrowdeleted}}
    Rows Message Instance deleted:{{ctrl.duplicationmsg.execution.nbmessagesrowdeleted}}
    Message Id
    {{detail}}
    .