- शिप
- 23 सितंबर 2026 को 1:48 pm बजे UTC
- लेखक
- Kamo
- Commit
- 41e4a00
pg stat statement: `SELECT काउंटी (c) से CommitLog c WHERE c.project IN (:~33 सार्वजनिक परियोजनाओं) [and c.committypeId = :t]` दौड़ ~ 140K बार 100-200 ms प्रत्येक पर (उत्पादन पर मापा गया) इस बदलाव से पहले - हर सूची पृष्ठ view (page(), पते()/sitemap) और हर /changelog/public/stats call, समापन बिंदुओं पर जो कोई प्रमाणीकरण नहीं लेते हैं। Act logs has ~19K 38 परियोजनाओं में पंक्तियाँ; गिनती स्वयं सस्ती है, लेकिन यह हर अनुरोध पर चला गया। build commit log ledger.sql उसी कुल + journal आकार build lead intake ledger.sql जोड़ता है उपयोग: प्रतिबद्ध log counts (एक कुल प्रति (परियोजना, प्रतिबद्ध प्रकार)) प्लस एक append-only Comp log count deltas पत्रिका कि एक पंक्ति में एक ही पंक्ति में लिखती है। एक डालने, एक परियोजना / प्रकार बदलने अद्यतन, या एक हटाने के रूप में लेनदेन। हाथ से लागू मालिक और बैकफिल्ड; डेमन सर्विस अब फोल्ड करती है और इसे वापस करती है (अलग-अलग प्रतिबद्धता), perf(changelog): गुना और सार्वजनिक बदलावलॉग के प्रतिबद्ध-लॉग लेजर को वापस करने के लिए, पहले तैनात). ************* ************* जेपीक्यूएल काउंटी (c) के बजाय एक मूल बयान में कुल + जर्नल - नए तरीकों पर PublicChangelogService (इसके हेडर पहले से ही बताते हैं कि सार्वजनिक पृष्ठ की जरूरतों को फ़िल्टर / क्वेरी क्यों करता है) CommitLogRepository के बजाय Kamo-shared-library में यहाँ रहता है और नहीं, इसलिए इसकी आवश्यकता नहीं है साझा-library रिहाई। आजCount () untouched है: यह एक सीमित समय-विंडो गिनती है जो वापस द्वारा समर्थित है। ix commit logs date uid, नहीं ~140K-call पैटर्न। स्विच करने से पहले उत्पादन के खिलाफ सत्यापित: लेजर कुल मिलाकर मिलान किए गए काउंटी (*) बिल्कुल पार बैकफिल के बाद सभी 264 (प्रयोजन, प्रकार) जोड़े (0 गलतियाँ) और तीन प्रतिबद्ध logs आग को सही ढंग से ट्रिगर करता है (कैमो ऐप के रूप में एक रोल-बैक लेनदेन के अंदर साबित होता है, ऐप का अपना स्वयं का लेनदेन क्रेडेंशियल).
