Hi, How about using instance data cleanup https://ode.apache.org/instance-data-cleanup.html
Have you tried it out. regards, sathwik On Mon, Mar 30, 2015 at 10:38 AM, Hasitha Aravinda <mail.hasith...@gmail.com > wrote: > Hi Devs, > > I have a long running process instance which runs on a loop. It handles > hundreds of message exchanges ( both invokes and receives ) per day and > designed to runs years until business logic ends. > > Now the problem is, I am seeing database is growing with mex data related > to this process instance. With my experiences with ODE, I have seen > performance degradation with database size increases. (I am using ODE > 1.3.5.) So I am thinking writing a clean up script to clean up following > tables. > > ODE_MEX_PROP, > ODE_MESSAGE, > ODE_MESSAGE_EXCHANGE > > So I want to identify the old message exchanges ( let's say created 2 > months before) in order to clean from the database. > > So I considered following scenarios. > > - MyRole message exchange with request-only and request-response pattern > - PartnerRole message exchange with request-only and request-response > pattern > > I used following filter to filter out old message exchanges. > > SELECT * > FROM ODE_MESSAGE_EXCHANGE MEX > WHERE MEX.PROCESS_INSTANCE_ID IN ('3752') > AND > ( > ( > -- Completed MyRole Message Exchanges > MEX.CORRELATION_STATUS IN ('MATCHED') > AND MEX.DIRECTION = '77' > ) > OR > ( > -- Partner Role Message Exchanges. > MEX.DIRECTION = '80' > ) > ) > AND > ( > ( > -- Handeling REQUEST_RESPONSE message exchanges. > MEX.PATTERN = 'REQUEST_RESPONSE' > AND MEX.STATUS IN ('RESPONSE' , 'FAULT' , 'FAILURE' , > 'COMPLETED_OK' , 'COMPLETED_FAULT', 'COMPLETED_FAILURE') > ) > OR > ( > -- Handeling REQUEST_ONLY message exchanges. > MEX.STATUS IN ( 'ASYNC' , 'FAULT' , 'FAILURE' , 'COMPLETED_OK' > , 'COMPLETED_FAULT', 'COMPLETED_FAILURE') > AND MEX.PATTERN = 'REQUEST_ONLY' > ) > ); > > I have done some tests to verify whether this is possible and found that we > can clean up old message exchanges/messages without affecting process > execution. I though get advice from the ODE developers to improve my logic > on filtering old message exchanges. Appreciate your input on this. > > Thanks, > Hasitha. > > *Hasitha Aravinda* > Blog: http://tryitnw.blogspot.com/ > Linkedin: http://www.linkedin.com/in/hasithaaravinda >