libmdbx 0.11.7 saabub koos projekti migratsiooniga GitFlici, veaparanduste ja muuga

The uue libmdbx teegi versiooni 0.11.7 väljalase, käivitamine paistab silma projekti migratsiooni poolest GitFlici teenusesse pärast seda, kui GitHubi administratsioon eemaldas libmdbx-i koos mitmete teiste projektidega 15. aprillil 2022 ilma hoiatuse või selgituseta, blokeerides samal ajal juurdepääsu paljudele USA sanktsioonide alla sattunud ettevõtetega seotud arendajatele.

Kasutaja seisukohast muutusid kõik projekti lehed, hoidla ja kahvlid ootamatult 404-leheks, millel puudus suhtlusvõimalus ja põhjuseid välja selgitamata.

Kahjuks on peaaegu kõik versioonid kadunud, milles oli palju üksikasjalike vastustega küsimusi ja palju arutelusid. Selle teabe kaotamine on ainus objektiivne kahju, mis GitHubi administratsioonil õnnestus projektile tekitada, ehkki arutelude osalised koopiad on archive.org arhiivis saadaval.

Sisseehitatud CI infrastruktuuri ja skriptide (mis on avatud lähtekoodiga projektidele tasuta saadaval) kadumine sundis meid veidi tehnilisi võlgu üle vaatama, ühendama ja kõrvaldama. Nüüd on CI taastatud peaaegu sama mahuni (umbes 100 ehituskonfiguratsiooni), välja arvatud kõigi BSD ja Solarise variantide ehitamise ja käitamise testid. Kõnekas on see, et peale GitHubi tegude meeldetuletuse maksevajaduse kohta selgitusi ega teateid ei tulnud.

Libmdbx 0.11.7 peamised uued funktsioonid

Alates viimastest uudistest libmdbx v0.11.3 väljalaskmise kohta väärivad lisaks GitHubi toimingute taastamisele tähelepanu ka järgmised täiustused ja parandused:

185 failis tehti kokku 89 muudatust, lisati ligikaudu 3300 rida, eemaldati umbes 4100. Eemaldati peamiselt GitHubi ja sellest sõltuvate teenustega seotud juba kasutute tehniliste failide puhastamise tõttu.

Lisatud a ühendatud lehel ja vahemälus tuvastatud ebakõla efekti/defekti parandamine Linuxi kerneli puhvrist. Süsteemides, kus lehe ja puhvri vahemälud on tõeliselt ühtsed, ei ole tuumal mõtet raisata mälu kahele andmekoopiale, kirjutades juba mäluga eraldatud faili. Seetõttu muutuvad kirjutatud andmed mälujaotuse kaudu nähtavaks enne Write() süsteemikutse lõppemist, isegi kui andmeid pole veel kettale kirjutatud.

Üleüldse ei ole muu käitumine ratsionaalne, sest viivitatud liitmise korral peate ikkagi lehtede loendite lukud tabama, andmeid kopeerima või PTE-sid kohandama. Seega on väljaütlemata järjepidevuse reegel kehtinud alates 1989. aastast, mil SVR4-s ilmus ühtne puhvri vahemälu. Seetõttu on kiirete libmdbx-i tootmisstsenaariumide puhul imelike vigade leidmine olnud palju tööd. Esiteks probleemi reprodutseerimine, seejärel hüpoteeside kontrollimine ja täiustuste kontrollimine.

Võime nüüd kindlalt väita, et probleem tuvastati, tuvastati ja eemaldati usaldusväärselt, hoolimata taasesituse stsenaariumi keerukusest ja spetsiifilisusest. Samuti kinnitas möödaviigumehhanismi tööd üks Erigoni (Ethereumi) arendajatest, tema puhul käivitati silumisjärgus kaitse täiendava kinnituse kontrolli tõttu regressioonina.

Tuleb märkida, et libmdbx laialdase kasutuse kontekstis tööprojektides on põhimõtteliselt olulisem tagada töökindel töö, mitte välja selgitada, kas tegemist on vea või funktsiooniga ning kas sellisele järjepidevusele saab loota. eriti otsimata Linuxi tuuma vastuolude põhjuseid. Seega räägime siin probleemi lahendamisest, mis võib kasutajaid mõjutada.

Parandatud EXDEV-i vea regressioon (seadmetevaheline link), kui kopeerite andmebaasi ilma tihendamiseta teise failisüsteemi nii API kui ka utiliidi mdbx_copy abil.
Kris Zyp on Denos juurutanud libmdbx-i toe.

MDBX_opt_rp_augment_limit suvandiga määratud väärtuse parandatud käsitlemine suurte tehingute töötlemisel suurtes andmebaasides. Varem võidi vea tõttu teha tarbetuid toiminguid, mis mõnikord mõjutasid Ethereumi rakenduste (Erigon/Akula/Silkworm) ja Binance Chaini projektide jõudlust.

Paljud vead on parandatud, sealhulgas C++ API omad ja parandas haruldastel ja eksootilistel konfiguratsioonidel palju ehitusprobleeme. Täielik nimekiri kõigist olulistest täiustustest on saadaval ChangeLogis.

Lõpuks, kui olete huvitatud selle kohta rohkem teada saama, võite tutvuda üksikasjadega Järgmisel lingil.


Jäta oma kommentaar

Sinu e-postiaadressi ei avaldata. Kohustuslikud väljad on tähistatud *

*

*

  1. Andmete eest vastutab: Miguel Ángel Gatón
  2. Andmete eesmärk: Rämpsposti kontrollimine, kommentaaride haldamine.
  3. Seadustamine: teie nõusolek
  4. Andmete edastamine: andmeid ei edastata kolmandatele isikutele, välja arvatud juriidilise kohustuse alusel.
  5. Andmete salvestamine: andmebaas, mida haldab Occentus Networks (EL)
  6. Õigused: igal ajal saate oma teavet piirata, taastada ja kustutada.