linux - Locked sqlite IN THE WHOLE SYSTEM -
i got big problem in system. how, entire sqlite sistem become locked. not talking single database, talking every database in system.
ladb08@newcastle:~$ touch new.sqlite3 ladb08@newcastle:~$ sqlite3 new.sqlite3 sqlite version 3.7.3 enter ".help" instructions enter sql statements terminated ";" sqlite> .tables error: database locked sqlite>
even firefox cant open because of same problem. got no idea of why happened. server debian server, , used team develop site rails. centralize stuff in external git repo work own user, , own copy of stuff.
another test:
ladb08@newcastle:~/agendador/db$ lsof test.sqlite3 ladb08@newcastle:~/agendador/db$ fuser test.sqlite3 ladb08@newcastle:~/agendador/db$ strace -e fcntl sqlite3 test.sqlite3 .tables fcntl(3, f_getfd) = 0 fcntl(3, f_setfd, fd_cloexec) = 0 fcntl(4, f_getfd) = 0x1 (flags fd_cloexec) fcntl(3, f_setlk, {type=f_rdlck, whence=seek_set, start=1073741824, len=1}) = -1 enolck (no locks available) error: database locked
no 1 using database. , same occurs empty new ones.
===========================================================================
more info:
root@newcastle:~# cd /home/ladb08/agendador/db/ root@newcastle:/home/ladb08/agendador/db# sqlite3 test.sqlite3 sqlite version 3.7.3 enter ".help" instructions enter sql statements terminated ";" sqlite> .tables error: database locked sqlite> .exit
the problem, usual.
root@newcastle:~# cd /root root@newcastle:~# cp /home/ladb08/agendador/db/test.sqlite3 ./ root@newcastle:~# sqlite3 test.sqlite3 sqlite version 3.7.3 enter ".help" instructions enter sql statements terminated ";" sqlite> .tables agendamentos prefeituras tipo_atendimentos bloqueios profissionais tipo_situacoes cidadaos schema_migrations tmibges escalas tcbos tufibges orgaos tconselhos orgaos_tipo_atendimentos tipo_acoes
outside nfs partition, no problem same file.
root@newcastle:~# mount (...) rootfs on / type rootfs (rw) urquell.home2:/home2/home-newcastle on /home type nfs (rw,v3,addr=10.17.116.3) fusectl on /sys/fs/fuse/connections type fusectl (rw)
the error code enolck
returned when kernel runs out of memory locks (unlikely in case) or when locking operation on remote file system nfs failed.
apparently, file server configured not support file locking.
(whether idea is debatable.)
Comments
Post a Comment