locked
Storage Analytics: ClientOtherError definition RRS feed

  • Question

  • I'm looking through the $MetricsTransactions table that is generated by storage analytics. The values in the PercentSuccess column seen to be very low in my apps - in some cases down in the single digits. The errors seem to be made up almost entirely of ClientOtherErrors. ie, (PercentSuccess + PercentClientOtherError) ~= 100%. 

    This is concerning for obvious reasons, particularly because my trace logging does not show any errors.

    In doing research I found that ClientOtherError includes "many 300-400 level HTTP status codes and conditions". Does anyone know exactly what codes those are? In particular, would a 304 Not Modified response count as a ClientOtherError? If so that might well explain the discrepancy. 

    Also, is there anything else that might give me insight into what's going on, without changing my code to add more trace logging?

    Monday, October 10, 2011 9:59 PM

Answers

  • Hi,

    ClientOtherError usually means expected errors, such as not found and resource already exists. If your code uses APIs such as Exists, Create***IfNotExist(for example, CreateTableIfNotExist), those errors will be encountered frequently.

     

    Best Regards,

    Ming Xu.


    Please mark the replies as answers if they help or unmark if not.
    If you have any feedback about my replies, please contact msdnmg@microsoft.com.
    Microsoft One Code Framework
    Wednesday, October 12, 2011 8:45 AM

All replies

  • Hi Brian,


    ClientOtherError does include 304 Not Modified. As mentioned in the msdn documents it includes all 300 and 400 HTTP status codes.
    To debug this further you can use Windows Azure storage logging which would log information about every operation performed against your storage account. It will include the HTTP code of every response. Please refer to this blog post for more information.


    Thanks,
    Jean

    Tuesday, October 11, 2011 4:30 AM
  • Thanks Jean.

    If ClientOtherError does in fact include the entire 3xx & 4xx series, then the documentation is slightly misleading. It should say it includes "all 300-400 level HTTP status codes" instead of "many 300-400 level HTTP status codes".

    I would also argue that 304 Not Modified should not count as a success, rather than an error. In practice I don't think I've ever seen it count as an error at the application level, and including it in the ClientOtherError category may hide the fact that there are a small number of "real" errors that need investigation. 

     

    Tuesday, October 11, 2011 2:56 PM
  • Hi,

    ClientOtherError usually means expected errors, such as not found and resource already exists. If your code uses APIs such as Exists, Create***IfNotExist(for example, CreateTableIfNotExist), those errors will be encountered frequently.

     

    Best Regards,

    Ming Xu.


    Please mark the replies as answers if they help or unmark if not.
    If you have any feedback about my replies, please contact msdnmg@microsoft.com.
    Microsoft One Code Framework
    Wednesday, October 12, 2011 8:45 AM
  • Hi,

    I will mark the reply as an answer. If you find it no help, please feel free to unmark it and follow up.

    Thanks.

     

    Best Regards,

    Ming Xu.


    Please mark the replies as answers if they help or unmark if not.
    If you have any feedback about my replies, please contact msdnmg@microsoft.com.
    Microsoft One Code Framework
    Tuesday, October 18, 2011 5:40 AM