Վերադառնալ

Jepsen-ը ParticleDB-ի 1.1.4-ից 1.1.18 տարբերակներում 96 խնդիր է հայտնաբերել
SiTech AI Team2 րոպե ընթերցում

Jepsen-ը ParticleDB-ի 1.1.4-ից 1.1.18 տարբերակներում 96 խնդիր է հայտնաբերել

ParticleDB-ի 1.1.4-ից 1.1.18.11.rc-22 տարբերակների Jepsen թեստը 96 խնդիր է հայտնաբերել՝ վթարներից և փակուղիներից մինչև կորած հաստատված գրառումներ և մեկուսացման անոմալիաներ, չնայած Full ACID պնդումներին։

Jepsen-ը փորձարկել է ParticleDB-ի 1.1.4-ից 1.1.18.11.rc-22 տարբերակները և տվյալների բազայում 96 խնդիր է հայտնաբերել՝ վթարներից և փակուղիներից մինչև տվյալների կորուստ և անոմալ հարցումների արդյունքներ։ Խնդիրների մեծ մասը տեղի է ունեցել առողջ մեկ հանգույցի օրինակներում՝ մեկ հաճախորդով և առանց խափանումների։ 1.1.18.11.rc-22 տարբերակի դրությամբ այդ խնդիրներից բոլորը, բացի տասից, թվում էր՝ լուծված էին, սակայն ParticleDB-ն դեռ կորցնում էր հաստատված գրառումները սովորական աշխատանքի ընթացքում՝ լռելյայն occ գործարքային ռեժիմով, և թույլ էր տալիս ներքին անոմալիաներ և կորցրած թարմացում՝ serializable ռեժիմով, որը նրա ամենաուժեղ կարգավորումն է։

Անվտանգության պնդումներ և փաստաթղթավորում

ParticleDB-ն AI աշխատանքային բեռների համար նախատեսված բազմամոդել տվյալների բազա է, որը առաջարկում է գործարքային SQL, բանալի-արժեք պահոց, վեկտորային որոնում, կենդանի վերլուծություն և օգտատիրոջ կողմից սահմանված ֆունկցիաներ, որոնք կոչվում են Particles։ Այն աջակցում է Postgres և Redis արձանագրություններին, ինչպես նաև gRPC և HTTP2 API-ներին, և գրված է Rust լեզվով։ Գլխավոր էջը գովազդում էր Full ACID և TLA+ ապացույց, սակայն համագործակցության ընթացքում TLA+ սպեցիֆիկացիա հասանելի չէր։ Փաստաթղթավորումը նաև տարաձայնություններ ուներ WAL համաժամեցման ռեժիմների և գործարքային ռեժիմների մասին, և անտեսում կամ մերժում էր SET TRANSACTION ISOLATION LEVEL հայտարարությունները։

Թեստի շրջանակը

Թեստերը աշխատել են Debian 13 հանգույցներում՝ կոնտեյներներում և EC2 VM-ներում, օգտագործելով Jepsen աշխատանքային բեռներ և նոր ParticleDB-ին հատուկ աշխատանքային բեռներ։ Փորձարկման համակարգը կարող էր մոդելավորել պրոցեսների վթարներ, դեռ fsync չանցած գրառումների կորուստ՝ LazyFS-ի միջոցով, ինչպես նաև սկավառակի ֆայլերի կրճատում կամ վնասում։ Փորձարկվել են բոլոր երեք WAL համաժամեցման ռեժիմները և յուրաքանչյուր գործարքային ռեժիմ։ Ռեպլիկացիան չի ընդգրկվել, քանի որ տրամադրված հավաքումները չէին աջակցում այն։

Բացահայտումներ

Խնդիրները ներառում էին table-2pl-ի աղետալի արտադրողականություն, ինքնաբուխ առեղծվածային վթարներ, փակուղիներ, Postgres-ի հատկանիշների բացակայություն, սխալ ձևավորված պատրաստված հարցումների պատասխաններ, նույնականացման բացեր և պրեդիկատային սխալներ, ինչպիսիք են SELECT-ի՝ WHERE-ը անտեսելը, WHERE 4 = 5-ի՝ տող վերադարձնելը և գործարքների ներսում անիմաստ SELECT արդյունքները։ Orkes-ը դրանից հետո թողարկել է 1.1.19-rc.13 և պնդում է, որ այն լուծում է զեկույցում քննարկված բոլոր մնացած խնդիրները։ Այս հետազոտությունը ֆինանսավորել է Orkes, Inc.։

Աղբյուրներ՝ Lobsters

SiTech

SiTech — AI-ով հզորացված վեբ մշակում

Ստեղծում ենք արագ ու ժամանակակից կայքեր և AI-ը ներդնում իրական բիզնես գործընթացներում։ Ունե՞ք նախագիծ կամ հարց։ Ուրախ կլինենք օգնել։