- शिप
- 7 अगस्त 2026 को 2:48 am बजे UTC
- लेखक
- Kamo
- Commit
- 871bf17
धन मार्ग की एक adversarial समीक्षा में पाया गया कि concurrency डिजाइन नहीं था सब पर चल रहा है। @transactional के बिना संशोधित। स्प्रिंग डेटा इस तरह के लिए कोई लेनदेन नहीं खोलता है बयान, इसलिए हर संरक्षित UPDATE इस सुविधा पर निर्भर करता है - रिलीज दावा, जारी करने का दावा Requeue, void दावा, webhook dedupe डालने - अपनी नौकरी नहीं कर रहा था। The पूरी तरह से दो-पॉड सुरक्षा कहानी उन बयानों पर निर्भर करती है जो कभी दावा नहीं करते थे। पेआउट लेग को किसी भी तरह का कोई दावा नहीं था। दोनों ओवरलैपिंग पोड्स को बुलाया जाता है उसी वापसी के लिए Payout.create; हारने वाले को 409 idempotency error मिला, जिसे क्लासिफायर ने स्थायी रूप से इलाज किया था, इसलिए इसने सदस्य के पकड़ को वापस कर दिया जबकि विजेता का पैसा वास्तव में अपने बैंक के रास्ते पर था। यह एक डबल है प्रत्येक रोलआउट पर भुगतान करने के लिए 24h की देरी से एक अंतरिम निकासी के साथ भुगतान किया जाता है। दावा अब एक समय आधारित पट्टे के साथ, जो एक फली को भी देता है जो मध्य भुगतान के दौरान मर जाता है, उसे रिलीज करता है पंक्ति में फंसने के बजाय खुद का दावा। RELEASING एक ब्लैक होल था: एक फली जो दावा करने और वापस सुनने के बीच मृत्यु हो गई थी। स्ट्राइप ने उस पंक्ति को छोड़ दिया, जिस पर कुछ भी नहीं चल पाया और सदस्य का पैसा रखा गया। वास्तव में। अभी पुनर्प्राप्त किया गया है, लेकिन केवल पंक्तियों के लिए कोई हस्तांतरण आईडी - एक है कि स्ट्राइप पर पहुंचना चाहिए, कभी भी अंधा नहीं होना चाहिए। अग्रिमट्रांसफर किए गए पृष्ठ 0 नवीनतम सबसे पहले, स्थायी रूप से सबसे पुरानी पंक्तियों को दर्शाता है एक बार बैकलॉग एक पृष्ठ से अधिक हो गया - जिस सदस्य ने लंबे समय तक इंतजार किया था वह था जो कभी भुगतान नहीं किया गया था। अब चढ़ना। /me/opportunity बुलाया findall() और जावा में फ़िल्टर, हर आरक्षण खींच मंच पर हर किरायेदार पर एक पृष्ठ पर ढेर में एक सदस्य ताज़ा कर सकता है होगा। एक org-and-agent-scoped खोजकर्ता के साथ बदल दिया।.