Libelektra: mmap: mengubah lingkungan

Dibuat pada 6 Apr 2019  ·  4Komentar  ·  Sumber: ElektraInitiative/libelektra

Sebagai tindak lanjut dari #1433, saya berasumsi bahwa plugin mmap juga terpengaruh. Misalnya $HOME berubah dan file konfigurasi baru juga lebih tua dari file cache mmap. Maka file cache akan diambil meskipun sebenarnya sudah kadaluarsa.

Saya tidak berharap bahwa kami dapat dengan mudah memperbaikinya tetapi akan lebih baik jika Anda dapat menjelaskan persyaratan yang kami miliki agar masalah seperti itu tidak terjadi.

question

Semua 4 komentar

Anda benar, saat ini cache hanya memeriksa ENV di plugin kdbOpen. Itu dapat dengan mudah diperiksa secara dinamis, tetapi ini memanggil resolver dan saya curiga itu memiliki dampak kinerja yang cukup besar.

Sunting: Di samping catatan: konfigurasi diperiksa untuk stempel waktu yang tepat (perincian nanosec), tetapi masalahnya masih ada dan juga berlaku untuk resolver default .

Solusi untuk bug ini adalah kami juga menyimpan nama file yang diselesaikan di dalam cache mmap. Tetapi secara umum itu tidak akan membantu, kami entah bagaimana perlu menangkap semua variabel yang mungkin memiliki pengaruh (atau menghindari penggunaan variabel lingkungan apa pun di dalam plugin kami, yang mungkin merupakan solusi yang lebih elegan).

Saya tidak memikirkan skenario ini, tetapi sebenarnya kami menyimpan nama file yang diselesaikan di dalam cache mmap. Jika jalur berubah, itu akan menghasilkan cache miss.

Namun, jika $HOME berubah saat pegangan KDB terbuka, itu tidak akan memindahkan cache ke rumah baru.

Saya tidak memikirkan skenario ini, tetapi sebenarnya kami menyimpan nama file yang diselesaikan di dalam cache mmap. Jika jalur berubah, itu akan menghasilkan cache miss.

Sempurna! Lagipula ini adalah kasus yang paling penting. Afaik kami saat ini tidak memiliki variabel lingkungan kecuali untuk resolver. (Namun, tidak semua variabel lingkungan benar-benar berdampak pada nama file. Misalnya curlresolver menggunakan HTTP_PROXY.)

Namun, jika $HOME berubah saat pegangan KDB terbuka, itu tidak akan memindahkan cache ke rumah baru.

Ok tapi ini adalah bug lama (#1433). Jadi saya akan menutup bug ini karena mmap tampaknya tidak memperburuk situasi.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

sanssecours picture sanssecours  ·  57Komentar

markus2330 picture markus2330  ·  28Komentar

markus2330 picture markus2330  ·  62Komentar

ingwinlu picture ingwinlu  ·  36Komentar

ingwinlu picture ingwinlu  ·  35Komentar