1) By Archiving a process will there be considerable impact on memory consumptio

1) By Archiving a process will there be considerable impact on memory consumption. We are able to get the process instance from the process tab even after archiving the process (auto archival of 7 days).
So will these process instance which are archived still occupy space in memory ? Do we have to delete those instances every time to improve memory usage ? Is there any other way to improve memory usage ?


2) Which of these will be considered as an active process : process completed using Terminate end event or process completed using just an end event ?
Is there any difference in memory consumption when we complete a process using a Terminate End event when compared to completing a process using an end event?

OriginalPostID-212774

OriginalPostID-212774

  Discussion posts and replies are publicly visible

Parents
  • @michaelag Hi, here goes answers that are specific to your questions to the best of my knowledge and please feel free to get back to us in case of any follow-up questions:
    1) So will these process instance which are archived still occupy space in memory ?
    The archived instances won't occupy any space in the memory anymore but they occupy the disk space as we are able to search through the archived processes and unarchive them on need basis at a later point of time.

    Do we have to delete those instances every time to improve memory usage ?
    This depends on the situation as per my knowledge. If there is a need to unarchive the instance later for auditing purpose, don't make any configuration in such a way that process is deleted, as the deleted process instance wouldn't be available for unarchival. I believe that there isn't a great difference between deletion and archival, as in both cases, process isn't loaded into memory but deletion makes the instance unavailable permanently where as archiving provides us with a option to unarchive the instance later for audit trail.

    Is there any other way to improve memory usage ?
    I believe that the documentation at https://forum.appian.com/suite/help/16.2/Creating_Memory_Efficient_Models_Best_Practices.html should give a bird's-eye view how you could do this.

    2) Which of these will be considered as an active process : process completed using Terminate end event or process completed using just an end event ?
    From documentation: "A process can have multiple End Events. If so, the different branches of a process remain active until each active path reaches one of the multiple End Event nodes. In such cases, a Terminate Process event can be used to stop all branches of a process, even if one or more branches have not yet reached an End Event node." So if the process has reached the end event node(s) and when there aren't any other active nodes in the process, the process is said to be completed and it becomes ready for the archival as per the settings. And in case of Terminate event, all the active branches will be stopped and process is completed immediately and even here also, the process gets ready for archival. So the only difference as per my knowledge is, the Terminate event stops all the branches and completes the process whereas the process configured with the end event(s) is said to be completed when all the active branches in it comes to end and aren't active any more.

    Is there any difference in memory consumption when we complete a process using a Terminate End event when compared to completing a process using an end event?
    To the best of my knowledge, there isn't a difference as the archival of a process is completely dependent on status of the process. In case of Terminate, the process will be completed immediately(as the Terminate event stops all the active branches in the process) and the process gets ready for archival(as per the settings), whereas in case of End Event, the process is said to be completed when there aren't any more active branches in the process and after the completion, the process gets ready for archival(as per the settings).
Reply
  • @michaelag Hi, here goes answers that are specific to your questions to the best of my knowledge and please feel free to get back to us in case of any follow-up questions:
    1) So will these process instance which are archived still occupy space in memory ?
    The archived instances won't occupy any space in the memory anymore but they occupy the disk space as we are able to search through the archived processes and unarchive them on need basis at a later point of time.

    Do we have to delete those instances every time to improve memory usage ?
    This depends on the situation as per my knowledge. If there is a need to unarchive the instance later for auditing purpose, don't make any configuration in such a way that process is deleted, as the deleted process instance wouldn't be available for unarchival. I believe that there isn't a great difference between deletion and archival, as in both cases, process isn't loaded into memory but deletion makes the instance unavailable permanently where as archiving provides us with a option to unarchive the instance later for audit trail.

    Is there any other way to improve memory usage ?
    I believe that the documentation at https://forum.appian.com/suite/help/16.2/Creating_Memory_Efficient_Models_Best_Practices.html should give a bird's-eye view how you could do this.

    2) Which of these will be considered as an active process : process completed using Terminate end event or process completed using just an end event ?
    From documentation: "A process can have multiple End Events. If so, the different branches of a process remain active until each active path reaches one of the multiple End Event nodes. In such cases, a Terminate Process event can be used to stop all branches of a process, even if one or more branches have not yet reached an End Event node." So if the process has reached the end event node(s) and when there aren't any other active nodes in the process, the process is said to be completed and it becomes ready for the archival as per the settings. And in case of Terminate event, all the active branches will be stopped and process is completed immediately and even here also, the process gets ready for archival. So the only difference as per my knowledge is, the Terminate event stops all the branches and completes the process whereas the process configured with the end event(s) is said to be completed when all the active branches in it comes to end and aren't active any more.

    Is there any difference in memory consumption when we complete a process using a Terminate End event when compared to completing a process using an end event?
    To the best of my knowledge, there isn't a difference as the archival of a process is completely dependent on status of the process. In case of Terminate, the process will be completed immediately(as the Terminate event stops all the active branches in the process) and the process gets ready for archival(as per the settings), whereas in case of End Event, the process is said to be completed when there aren't any more active branches in the process and after the completion, the process gets ready for archival(as per the settings).
Children
No Data