Skip to main content

I believe K2 retains every version of a DLL (Assembly) each time a new or updated process is deployed to the server.  This is represented in the database by the ProcSet, Proc, Reference and Assembly tables.  

 

Multiple versions are required to support in-flight workitems that use older versions of the assembly (Process).  

 

Is there any maintenance tools or procedures available to determine what can be deleted when there are no longer any active processes using an assembly version?

 

In our database the Server.Assembly table is by far the biggest table as it holds the binary streams of every assembly version. We have 245 processes by 1753 entries in Server.Assembly.  We would like to clean the table up so looking for advice on how to do this.

Wouldn't you lose the historical data if you did that?  For example, we periodically get requests from our audit group to see requests of a particular type going back x number of months/years.


Is it possible to clear the binary stream column so that the record integrity is maintained but the space occupied by the DLL is not?


But if the DLL represents the entire process, even if the data still exists, would K2 still know how to access it in any meaningful way.  Kind of like having data tables left over from an app whose front-end got deleted.  The data alone may or may not be meaningful.


Surely there must be a point at which things are archived.  If a K2 system is running for 10 years there must come a time when records are redundant or can be moved out to a parallel K2 DB or something?


Reply