पॉड के पार टर्मिनल टिकट साझा करें, या उनमें से आधे को मना कर दिया जाता है

FixSecurityService
शिप
4 सितंबर 2026 को 11:45 pm बजे UTC
लेखक
Kamo
Commit
37c5494

टर्मिनल खोलना लगभग आधे समय तक विफल रहता है "सर्वर ने इनकार कर दिया टर्मिनल कनेक्शन। आपका टिकट समाप्त हो सकता है, और लॉग कहते हैं: टर्मिनल हैंडशेक ने मना कर दिया: कोई वैध टिकट नहीं दोनों टर्मिनलों को एक पॉड के अंदर एक समवर्ती हैश मैप में रखा गया था, और दोनों दो स्वतंत्र वार्तालापों में विभाजित होते हैं जो एक साथ नहीं होते हैं: - TICKET को POST **************** जो ब्राउज़र कैमो-आंतरिक और कैमो-आंतरिक प्रॉक्सी को एक से आगे भेजता है आईटीएस फली - और एक WebSocket हैंडशेक द्वारा फिर से समझा जाता है ब्राउज़र सीधे खुलता है किनारे पर / डेस्कटॉप-ws; और टिकट अनुरोध है कि यह अनुसरण द्वारा एकत्र किया गया है। वे विभिन्न स्रोतों से अलग-अलग कनेक्शन प्राप्त करते हैं, इसलिए कोई सत्र नहीं समानता उन्हें एक साथ जोड़ सकती है: एक ग्राहक-आईपी नियम कामो-आंतरिक फली दिखाई देगा एक और दूसरे के लिए सदस्य के ब्राउज़र के लिए। राज्य को साझा करना होगा। जब तक सेवा एक पॉड चला, तब तक यह देर हो गई, और दोनों रजिस्ट्री अपनी टिप्पणियों में तर्क दिया कि इन-मेमोरी सही स्टोर था - जो यह था। `replicas` 4bd25e7 में 2 बन गया, लेकिन यह भी संदर्भ तोड़ दिया, इसलिए नहीं दूसरी फली शुरू हुई और दो फली राज्य वास्तव में कभी नहीं पहुंची थी। स्टार्टअप को ठीक करने से यह असली हो गया और यह तुरंत सतही हो गई। तो: रेडिस पर एक संकीर्ण टर्मिनलहैंडऑफ़स्टोर, जो पहले से ही इस सेवा की थी आवश्यकता है (@EnableRedisHttpSession इसके बिना शुरू नहीं होगा)। एकल उपयोग रहता है परमाणु - एक ऑपरेशन में GETDEL, क्योंकि एक get-then-delete दो handhakes की अनुमति देता है एक टिकट पर रेसिंग दोनों जीत, और एक फिर से खेलने योग्य टिकट ब्राउज़र इतिहास में बैठता है। वास्तव में कोई इन-मेमोरी फॉलबैक बीन नहीं है: जो चुपचाप खराब हो जाता है प्रति पोड राज्य इस आउटेज को पुन: उत्पन्न करेगा और इसे flakiness की तरह दिखेगा। दो चीजें उसी वर्ग में समान हैं: - प्रति सदस्यीय टर्मिनल कैप प्रति पॉड की गिनती करता है, इसलिए एक सदस्य दो बार पकड़ सकता है सीमा - आठ PTYs और tmux ग्राहकों को एक साझा वीएम पर लिया गया है कि लिया गया है पहले स्मृति दबाव से नीचे। काउंटर अब साझा किया गया है, इसके टीटीएल को ताज़ा करता है हर बदलाव पर इसलिए किसी को बंद करने के बजाय एक अनाथ गिनती क्षय होता है, और शून्य पर clamps तो एक decrement outliving इसकी वृद्धि headroom खरीद नहीं सकता है। - प्रेषण रजिस्ट्री में समान बग और QUIETER विफलता थी: एक खाली परिणाम वहाँ साधारण जवाब है (लगभग हर टर्मिनल एक है किसी भी खुद के लिए खोला, इसलिए एक खोया हाथ से इनकार नहीं किया - यह एक सादे खोला सात नए परीक्षण ने दो के बीच एक स्टोर साझा करके "दो फली, एक स्टोर" को उड़ा दिया रेजिस्ट्री उदाहरण: एक टिकट दूसरे पर एक रिडीम पर रखा गया है, फिर खर्च किया जाता है हर जगह, अपने हाथ से भर में चला जाता है, और टोपी और इसकी रिहाई द्वारा देखी जाती है दोनों एक पृथक वर्कट्री में सत्यापित - 2137 परीक्षण, 0 असफलता - क्योंकि साझा वर्तमान में काम करने वाले पेड़ में एक अन्य सत्र का इन-फ्लाइट काम होता है। कि worktree सभी पर संकलन करने के लिए एक असंबंधित मुख्य स्रोत की जरूरत है: एक साझा पुस्तकालय enum PROGRESSIVE LOGIN LOCKOUT, जो संदिग्धDetection बनाता है सेवा थकावट स्विच गैर-exhaustive, इसलिए वर्तमान में मूल / मुख्य नहीं है। कि यह तय नहीं है और यह मेरा नहीं है; यह तब तक तैनात नहीं होगा जब तक यह भूमि न हो।.

सभी बदलाव

जैसा कि आप शिपिंग देखते हैं?

इन अद्यतनों में से प्रत्येक स्वचालित रूप से अपने कार्यक्षेत्र में उतरता है। प्रारंभ करें और सप्ताह के बाद इसे सप्ताह के अंत में देखें।.

Foreverमूल्य निर्धारण देखें