डीडीएल को लेनदेन-जाने से बचें और बहु-पॉड दौड़ को सख्त करें

FixSecurityService
शिप
20 अप्रैल 2026 को 8:43 pm बजे UTC
लेखक
Kamo
Commit
d3249b4

पिछले स्व-चिकित्सा ने डीडीएल को @transactional सिंक ऑल () के अंदर डाल दिया। जब ALTER टेबल एडीडी कॉन्स्ट्रेंट ने एक मौजूदा बाधा (पहले के बाद सामान्य मामले) पर फायर किया बूट, या एक बहु-पॉड दौड़ में हारने वाले फली) ने जावा को निगल लिया अपवाद - लेकिन आसपास के डीबी लेनदेन को एक गर्भपात राज्य में छोड़ दिया गया था। उसके बाद प्रत्येक JPA कॉल ने `वर्तमान लेनदेन को रद्द कर दिया है, आदेश लेन-देन ब्लॉक के अंत तक नजरअंदाज कर दिया गया, हर पुनरारंभ पर फली को बंद कर दिया। परिवर्तन: - सिंक ऑल () अब @ ट्रांसेक्शनल नहीं है। प्रत्येक चरण अपने स्वयं के साथ चलता है स्वायत्तता: किसी भी स्प्रिंग TX के बाहर डीडीएल ऑटो-समिति प्रति बयान तो एक एकल-राज्य विफलता कुछ भी जहर नहीं सकती। - सुनिश्चित करें कि UniqueConstraint () अब ADD की कोशिश करने से पहले pg constraint की जांच करता है, इसलिए "पिछले अस्तित्व" त्रुटि सामान्य पुनरारंभ पर कभी आग नहीं। - स्व-इंजेक्शन (@Lazy self) इसलिए सब-methods' @transactional वास्तव में स्प्रिंग प्रॉक्सी के माध्यम से आग (पिछले this.syncOrgRoleRights) कॉल बाईपास AOP). - ने समवर्ती-पॉड रेस विश्लेषण का प्रलेखन किया: डीडीएल सीआरडीबी द्वारा क्रमबद्ध, DELETEs idempotent, सम्मिलित करता है दौड़ सुरक्षित के माध्यम से ON CONFLICT DO NOTHING.

सभी बदलाव

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

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

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