Încercăm să folosim Memcached (1.5.22) ca handler de sesiune pe un server cu Apache + PHP 7.4, cu toate acestea, am observat erori aleatorii cu mesajul de mai jos:
session_start(): Nu s-a putut citi datele sesiunii: utilizator (cale: XX.XX.X.XX:11211)
Aplicația face cereri AJAX, aproximativ 25 de solicitări într-o secundă, dintre aceste 25 de solicitări, puține prezintă eroarea.
Din acest motiv, am decis să ne uităm la jurnalul de erori Memcached și am observat că atunci când apare această eroare, Memcached returnează de trei ori o eroare în jurnal, după cum urmează:
238593:12 mai 14:09:45 memcached-01 systemd-memcached-wrapper[436]: <32 ADD da_session:b2ZnDAkIZ15vpbhrHHkxoZesSSC6Lgi5:lock Valoarea len este 10
238594-12 mai 14:09:45 memcached-01 systemd-memcached-wrapper[436]: >32 Scrierea unei erori: există date pentru cheie.
--
238608-12 mai 14:09:45 memcached-01 systemd-memcached-wrapper[436]: <32 0x00 0x00 0x00 0x00
238609:12 mai 14:09:45 memcached-01 systemd-memcached-wrapper[436]: <32 ADD da_session:b2ZnDAkIZ15vpbhrHHkxoZesSSC6Lgi5:lock Valoarea len este 10
238610-12 mai 14:09:45 memcached-01 systemd-memcached-wrapper[436]: >32 Scrierea unei erori: există date pentru cheie.
--
238624-12 mai 14:09:45 memcached-01 systemd-memcached-wrapper[436]: <32 0x00 0x00 0x00 0x00
238625:12 mai 14:09:45 memcached-01 systemd-memcached-wrapper[436]: <32 ADD da_session:b2ZnDAkIZ15vpbhrHHkxoZesSSC6Lgi5:lock Valoarea len este 10
238626-12 mai 14:09:45 memcached-01 systemd-memcached-wrapper[436]: >32 Scrierea unei erori: există date pentru cheie.
Am încercat deja să creștem memcached.sess_lock_retries
la 50, dezactivați memcached.sess_locking
, iar eroarea se întâmplă întotdeauna.
memcached.sess_lock_retries 50
memcached.sess_lock_wait nu este setat
memcached.sess_lock_wait_max 2000
memcached.sess_lock_wait_min 150
Ce s-ar putea întâmpla?