Ah, yes that makes sense. I was assuming the error you were seeing went
unhandled. Still good changes to get in.

On Mon, Nov 5, 2012 at 4:47 AM, ozanyurt <[email protected]> wrote:

> I made some reading and when no data in table esent return
>  JET_errNoCurrentRecord, Currency not on a record error. My client does not
> receive any message and its empty. This message very normal I think. Sorry
> for inconvenience. But this code(purgingQueues) should solve my other
> problem:
>
> 2012-09-19 15:11:32.3222 Rhino.Queues.QueueManager.PurgeOldData Warn
> 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 Microsoft.Isam.Esent.Interop.Api.Fail(Int32 err) in
> C:\Work\ravendb\SharedLibs\Sources\ManagedEsent-48322\EsentInterop\Api.cs:line
> 2279
>    at
> Rhino.Queues.Storage.GlobalActions.<DeleteOldestReceivedMessages>d__12.MoveNext()
> in
> d:\works\ayende\rhino-esb-latest\rhino-queues\Rhino.Queues\Storage\GlobalActions.cs:line
> 0
>    at Rhino.Queues.Utils.ThreadSafeSet`1.Remove(IEnumerable`1 items) in
> d:\works\ayende\rhino-esb-latest\rhino-queues\Rhino.Queues\Utils\ThreadSafeSet.cs:line
> 52
>    at Rhino.Queues.QueueManager.<PurgeOldData>b__3(GlobalActions actions)
> in
> d:\works\ayende\rhino-esb-latest\rhino-queues\Rhino.Queues\QueueManager.cs:line
> 158
>    at Rhino.Queues.Storage.QueueStorage.Global(Action`1 action) in
> d:\works\ayende\rhino-esb-latest\rhino-queues\Rhino.Queues\Storage\QueueStorage.cs:line
> 256
>    at Rhino.Queues.QueueManager.PurgeOldData(Object ignored) in
> d:\works\ayende\rhino-esb-latest\rhino-queues\Rhino.Queues\QueueManager.cs:line
> 127
>
> Thanks
>
> On Monday, November 5, 2012 12:44:59 PM UTC+2, ozanyurt wrote:
>>
>> I merged with "purgingQueues" but this not resolve my problem. I trace
>> my code and I get this error when try to purge received message(
>> DeleteOldestReceivedMe**ssages()). But my client don't have any received
>> message.
>>
>> thanks in advance
>>
>>
>> On Monday, November 5, 2012 11:19:42 AM UTC+2, ozanyurt wrote:
>>>
>>> Yes happen every time when tries to purge. I get WriteConflict error too
>>> when I heavily use rsb and later service stopped. To get rid of this
>>> situation I wrote script, restart every 6 hours.
>>>
>>> On Friday, November 2, 2012 11:39:05 PM UTC+2, Ryan wrote:
>>>>
>>>> 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.
>>>>
>>>> On Thursday, November 1, 2012 8:48:52 AM UTC-6, ozanyurt wrote:
>>>>>
>>>>> We are getting this error when rsb need to purge old data.
>>>>>
>>>>> Message: Error NoCurrentRecord (JET_errNoCurrentRecord, Currency not
>>>>> on a record)
>>>>> StackTrace :    at Microsoft.Isam.Esent.Interop.**Api.Fail(Int32 err)
>>>>> in 
>>>>> C:\Work\ravendb\SharedLibs\**Sources\ManagedEsent-48322\**EsentInterop\Api.cs:line
>>>>> 2279
>>>>>
>>>>> Thanks in advance
>>>>> Ozan
>>>>>
>>>>  --
> 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.
>
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected].
> For more options, visit this group at
> http://groups.google.com/group/rhino-tools-dev?hl=en.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Rhino Tools Dev" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/rhino-tools-dev?hl=en.

Reply via email to