libmdbx 0.11.7 ateina su projekto perkėlimu į GitFlic, klaidų pataisymais ir kt.

The naujos libmdbx bibliotekos versijos 0.11.7 išleidimas, paleidimas išsiskiria projekto perkėlimu į „GitFlic“ paslaugą po to, kai „GitHub“ administracija 15 m. balandžio 2022 d. pašalino „libmdbx“ kartu su daugybe kitų projektų be jokio įspėjimo ar paaiškinimo, tuo pačiu blokuodama prieigą prie daugelio kūrėjų, susijusių su įmonėmis, kurioms buvo taikomos JAV sankcijos.

Vartotojo požiūriu, visi projekto puslapiai, saugykla ir šakės staiga virto „404“ puslapiu, be galimybės bendrauti ir nesiaiškinant priežasčių.

Deja, beveik visos versijos buvo prarastos, kuriame buvo daug klausimų su išsamiais atsakymais, taip pat daug diskusijų. Šios informacijos praradimas yra vienintelė objektyvi žala, kurią „GitHub“ administracija sugebėjo padaryti projektui, nors dalinės diskusijų kopijos lieka prieinamos archive.org archyve.

Integruotos CI infrastruktūros ir scenarijų praradimas (nemokamai prieinamas atvirojo kodo projektams) privertė mus peržiūrėti, suvienodinti ir pašalinti nedidelę techninę skolą. Dabar CI buvo atkurtas iki beveik tokio pat apimties (apie 100 konfigūracijų), išskyrus visų BSD ir Solaris variantų kūrimo ir vykdymo testus. Iškalbinga, kad po „GitHub“ veiksmų jokių paaiškinimų ar pranešimų nebuvo gauta, išskyrus priminimą, kad reikia mokėti.

Pagrindinės naujos libmdbx savybės 0.11.7

Nuo naujausių naujienų apie libmdbx v0.11.3 išleidimą, be atkūrimo po GitHub veiksmų, verta atkreipti dėmesį į šiuos patobulinimus ir pataisymus:

Iš viso 185 failuose buvo atlikti 89 pakeitimai, pridėta apie 3300 eilučių, buvo pašalinta maždaug 4100 XNUMX. Pašalinta pirmiausia dėl jau nenaudingų techninių failų, susijusių su „GitHub“ ir priklausomomis paslaugomis, išvalymo.

Pridėta a pataisyti aptiktą nenuoseklumo efektą / defektą sujungtame puslapyje ir talpykloje „Linux“ branduolio buferio. Sistemose, kuriose puslapio ir buferio talpyklos yra tikrai suvienodintos, branduoliui nėra prasmės eikvoti atminties dviem duomenų kopijoms rašant į jau priskirtą failą. Todėl įrašyti duomenys tampa matomi paskirstant atmintį prieš baigiant write() sistemos iškvietimą, net jei duomenys dar nebuvo įrašyti į diską.

Iš viso kitoks elgesys nėra racionalus, nes atidėtas sujungimas vis tiek turi užrakinti puslapių sąrašus, kopijuoti duomenis ar koreguoti PTE. Taigi, neišsakyta nuoseklumo taisyklė galioja nuo 1989 m., kai SVR4 pasirodė vieninga buferio talpykla. Dėl to buvo daug darbo ieškant keistų klaidų intensyviuose libmdbx gamybos scenarijuose. Pirmiausia atkurkite problemą, tada patikrinkite hipotezes ir patikrinkite patobulinimus.

Dabar galime drąsiai teigti, kad problema buvo patikimai nustatyta, nustatyta ir pašalinta, nepaisant atkūrimo scenarijaus sudėtingumo ir specifiškumo. Be to, aplinkkelio mechanizmo veikimą patvirtino vienas iš Erigon (Ethereum) kūrėjų, jo atveju derinimo versijoje apsauga buvo suaktyvinta kaip regresija dėl papildomo tvirtinimo patikrinimo.

Pažymėtina, kad plačiai paplitusio libmdbx naudojimo darbiniuose projektuose kontekste iš esmės svarbiau yra užtikrinti patikimą veikimą, o ne išsiaiškinti, ar tai klaida, ar savybė ir ar tokiu nuoseklumu galima pasikliauti. ypač neieškodami Linux branduolio nenuoseklumo priežasčių. Taigi, čia mes kalbame apie problemos, kuri gali turėti įtakos vartotojams, taisymą.

Ištaisyta EXDEV klaidos regresija (nuoroda tarp įrenginių), kai karštai kopijuojate duomenų bazę nesuglaudindami į kitą failų sistemą tiek per API, tiek su mdbx_copy įrankiu.
Kris Zyp įdiegė libmdbx palaikymą Deno.

Fiksuotas vertės, nustatytos MDBX_opt_rp_augment_limit parinktimi, tvarkymas apdorojant dideles operacijas didelėse duomenų bazėse. Anksčiau dėl klaidos buvo galima atlikti nereikalingus veiksmus, kurie kartais turėjo įtakos Ethereum diegimo (Erigon/Akula/Silkworm) ir Binance Chain projektų našumui.

Ištaisyta daug klaidų, įskaitant C++ API, ir ištaisė daug retų ir egzotiškų konfigūracijų kūrimo problemų. Išsamų visų reikšmingų patobulinimų sąrašą galima rasti pakeitimų žurnale.

Galiausiai, jei norite sužinoti daugiau apie tai, galite sužinoti daugiau Šioje nuorodoje.


Palikite komentarą

Jūsų elektroninio pašto adresas nebus skelbiamas. Privalomi laukai yra pažymėti *

*

*

  1. Atsakingas už duomenis: Miguel Ángel Gatón
  2. Duomenų paskirtis: kontroliuoti šlamštą, komentarų valdymą.
  3. Įteisinimas: jūsų sutikimas
  4. Duomenų perdavimas: Duomenys nebus perduoti trečiosioms šalims, išskyrus teisinius įsipareigojimus.
  5. Duomenų saugojimas: „Occentus Networks“ (ES) talpinama duomenų bazė
  6. Teisės: bet kuriuo metu galite apriboti, atkurti ir ištrinti savo informaciją.