2014-09-10 11 views
7

अटक गया है मैंने हाल ही में कुछ विभाजित कतार बनाई हैं जहां से मैं भेजता हूं और हर समय प्राप्त करता हूं। वे बिना किसी मौजूदा मुद्दों के अतीत में गैर-विभाजित के रूप में चलाए गए हैं।Azure सेवा बस कतार संदेश

समस्या यह है कि मेरे पास कतार में निरंतर संदेश हैं जो मुझे प्राप्त नहीं हो सकता है। कतार में कोई अन्य संदेश नहीं भेजते समय मुझे हमेशा कुछ भी नहीं मिलता है, लेकिन जब मैं कतार में संदेश भेजता हूं तो मुझे बिना किसी समस्या के नए संदेश प्राप्त होते हैं। कतार में फंस गए संदेश सक्रिय संदेश हैं, मृत मरे हुए नहीं।

मुझे संदेह है कि वे एक विशिष्ट विभाजन में फंस गए हैं लेकिन मुझे नहीं पता कि उन्हें कैसे प्राप्त किया जाए।

चूंकि मुझे इन संदेशों को प्राप्त नहीं किया जा सकता है सर्विसबस कतार को रीसेट करने का कोई तरीका है?

कोई विचार?

अद्यतन:

संख्या स्थिर नहीं है लेकिन बहुत धीरे धीरे बढ़ रही है। हमारे परीक्षण माहौल पर हमें प्रति घंटे 2000 से अधिक संदेश प्राप्त होते हैं और कतारों को 0 (शून्य) पर रीसेट करने के बाद पिछले 12 घंटों में लगभग 20 संदेश प्राप्त हुए हैं। वे संदेश बस वहां हैं लेकिन प्राप्य नहीं हैं। कम से कम सामान्य तरीके से नहीं।

समस्या विभाजन के बाद केवल दो नामस्थानों में ही है। मुद्दा हमारे लाइव वातावरण में नहीं है जहां हम विभाजित कतारों का उपयोग नहीं करते हैं।

+3

क्या आप नेमस्पेस प्रबंधक पर हैं। GetQueue()। MessageCount? -> यदि यह तरीका है - क्या आप सेवा बस एक्सप्लोरर टूल का उपयोग करके क्यू ब्राउज़ कर सकते हैं या एपी का उपयोग कर सकते हैं, जब आप देखते हैं कि क्यू स्टक स्टेट में है और शीर्ष संदेश ब्राउज़ करें/फिर देखें और फिर एक और संदेश भेजें और देखें कि शीर्ष संदेश बदल नहीं रहा है। मुझे संदेह है कि यह शायद एक गिनती समस्या है। यदि ऐसा है - क्यू अक्षम और सक्षम करने से NSMgr.GetQueue() को रीसेट करने का कारण होगा। सही मान पर संदेश गणना। – Sreeram

+0

@ 1of5om3 संदेश दोनों पोर्टल में और वीएस और प्रोग्रामेटिक रूप से कतार ब्राउज़ करते समय दिखाए गए। यह संदेश भेजते समय गिनती होगी और इससे प्राप्त होने और हटाने पर गिनती होगी। हमने अंततः इसका उपयोग न करने का फैसला किया क्योंकि ऐसा लगता है कि काउंटर समस्या हो सकती है लेकिन हम सुनिश्चित नहीं हो सकते हैं। और आप अक्षम/सक्षम करने के बारे में भी सही हैं। – user2413912

उत्तर

2

मैंने अपने उत्पादन env में एक समान चीज़ देखी है - शायद यह वही व्यवहार जो आप देख रहे हैं। ServiceBusExplorer या कुछ समान का उपयोग करके, जांच करें कि संदेश का 'ContentType' = application/vnd.ms-servicebus-ping है या नहीं।

यदि ऐसा है ... यह क्यूई उपलब्धता निर्धारित करने के लिए एक (Azure) सिस्टम जेनरेट किया गया संदेश है ... जहां तक ​​मुझे पता है कि इन संदेशों को प्राप्त होने के बाद गायब होना चाहिए ... लेकिन मेरा कोई भी नहीं है। एमएस से दस्तावेज इस सामान पर स्पैस है ...

किसी भी मामले में, यदि आप सुनिश्चित करते हैं कि यह कारण है, तो आप कम से कम आश्वस्त रह सकते हैं कि वे आपके संदेश नहीं हैं जो सर्विसबस purgatory में फंस गए हैं। उम्मीद है कि एमएस जल्द ही इसे ठीक करता है ...

+0

@ आरडीपीपी - कतार की लॉक अवधि 5 मिनट – jglassco

+0

विसंगति के लिए यह सबसे सटीक और संभावित _cause_ प्रतीत होता है। – Dusty

0

अपनी कतार की लॉक अवधि की जांच करें। अगर संदेशों को प्राप्त किया गया था लेकिन पूर्ण() के रूप में चिह्नित नहीं किया गया है, तो वे लॉक को फिर से संदेश जारी करने तक "अटक" (प्राप्य नहीं) लगते हैं।

संबंधित मुद्दे