- Compiler Explorer ने 2012 से स्टोरेज का तरीका बदलते हुए साझा लिंक को लंबे समय तक जीवित रखने की कोशिश की, लेकिन goo.gl के बंद होने से पुराने
godbolt.org/g/abc123लिंक को सुरक्षित रखना अब ज़रूरी हो गया है - शुरुआत में पूरा compiler state URL में रखा जाता था, 2014 में Google URL shortener जोड़ा गया, और 2016 में Stack Overflow द्वारा short URL पर रोक के बाद
godbolt.org/g/abc123जैसे workaround लिंक बनाए गए - 2018 से, जब URL लंबाई की सीमा बड़ी समस्या बन गई, state को S3 में JSON document के रूप में स्टोर करने और छोटे hash व पूरे path की mapping को DynamoDB से मैनेज करने वाली अपनी व्यवस्था अपनाई गई
- जब Google अगस्त 2025 में goo.gl लिंक बंद करेगा, तब पुराने goo.gl-आधारित लिंक को resolve करना मुश्किल हो जाएगा, इसलिए सार्वजनिक वेब और logs से मिले लगभग 12,000
gलिंक और उनके redirect targets को अपने database में इकट्ठा किया जा रहा है - जिन उपयोगकर्ताओं के पास पुराने Compiler Explorer लिंक हैं, अगर वे अभी उन लिंक पर जाएँ तो वे preservation list में शामिल हो सकते हैं; लंबे समय तक टिकने वाला साझा ज्ञान तब अधिक सुरक्षित होता है जब मुख्य infrastructure पर अपना सीधा नियंत्रण हो
Compiler Explorer लिंक स्टोरेज तरीके में बदलाव
- 2012 में Compiler Explorer की पूरी state को URL के अंदर स्टोर किया जाता था
- पूरी compiler state को URL में encode करने का तरीका बहुत लंबा हो जाता था और संभालना मुश्किल था, इसलिए मार्च 2014 में Google की goo.gl short URL सेवा का समर्थन जोड़ा गया
- उस समय short link
goo.gl/abc123के रूप में होता था, और उस पर क्लिक करने से पहले Compiler Explorer साइट के पूरे URL पर redirect होता था, फिर URL के अंदर की state decode की जाती थी
Stack Overflow की रोक के बाद workaround लिंक
- 2016 में Stack Overflow ने इस कारण link shortening services पर रोक लगा दी कि वे असली destination को छिपा सकती हैं
- इस कदम का असर Compiler Explorer लिंक पर भी पड़ा, और उस समय user data को सीधे स्टोर करने का इरादा नहीं था
- workaround यह था कि अंदर से goo.gl का उपयोग जारी रहे, लेकिन उपयोगकर्ताओं को
godbolt.org/g/abc123जैसे लिंक दिए जाएँabc123goo.gl का unique ID था/g/abc123पर जाने सेgoo.gl/abc123पर redirect होता था- फिर goo.gl state वाले पूरे godbolt.org URL पर redirect करता था
- बाद में Google API का उपयोग करके कई चरणों वाली redirect chain से बचा गया
2018 में अपने स्टोरेज पर बदलाव
- 2018 तक URL लंबाई की सीमा और बड़ी समस्या बन गई थी, और URL के अंदर मौजूद data को पहले से compress भी किया जा रहा था
- Compiler Explorer ने state को सीधे स्टोर करने वाली संरचना अपनाई
- short link hash में आपत्तिजनक शब्द तो नहीं आ रहे, इसकी भी जाँच की जाती थी
- अगर आपत्तिजनक शब्द मिलते, तो document में जानबूझकर अतिरिक्त जानकारी जोड़कर अलग hash बनाया जाता था
- इस व्यवहार से bug #1297 पैदा हुआ
goo.gl बंद होने से बना preservation संकट
- Compiler Explorer अभी भी
godbolt.org/g/abc123लिंक को support करता है - Google ने कहा था कि पुराने लिंक अपने intended destination पर redirect होते रहेंगे, लेकिन goo.gl कुछ साल पहले read-only हो गया था और अगस्त 2025 में पूरी तरह बंद होने वाला है
- बंद होने के बाद goo.gl-आधारित लिंक को आगे resolve नहीं किया जा सकेगा
- असली
goo.glलिंक को Compiler Explorer अपनी तरफ़ से ठीक नहीं कर सकता, लेकिनgodbolt.org/g/abc123लिंक को अपने database के ज़रिए सुरक्षित रखा जा सकता है
पुराने लिंक जुटाना और अपना database
- पिछले कुछ दिनों से कई सार्वजनिक स्रोतों से पुराने लिंक और उनके redirect target URL इकट्ठा किए जा रहे हैं
- अब तक लगभग 12,000 लिंक मिले हैं
- Google web search API
- GitHub API
- अपने web logs
- archive.org का Stack Overflow data dump
- Archive.org द्वारा सहेजी गई web pages की सूची
- अंदरूनी तौर पर बदलाव किया गया है ताकि goo.gl की जगह अपने database को प्राथमिकता दी जाए
- database में अभी तक न मौजूद नए
gलिंक पर भी नज़र रखी जा रही है - लोकल में sqlite database है, और production में Dynamo का उपयोग होता है
उपयोगकर्ता कैसे मदद कर सकते हैं
- अगर आपने पुराने
godbolt.org/g/abc123लिंक अलग से संभालकर रखे हैं, तो अभी उन लिंक पर जाना मददगार होगा - लिंक पर जाने से वह web logs में दर्ज होगा और बाद में database में जोड़ा जा सकता है
- नहीं तो अगस्त 2025 के बाद वह लिंक काम नहीं भी कर सकता
- यह मामला दिखाता है कि अहम infrastructure के लिए third-party services पर निर्भर रहना कितना जोखिमभरा है
- “हमेशा बने रहने वाले URL” के वादे को निभाने के लिए पूरे stack पर अपना सीधा स्वामित्व होना चाहिए
अभी कोई टिप्पणी नहीं है.