Is it OK to deactivate the Auto Flush (sys_auto_flush) record for workflow contexts?

GoBucks
Mega Sage

Is it OK to deactivate the Auto Flush (sys_auto_flush) record for workflow contexts?   I've read that older instances have this record.   Completed workflow contexts over 180 days old are deleted because of this record.   Newer instances do not appear to have this auto flush defined for workflow contexts, so I assume it is OK to set to inactive now?

Why did this exist at one time?

1 ACCEPTED SOLUTION

Mwatkins
ServiceNow Employee
ServiceNow Employee

Ok, Jeff, I have the answer now.



A long, long time ago, deleting the workflow context history led to an interesting problem with workflows starting afresh, years after the original flow completed. So, the Table Cleaner for Workflow Context was removed in Calgary - I did not realize it was so long ago. This was fine for a while but the flip side was that some heavy workflow customers started to see performance issues around the wf_context, wf_history, and wf_transition_history tables because they were growing so large. So, for Jakarta, we solved the original workflow restart issue and brought the workflow context cleaner back.



You can remove the Cleaner, but those tables will just continue to grow and the usefulness of the data in there is generally short lived.   If you delete it, or mark it inactive, you would own the record and wouldn't get our updates to it during upgrades.



So there is the long story.


Hope this helps!


View solution in original post

21 REPLIES 21

Valor1
Giga Guru

This is better asked of support--I imagine it's okay but with legacy functionality like that, they should be consulted before you do it in production.



It was used to clean up transactional / log-type entries like the ecc_queue. This is now handled primarily by table rotations I believe.


Mwatkins
ServiceNow Employee
ServiceNow Employee

Hello Jeff,



Great question! I am very glad you asked.



I am a member of ServiceNow Customer Support. It is definitely not okay to deactivate that Table Cleaner (sys_auto_flush) record. The workflow context table would become unmanageably large if you deactivated that record and would likely cause issues with storage and performance.



Valor is right that Table Rotations were introduced after Table Cleaners and replaced Table Cleaners in some cases. However, Table Cleaners have not been totally replaced by Table Rotations. Some tables are cleaned through rotations (like sysevent and syslog), others are cleaned by Table Cleaners.



I don't mean to sound like an alarmist but Table Cleaners are not available to admins through the UI on purpose. Please consult ServiceNow before altering that table in any way.



Regards, Matthew


...and that's why we ask Support. Thanks Mwatkins!


I actually went in to the Hi portal to ask this directly at first (I agree, it is a question for them). Then I saw the 'ask community question' option - which I haven't tried yet from within Hi. Decided to try it and and see if Hi support would actually acknowledge it posted in the community. Matthew has.   I was planning on reaching out to Hi if I received no SN response here.