--
You received this message because you are subscribed to the Google Groups "Rhino Tools Dev" group.
To view this discussion on the web visit https://groups.google.com/d/msg/rhino-tools-dev/-/Xo9Jv9KdHTEJ.
To post to this group, send email to rhino-t...@googlegroups.com.
To unsubscribe from this group, send email to rhino-tools-d...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/rhino-tools-dev?hl=en.
Does this happen to you every time rsb tries to purge, or is it hit and miss?
I very recently saw something similar:
WARN Rhino.Queues.QueueManager [(null)] - Failed to purge old data from the system
Microsoft.Isam.Esent.Interop.EsentErrorException: Error WriteConflict (JET_errWriteConflict, Write lock failed due to outstanding write lock)
at Rhino.Queues.Storage.GlobalActions.<DeleteOldestReceivedMessages>d__12.MoveNext()
at Rhino.Queues.Utils.ThreadSafeSet`1.Remove(IEnumerable`1 items)
at Rhino.Queues.QueueManager.<PurgeOldData>b__3(GlobalActions actions)
at Rhino.Queues.Storage.QueueStorage.Global(Action`1 action)
at Rhino.Queues.QueueManager.PurgeOldData(Object ignored)
I suspect this is happening because the purge runs in one giant transaction, but reproducing this in a unit test is proving to be difficult. Since I only see the error when there are a large number of incoming and outgoing messages at the same time as the purge, I'm going to assume the transaction is the issue. I'm going to work on a pull request to break the purge actions into smaller transactions to avoid this. In the meantime, restarting the process and allowing the esent file to be recovered seems to help temporarily.
--
You received this message because you are subscribed to the Google Groups "Rhino Tools Dev" group.
To view this discussion on the web visit https://groups.google.com/d/msg/rhino-tools-dev/-/MWVHMZKDg7EJ.