libmdbx 0.11.7 tiek piegādāts ar projekta migrāciju uz GitFlic, kļūdu labojumiem un daudz ko citu

The jaunas libmdbx bibliotēkas versijas 0.11.7 izlaišana, palaišana izceļas ar projekta migrāciju uz pakalpojumu GitFlic pēc tam, kad GitHub administrācija 15. gada 2022. aprīlī noņēma libmdbx kopā ar vairākiem citiem projektiem bez jebkāda brīdinājuma vai paskaidrojuma, vienlaikus bloķējot piekļuvi daudziem izstrādātājiem, kas saistīti ar uzņēmumiem, uz kuriem attiecās ASV sankcijas.

No lietotāja viedokļa visas projekta lapas, repozitorijs un dakšas pēkšņi pārvērtās par “404” lapu bez saziņas iespējām un nenoskaidrojot iemeslus.

Diemžēl gandrīz visas versijas ir zaudētas, kurā bija daudz jautājumu ar detalizētām atbildēm, kā arī daudz diskusiju. Šīs informācijas zaudēšana ir vienīgais objektīvais kaitējums, ko GitHub administrācijai izdevās nodarīt projektam, lai gan daļējas diskusiju kopijas joprojām ir pieejamas archive.org arhīvā.

Iebūvētās CI infrastruktūras un skriptu (pieejami bez maksas OpenSource projektiem) zaudēšana lika mums pārskatīt, apvienot un novērst nelielu tehnisko parādu. Tagad CI ir atjaunots gandrīz tādā pašā apjomā (apmēram 100 būvkonfigurācijas), izņemot visu BSD un Solaris variantu izveidi un darbības testus. Zīmīgi, ka pēc GitHub darbībām nekādi precizējumi vai paziņojumi netika saņemti, izņemot atgādinājumu par maksājuma nepieciešamību.

Libmdbx galvenās jaunās iezīmes 0.11.7

Kopš jaunākajām ziņām par libmdbx v0.11.3 izlaišanu, papildus atkopšanai no GitHub darbībām, ir vērts pievērst uzmanību šādiem uzlabojumiem un labojumiem:

Kopumā 185 failos tika veiktas 89 izmaiņas, tika pievienotas aptuveni 3300 rindiņas, tika noņemti aptuveni 4100. Noņemti galvenokārt tāpēc, ka tika iztīrīti jau tā bezjēdzīgi tehnoloģiju faili, kas saistīti ar GitHub un atkarīgiem pakalpojumiem.

Pievienots a labot konstatēto neatbilstības efektu/defektu apvienotajā lapā un kešatmiņā no bufera Linux kodolā. Sistēmās, kurās lapa un bufera kešatmiņa ir patiesi vienota, kodolam nav jēgas tērēt atmiņu divām datu kopijām, rakstot jau atmiņai piešķirtā failā. Tāpēc ierakstītie dati kļūst redzami, izmantojot atmiņas piešķiršanu, pirms Write() sistēmas izsaukums ir pabeigts, pat ja dati vēl nav ierakstīti diskā.

Kopumā cita rīcība nav racionāla, jo ar aizkavētu sapludināšanu jums joprojām ir jānoķer lapu sarakstu bloķēšana, jākopē dati vai jāpielāgo PTE. Tādējādi neizteiktais konsekvences noteikums ir spēkā kopš 1989. gada, kad SVR4 parādījās vienotā bufera kešatmiņa. Rezultātā dīvainu kļūdu atrašana aizņemtos libmdbx ražošanas scenārijos ir bijis daudz darba. Pirmkārt, atkārtojiet problēmu, pēc tam pārbaudiet hipotēzes un pārbaudiet uzlabojumus.

Tagad varam droši apgalvot, ka problēma tika droši identificēta, atrasta un noņemta, neskatoties uz atskaņošanas scenārija sarežģītību un specifiku. Arī apvedceļa mehānisma darbību apstiprināja viens no Erigon (Ethereum) izstrādātājiem, viņa gadījumā atkļūdošanas būvējumā aizsardzība tika iedarbināta kā regresija papildu apgalvojuma pārbaudes dēļ.

Jāpiebilst, ka libmdbx plašās izmantošanas kontekstā darba projektos principiāli svarīgāk ir nodrošināt uzticamu darbību, nevis noskaidrot, vai tā ir kļūda vai funkcija un vai uz šādu konsekvenci var paļauties. īpaši nemeklējot Linux kodola neatbilstības cēloņus. Tātad, šeit mēs runājam par problēmas novēršanu, kas varētu ietekmēt lietotājus.

Novērsta EXDEV kļūdas regresija (saite starp ierīcēm), kad tiek kopēta datubāze bez blīvēšanas uz citu failu sistēmu gan caur API, gan ar utilītu mdbx_copy.
Kris Zyp ir ieviesis libmdbx atbalstu vietnē Deno.

Fiksēta ar opciju MDBX_opt_rp_augment_limit iestatīto vērtību apstrāde apstrādājot lielus darījumus lielās datu bāzēs. Iepriekš kļūdas dēļ varēja veikt nevajadzīgas darbības, kas dažkārt ietekmēja Ethereum ieviešanu (Erigon/Akula/Silkworm) un Binance Chain projektu veiktspēju.

Ir izlabotas daudzas kļūdas, tostarp C++ API, un novērsa daudzas izveides problēmas retām un eksotiskām konfigurācijām. Pilns visu būtisko uzlabojumu saraksts ir pieejams ChangeLog.

Visbeidzot, ja vēlaties uzzināt vairāk par to, varat uzzināt sīkāku informāciju Šajā saitē.


Raksta saturs atbilst mūsu principiem redakcijas ētika. Lai ziņotu par kļūdu, noklikšķiniet uz šeit.

Esi pirmais, kas komentārus

Atstājiet savu komentāru

Jūsu e-pasta adrese netiks publicēta.

*

*

  1. Atbildīgais par datiem: Migels Ángels Gatóns
  2. Datu mērķis: SPAM kontrole, komentāru pārvaldība.
  3. Legitimācija: jūsu piekrišana
  4. Datu paziņošana: Dati netiks paziņoti trešām personām, izņemot juridiskus pienākumus.
  5. Datu glabāšana: datu bāze, ko mitina Occentus Networks (ES)
  6. Tiesības: jebkurā laikā varat ierobežot, atjaunot un dzēst savu informāciju.