private string MakeErrorMsg(string what, GrainReference grainReference, Exception exc) { string errorCode = AzureStorageUtils.ExtractRestErrorCode(exc); return(string.Format("Error from storage provider during {0} for grain Type={1} Pk={2} Id={3} Error={4}\n {5}", what, grainTypeName, grainReference.GrainId.ToDetailedString(), grainReference, errorCode, TraceLogger.PrintException(exc))); }
public void AzureTableErrorCode_ExtractRestErrorCode_BadData_Null() { string xml = null; var exc = new DataServiceClientException(xml); var strCode = AzureStorageUtils.ExtractRestErrorCode(exc); Assert.IsNull(strCode); var wrapped = new AggregateException(exc); strCode = AzureStorageUtils.ExtractRestErrorCode(wrapped); Assert.IsNull(strCode); }
public void AzureTableErrorCode_UpdateConditionNotSatisfied() { string xml = "<?xml version=\"1.0\" encoding=\"utf-8\"?>" + "<error xmlns=\"http://schemas.microsoft.com/ado/2007/08/dataservices/metadata\">" + "<code>UpdateConditionNotSatisfied</code>" + "<message xml:lang=\"en-US\">The update condition specified in the request was not satisfied." + "RequestId:0781ff48-0002-0023-3167-3673bb000000" + "Time:2014-10-29T14:43:17.4073101Z</message>" + "</error>"; var clientExc = new DataServiceClientException(xml); var strCode = AzureStorageUtils.ExtractRestErrorCode(clientExc); Assert.AreEqual(TableErrorCodeStrings.UpdateConditionNotSatisfied, strCode); }
public void AzureTableErrorCode_ExtractRestErrorCode() { string xml = "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"yes\"?>" + "<error xmlns=\"http://schemas.microsoft.com/ado/2007/08/dataservices/metadata\">" + "<code>OperationTimedOut</code>" + "<message xml:lang=\"en-US\">Operation could not be completed within the specified time. RequestId:6b75e963-c56c-4734-a656-066cfd03f327 Time:2011-10-09T19:33:26.7631923Z</message>" + "</error>"; var exc = new DataServiceClientException(xml); var strCode = AzureStorageUtils.ExtractRestErrorCode(exc); Assert.AreEqual(StorageErrorCodeStrings.OperationTimedOut, strCode); var wrapped = new AggregateException(exc); strCode = AzureStorageUtils.ExtractRestErrorCode(wrapped); Assert.AreEqual(StorageErrorCodeStrings.OperationTimedOut, strCode); }
public void AzureTableErrorCode_ExtractRestErrorCode_ResourceNotFound() { string xml = "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"yes\"?>" + "<error xmlns=\"http://schemas.microsoft.com/ado/2007/08/dataservices/metadata\">" + "<code>ResourceNotFound</code>" + "<message xml:lang=\"en-US\">The specified resource does not exist." + "RequestId:23e7a3b9-3d08-4461-ba49-737c9c211142" + "Time:2013-10-10T17:35:59.7597108Z</message>" + "</error>"; var clientExc = new DataServiceClientException(xml); var strCode = AzureStorageUtils.ExtractRestErrorCode(clientExc); Assert.AreEqual(StorageErrorCodeStrings.ResourceNotFound, strCode); var clientWrapped1 = new AggregateException(clientExc); strCode = AzureStorageUtils.ExtractRestErrorCode(clientWrapped1); Assert.AreEqual(StorageErrorCodeStrings.ResourceNotFound, strCode); var clientWrapped2 = new OrleansException("client", clientExc); strCode = AzureStorageUtils.ExtractRestErrorCode(clientWrapped2); Assert.AreEqual(StorageErrorCodeStrings.ResourceNotFound, strCode); var clientWrapped3 = new DataServiceQueryException("QueryException", clientExc); strCode = AzureStorageUtils.ExtractRestErrorCode(clientWrapped3); Assert.AreEqual(StorageErrorCodeStrings.ResourceNotFound, strCode); var clientWrapped4 = new DataServiceQueryException("Wrapped-clientWrapper1", clientWrapped1); strCode = AzureStorageUtils.ExtractRestErrorCode(clientWrapped4); Assert.AreEqual(StorageErrorCodeStrings.ResourceNotFound, strCode); var superWrapped1 = new DataServiceQueryException("SuperWrapped-Client4", new AggregateException("Wrapper5", clientWrapped4)); strCode = AzureStorageUtils.ExtractRestErrorCode(superWrapped1); Assert.AreEqual(StorageErrorCodeStrings.ResourceNotFound, strCode); }
public void AzureTableErrorCode_ExtractRestErrorCode_InsufficientAccountPermissions() { string xml = "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"yes\"?>" + "<error xmlns=\"http://schemas.microsoft.com/ado/2007/08/dataservices/metadata\">" + "<code>InsufficientAccountPermissions</code>" + "<message xml:lang=\"en-US\">The account being accessed does not have sufficient permissions to execute this operation." + "RequestId:f6f4d0d3-879f-414c-bdf4-582faa7581e8" + "Time:2012-05-14T18:13:13.1526007Z</message>" + "</error>"; var exc = new DataServiceClientException(xml); var strCode = AzureStorageUtils.ExtractRestErrorCode(exc); Assert.AreEqual("InsufficientAccountPermissions", strCode); var wrapped = new AggregateException(exc); strCode = AzureStorageUtils.ExtractRestErrorCode(wrapped); Assert.AreEqual("InsufficientAccountPermissions", strCode); }
public void AzureTableErrorCode_ExtractRestErrorCode_ServerBusy() { string xml = "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"yes\"?>" + "<error xmlns=\"http://schemas.microsoft.com/ado/2007/08/dataservices/metadata\">" + "<code>ServerBusy</code>" + "<message xml:lang=\"en-US\">The server is busy." + "RequestId:14ab4de6-fe80-4a45-a364-b0c2a27a4a86" + "Time:2013-09-24T23:29:13.4913945Z</message>" + "</error>"; var exc = new DataServiceClientException(xml); var strCode = AzureStorageUtils.ExtractRestErrorCode(exc); Assert.AreEqual(StorageErrorCodeStrings.ServerBusy, strCode); var wrapped = new AggregateException(exc); strCode = AzureStorageUtils.ExtractRestErrorCode(wrapped); Assert.AreEqual(StorageErrorCodeStrings.ServerBusy, strCode); //Assert.IsTrue(Async_AzureTableDataManager<SiloMetricsData>.IsRetriableHttpError((HttpStatusCode)500, "ServerBusy")); }