none
far_principal_id in sys.conversation_endpoints table

    Question

  • Hi Everyone,

    I have a bunch of conversations stuck in sys.transmission_queue and all of them have a far_principal_id=-1 in sys.conversation_endpoints. I don't get the significance of -1 in that column. What do I make of it? TIA


    Mordechai Danielov

    Wednesday, July 24, 2013 6:03 PM

Answers

  • Hi Mordechai,

    In sys.conversation_endpoints the far_principal_id is defined as the identifier of the user whose certificate is used by the remote side of the dialog, not NULLABLE. I would assume that it is the id of the authorization of the certificate on the remote side. A “1” or “-1” *probably indicates that certificates are not being used. However this is not a column I would look at to troubleshoot stuck messages in sys.transmission_queue.

    If an initiator sends a message to a remote server it will place a message in the sys.transmission_queue and it will stay there until the remote server sends an ACK message back to the initiator indicating that the message was received successfully. If the ACK is received it will then remove the message from the sys.transmission_queue. If the ACK is not received it will continually resend the message until the ACK is received or the conversation is closed.

    First question is does the message make it to the target queue successfully. If yes then the ACK is not making it back to the initiator and I would check routes from the target to the initiator.  If the message never makes it to the target then I would be checking the routes from the initiator to the target (sys.routes).

    1. Check transmission_status column of the sys.transmission_queue for any indication of an error. This might change as messages are resent.
    2. Check the state and state_desc column of sys.conversation_endpoints to see if they are in a CO state.

    If you cannot determine your answer here or on your own, consider opening a support case with us. Visit this link to see the various support options that are available to better meet your needs:  http://support.microsoft.com/default.aspx?id=fh;en-us;offerprophone.

    If Microsoft determines that a problem is the result of a defect in a Microsoft product, you will not be charged for that incident.

    Thanks,

    Cathy Miller

    Thursday, August 08, 2013 1:28 PM
    Moderator

All replies

  • Hi Mordechai,

    Thank you for your question. 

    I am trying to involve someone more familiar with this topic for a further look at this issue. Sometime delay might be expected from the job transferring. Your patience is greatly appreciated. 

    Thank you for your understanding and support.


    Allen Li
    TechNet Community Support

    Friday, July 26, 2013 9:16 AM
    Moderator
  • Hi Mordechai,

    In sys.conversation_endpoints the far_principal_id is defined as the identifier of the user whose certificate is used by the remote side of the dialog, not NULLABLE. I would assume that it is the id of the authorization of the certificate on the remote side. A “1” or “-1” *probably indicates that certificates are not being used. However this is not a column I would look at to troubleshoot stuck messages in sys.transmission_queue.

    If an initiator sends a message to a remote server it will place a message in the sys.transmission_queue and it will stay there until the remote server sends an ACK message back to the initiator indicating that the message was received successfully. If the ACK is received it will then remove the message from the sys.transmission_queue. If the ACK is not received it will continually resend the message until the ACK is received or the conversation is closed.

    First question is does the message make it to the target queue successfully. If yes then the ACK is not making it back to the initiator and I would check routes from the target to the initiator.  If the message never makes it to the target then I would be checking the routes from the initiator to the target (sys.routes).

    1. Check transmission_status column of the sys.transmission_queue for any indication of an error. This might change as messages are resent.
    2. Check the state and state_desc column of sys.conversation_endpoints to see if they are in a CO state.

    If you cannot determine your answer here or on your own, consider opening a support case with us. Visit this link to see the various support options that are available to better meet your needs:  http://support.microsoft.com/default.aspx?id=fh;en-us;offerprophone.

    If Microsoft determines that a problem is the result of a defect in a Microsoft product, you will not be charged for that incident.

    Thanks,

    Cathy Miller

    Thursday, August 08, 2013 1:28 PM
    Moderator
  • Thanks Cathy,

    All routes are local and certificates are not used. I would have expected to see 1, not -1 for far_principal_id. Are you saying that they are equivalent? If so, what's the purpose of using both values?

    TIA.


    Mordechai Danielov

    Friday, August 09, 2013 9:27 AM
  • Hi Mordechai,

    I apologize for the delay in responding to your follow up. I consulted with my colleagues on your question.  If certificates aren't being used then -1 would be the correct value for far_principal_id. Looking at the value for principals: 0 is public, 1 is SA\dbo, and it increases. So if certificates are configured I would expect the value to be positive based on the principal who owns the certificate on the target.

    Thanks,

    Cathy

    Wednesday, September 25, 2013 2:00 PM
    Moderator