2015-05-28 6 views
7

हमारे पास एक ऐसा एप्लिकेशन है जो माइक्रोसॉफ्ट एज़ूर क्लाउड प्लेटफार्म पर चलता है। कुछ घटकों के बीच संचार सेवा बस का उपयोग कर बनाया जाता है। सब कुछ ठीक काम कर रहा था, जब तक हाल ही में हम समय समाप्ति अपवाद निम्न प्रकार प्राप्त करने के लिए शुरू कर दिया: जब QueueClient x.Send(...)माइक्रोसॉफ्ट एज़ूर सर्विस बस टाइमआउट अपवाद

Exception rethrown at [0]: at Microsoft.ServiceBus.Common.AsyncResult.End[TAsyncResult](IAsyncResult result) at Microsoft.ServiceBus.Messaging.Sbmp.DuplexRequestBindingElement.DuplexRequestSessionChannel.DuplexCorrelationAsyncResult.End(IAsyncResult result) at Microsoft.ServiceBus.Messaging.Channels.ReconnectBindingElement.ReconnectChannelFactory `1.RequestSessionChannel.RequestAsyncResult.b__4(RequestAsyncResult thisPtr, IAsyncResult r) at Microsoft.ServiceBus.Messaging.IteratorAsyncResult`1.StepCallback(IAsyncResult result)

बुला जब NamespaceManager x.GetQueue(...)

PROGRESS queue processing failed. System.TimeoutException: The request has timed out after 60000 milliseconds. The successful completion of the request cannot be determined. Additional queries should be made to determine whether or not the operation has succeeded. TrackingId:bdffb6bd-5367-4573-aaa3-8ea9a03f5a2b,TimeStamp:5/28/2015 8:39:46 AM ---> System.Net.WebException: The request was aborted: The request was canceled. at System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult)
at Microsoft.ServiceBus.Messaging.ServiceBusResourceOperations.GetAsyncResult`1.b__49(GetAsyncResult`1 thisPtr, IAsyncResult r) at Microsoft.ServiceBus.Messaging.IteratorAsyncResult`1.StepCallback(IAsyncResult result)

बुला जब NamespaceManager x.SubscriptionExists(...)

Exception doing periodic work: System.TimeoutException: The request has timed out after 00:10:00 milliseconds. The successful completion of the request cannot be determined. Additional queries should be made to determine whether or not the operation has succeeded. Server stack trace: Exception rethrown at [0]: at Microsoft.ServiceBus.Common.AsyncResult.End[TAsyncResult](IAsyncResult result) at Microsoft.ServiceBus.NamespaceManager.OnEndSubscriptionExists(IAsyncResult result) at Microsoft.ServiceBus.NamespaceManager.SubscriptionExists(String topicPath, String name) ...

बुला

जब QueueClient x.Receive(...)

PROGRESS queue processing failed. Microsoft.ServiceBus.Messaging.MessagingCommunicationException: Error during communication with Service Bus. Check the connection information, then retry. ---> System.ServiceModel.CommunicationObjectFaultedException: Internal Server Error: The server did not provide a meaningful reply; this might be caused by a premature session shutdown. TrackingId:04ba0220-0350-4806-9c65-c2bba9671054, Timestamp:28.05.2015 13:00:55 Server stack trace: Exception rethrown at [0]: at Microsoft.ServiceBus.Common.ExceptionDispatcher.Throw(Exception exception) at Microsoft.ServiceBus.Common.AsyncResult.End[TAsyncResult](IAsyncResult result) at Microsoft.ServiceBus.Messaging.Sbmp.DuplexRequestBindingElement.DuplexRequestSessionChannel.DuplexCorrelationAsyncResult.End(IAsyncResult result) at Microsoft.ServiceBus.Messaging.Sbmp.DuplexRequestBindingElement.DuplexRequestSessionChannel.EndRequest(IAsyncResult result) at Microsoft.ServiceBus.Messaging.Channels.ReconnectBindingElement.ReconnectChannelFactory`1.RequestSessionChannel.RequestAsyncResult.b__4(RequestAsyncResult thisPtr, IAsyncResult r) at Microsoft.ServiceBus.Messaging.IteratorAsyncResult`1.StepCallback(IAsyncResult result) ….

बुला अपवाद स्पष्ट रूप से ServiceBus से जुड़े हुए हैं और वे गैर नियतात्मक हैं। उन्हें फेंकने वाले कार्य, उदाहरण के लिए, Send, GetQueue, SubscriptionExists, प्रति मिनट 100-120 बार से अधिक नहीं कहा जाता है। हमने कोड में कुछ भी नहीं बदला और टाइमआउट मानों को बढ़ाया (यहां तक ​​कि हास्यास्पद रूप से उच्च मान, जैसे कि 10min) ने मदद नहीं की। साथ ही, हमें विश्वास नहीं है कि यह कुछ नेटवर्क से संबंधित समस्या है (हमारी ओर से) क्योंकि एक ही त्रुटि तब होती है जब एप्लिकेशन विभिन्न स्थानों से चलाया जाता है।

क्या किसी और ने हाल ही में इस तरह के अपवादों का सामना किया है? क्या माइक्रोसॉफ्ट के पक्ष में कोई समस्या है या हम कुछ खो रहे हैं?

+0

यदि आपके समान tiumeout समस्याओं यह भी देखना होने http://stackoverflow.com/questions/30224200/azure-service-bus-topic-timeout-exception/38847121# 38847121 –

उत्तर

0

कुछ हफ्ते पहले हमारे पास हमारे सेवा बस ऐप के साथ अचानक और अस्पष्ट समय के मुद्दे सामने आए थे जो कई महीनों तक उत्पादन में हैं। हमारा काम जारी रहा लेकिन हर कुछ कॉल सामान्यतः 100-200 मिलीस्कॉन्ड होने पर 10+ सेकंड लेते हैं। यह कुछ हफ्तों तक चला गया और मैंने इसमें से अधिकांश को यह पता लगाने की कोशिश की कि क्या हो रहा था और कभी भी ऐसा नहीं हुआ क्योंकि समस्या अचानक गायब हो गई।

हमने सीखा था कि नई सेवा बस नामस्थान हमने उसी और अन्य डेटा केंद्रों में परीक्षण के लिए परीक्षण किया था, जबकि समस्या उत्पन्न हो रही थी, वही समस्या प्रदर्शित नहीं हुई थी। सेवा बस समूह ने कोई मदद नहीं की और केवल यह कहेंगे कि प्रतिक्रिया समय केवल एसएलए की गारंटी नहीं है।

1

मुझे एक ही समस्या थी जब मेरा रनिंग कोड टाइमआउट अपवाद उत्पन्न करना शुरू कर दिया। शोध पर पाया गया कि फायरवॉल ने संचार के लिए इस्तेमाल बंदरगाह को अवरुद्ध कर दिया। हालांकि, पोर्ट 80 और 443 अभी भी खुले थे। निम्न कोड पंक्ति तो जोड़ने मेरे लिए काम किया:

ServiceBusEnvironment.SystemConnectivity.Mode = ConnectivityMode.Https; 
संबंधित मुद्दे