Oh my bad, It's a long running process. In that case I would recommend tracing the cleanup code for messages and using those if you have not done that already.
On Mon, Mar 30, 2015 at 11:32 AM, Hasitha Aravinda <mail.hasith...@gmail.com > wrote: > Hi Sathwik, > > Thank you for your quick response. As I know instance clean up feature was > designed to clean up data when the instance is completed or failed. But In > my scenario I want to clean data from a running instance. > > Thanks, > Hasitha. > > > > > > *Hasitha Aravinda* > Blog: http://tryitnw.blogspot.com/ > Linkedin: http://www.linkedin.com/in/hasithaaravinda > > > > > > On Mon, Mar 30, 2015 at 11:19 AM, Sathwik B P <sathwik...@gmail.com> > wrote: > > > 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 > > > > > >