Nservicebus Ravendb Transaction Aborted error after adding Windows Authenication to Raven

33 views
Skip to first unread message

Mick Anderson

unread,
Sep 12, 2017, 9:10:25 AM9/12/17
to Particular Software
Helpful information to include
Product name:  Ravendb & Nservicebus 5+
Version:  Ravendb 3.5
Description:


We recently moved our Ravendb endpoint databases to be secured through windows authentication.  As soon as we started doing that we started getting transaction aborted errors on a few of our heavy load endpoints that couldn't get fixed with a retry.  We used to have this issue without windows authentication a while back but that was fixed when we added the local transaction recovery storage.  

There seems to be some issue with this local directory transaction recovery storage when windows authentication is added to ravendb because as soon as we rolled the windows auth piece from Raven, the transaction aborted messages stopped happening and we were able to retry error'd message successfully.   

Do you have any ideas on what might be causing this when windows authentication is used?  My first thought is there is some permission issue between the local directory transaction recovery storage and the windows auth'd ravendb but i'm not really sure how the local directory transaction recovery storage works.


Any help would be greatly appreciated.
Thanks,
Mick

Daniel Marbach

unread,
Sep 14, 2017, 4:05:47 AM9/14/17
to Particular Software
Hi Mick,

I tried to reproduce the error today but had difficulties to get the RavenDB Windows Authentication working on my box. I will get in touch internally with our RavenDB experts. In the meantime have you double checked that the user that runs the endpoint has the right credentials to access the transaction recovery path? 

On another note, would it be possible to attach the log that contains the transaction failure?

Thanks

Daniel

Mick Anderson

unread,
Sep 14, 2017, 9:17:54 AM9/14/17
to Particular Software
Hi Daniel,

I've attached the Ravendb log(2017-08-25) and endpoint log(nsb_log) for one endpoint that was throwing this error during the time we had windows auth enabled.  The permissions for the endpoint to the transaction recovery path currently has these permissions:

  • Traverse folder/execute file
  • List Folder / read data
  • Read attributes
  • Read extended attributes
  • Create Files / write data
  • create folders / append data
  • Read permissions
Thanks,
Mick
2017-08-25.log
nsb_log_2017-08-25_0.txt

Daniel Marbach

unread,
Sep 14, 2017, 12:45:22 PM9/14/17
to Particular Software
Hi Mick

What you are seeing is a manifestation of the RavenDB DTC Bug.When you enable the authentication with Windows it puts more pressure on the RavenDB server which increases the chance for the bug to manifest. 

More details about the bug can be found in this thread


You could try if API key authentication makes it better (I would doubt so) or switch to non DTC mode with outbox or upgrade to v6 in combination with Sql Persistence.

I hope that helps

Regards
Daniel
Reply all
Reply to author
Forward
0 new messages