Announcement Announcement Module
No announcement yet.
What is the cost of unterminated flows? Page Title Module
Move Remove Collapse
Conversation Detail Module
  • Filter
  • Time
  • Show
Clear All
new posts

  • What is the cost of unterminated flows?

    How much overhead is there if ClientSideContinuation is used for unterminated flows?

    How are flows tidied up? What if 10000 people all start a flow and then close the browser?

    I suppose really the question I am asking is how careful do we need to be to ensure a flow is always ended?

    Many thanks,


  • #2
    ClientSideContinuation has no server memory overhead, since everything is serialized out to the client. There is nothing stored in the session, for example. Now the additional overhead there is transport related: you're now serializing the FlowExecution (including everything in flowScope) out on every request, but that stays constant regardless of how many "copies" of the flow you have.

    HttpSession and HttpSessionContinuation strategies use server memory managed in the HttpSession. HttpSession stores one copy of each flow execution per user, HttpSessionContinuation stores one copy per user per request. The latter is obviously more expensive storage wise, but its neccesary to be able to support restoration of the flow at any point within its history.

    With the strategies that use session state, the ExpiredFlowCleanupFilter can be configured in web.xml (see itemList sample) and will cleanup abandonded flows--idle after some timeout. I've found this to be sufficient in practice. A session timing out will also clean up the flows.



    • #3

      Thanks Keith. As I thought, but best to check.