webMethods

webMethods

Join this online group to communicate across IBM product users and experts by sharing advice and best practices with peers and staying up to date regarding product enhancements.

 View Only
Expand all | Collapse all

Flow Service Pipeline Overlay seperate thread on Completion

  • 1.  Flow Service Pipeline Overlay seperate thread on Completion

    Posted Thu November 11, 2004 06:02 PM

    Hello,
    When I am in TN and I reprocess a document, it is published to IS. The trigger is set to retrieve the document, parse it, transform to a canonical format and retrieve extra values, then it passes all these values to a unified document handling flow service.

    The problem is that if I reprocess a document and then reprocess a second or more documents, and after the completion of the first document, first pipeline of the first service “Overlays” over the pipeline of the next service to follow.

    This pattern cascades through as long as one service thread is still active when the next is called. Also this only happens on the calling of the exact same flow service by the Trigger.

    The overlay happens mid execution.

    I had suspected that WM does a pipeline cache and restores it when first thread finishes.

    I have done logging of the thread where it happens by doing snapshots along the way and can see information change mid execution.

    There is no known way for me to try to restore the pipeline as any pointer would have been over written.

    Thank you for any help.

    Side Note : [{ Did you know that reprocess comes up as spelled wrong by the wmuser spell checker. }]

    webMethods Integration Server
    Version 6.0.1
    Updates IS_6-0-1_SP2_Fix118
    IS_6-0-1_SP2_Fix129
    IS_6-0-1_SP2_Fix74
    IS_6-0-1_SP2
    TNS_6-0-1_Fix39

    Build Number 425
    SSL Strong (128-bit)

    Java Version 1.3.0 (46.0)
    Java Vendor IBM Corporation

    OS Windows 2000
    OS Platform x86
    OS Version 5.2
    Current User SYSTEM
    Working Dir D:\Program Files\webMethods6\IntegrationServer


    #webMethods-Architecture
    #webMethods-General
    #webMethods
    #Integration-Server-and-ESB


  • 2.  RE: Flow Service Pipeline Overlay seperate thread on Completion

    Posted Thu November 11, 2004 06:36 PM

    Hello,
    I am using savePipelineToFile to help debug the transition time. I notice that when the change happens, to datastructures change there

    <record> datatype

    wm.b2b.edi:envelopeProcess -> Values
    wm.b2b.edi:convertToValues -> EDIValues

    They both start out as
    com.wm.data.ISMemDataImpl
    and are changed to
    com.wm.util.Values

    Again this change only happens in those threads executing after the first. The first thread’s values remain the same throughout execution.

    Also, I have gone through various changes to the Triggers properties. I have set (currently and initially) the execute to be serial. I have tested with concurrent, large and small documentstore, different failure and timeout periods.

    I do not want suggestions about the trigger as it executes perfectly. Sorry to sound hostile, I just do not want to bother on information I can’t and won’t use.

    I am also not looking for a quick workaround as I could just easily save each data structure to disk and have a single thread cycle through. I do want to know that I can one day set things to “concurrent” and take full advantage of what should be offered.

    Again Thank you.


    #webMethods-General
    #webMethods-Architecture
    #webMethods
    #Integration-Server-and-ESB


  • 3.  RE: Flow Service Pipeline Overlay seperate thread on Completion

    Posted Thu November 11, 2004 07:01 PM

    Hello,
    I may have solved the issue. I think it has to do with the dreaded caching. I had an internal service with “Cache” enabled, so when it is called, I get an entire old pipeline. It is weird because I call the service twice and the error only happens off the second call. Well back to work I go. Thank you.

    A note, Please do not use cache if not needed and always use clearPipeline as the first statement to those you need. Old values are always restored on exit of the parent service unless they are over laid by cached values (I think).

    Well, thank you everyone.


    #webMethods-General
    #webMethods-Architecture
    #webMethods
    #Integration-Server-and-ESB