O que significa 'não há bloqueios disponíveis'?

9

Estou tentando me comprometer com um servidor SVN. No servidor, o repositório do subversion é montado pelo NFS. Ao fazer um commit, recebo esta mensagem de erro:

svn: Can't get exclusive lock on file '/svn/repo/db/transactions/7802-2.txn/rev-lock': No locks available

Isso costumava funcionar e não houve atualizações / alterações de software em nada. No entanto, o servidor NFS travou mais cedo, então pode estar 'corrompido' (se isso for aplicável aqui)

    
por Rory 02.09.2009 / 18:33

5 respostas

12

Há algumas possibilidades aqui:

  1. A conta de usuário que está fazendo a atualização do SVN pode não ter permissão de atualização no diretório do repositório
  2. O sistema de arquivos NFS em que o repositório está armazenado pode estar cheio
  3. O daemon de bloqueio (lockd) pode não estar em execução no servidor NFS.

ATUALIZAÇÃO: após a atualização da pergunta, eu suspeitaria de # 3. Certifique-se de que o lockd esteja configurado para iniciar quando o servidor NFS for reinicializado.

    
por 02.09.2009 / 18:53
3

Certifique-se de que seu servidor NFS suporta bloqueios; você pode precisar ativar processos adicionais no servidor NFS para fazer isso; veja rpc.lockd (8 ) e rpc.statd (8) .

Além disso, se o seu servidor NFS foi reiniciado recentemente, você pode ter uma montagem NFS obsoleta ou parcialmente obsoleta. Tente desmontar e remontar a montagem do NFS também.

EDIT: com base na sua outra outra pergunta , parece que o lockd não iniciou depois que o seu servidor NFS se recuperou do travamento.

    
por 02.09.2009 / 18:44
1

Existem várias alternativas mencionadas em essa pesquisa no google pelos termos que você mencionou acima .

Algumas das opções mencionadas são: discos completos, problemas de permissões, processos svnserve "travados" ou "travados" e transações interrompidas ... Você pode precisar experimentar vários desses problemas diferentes para ver exatamente o problema está no seu caso.

Parece que você está usando o back end do bsddb SVN? Você pode querer tentar migrar seu repositório para o back end do fsfs (o padrão por vários anos agora). Tem, na minha experiência e a partir de um número de outros que conheço, provado mais confiável do que o bsddb. Embora você queira pesquisar como ele interage com o NFS - eu não o usei no NFS.

Outra opção que você pode considerar é se afastar do uso do SVN sobre o NFS e, em vez disso, executá-lo sobre o SSH em um servidor com o repositório SVN armazenado localmente. É assim que fazemos todo o nosso trabalho com o SVN, com o backend do fsfs, e não me lembro da última vez que tivemos problemas com o repositório SVN.

Sean

    
por 03.09.2009 / 05:22
0

se você estiver usando SVN com NFS no debian

execute isto:

/etc/init.d/portmap restart
    
por 30.09.2013 / 05:16
0

Eu tive problemas semelhantes aqui, os meus devido a montagens NFS do vagrant. Indo do que Tel Janin disse acima, reiniciei o rpcbind com sudo service rpcbind restart no meu SO host. Isso pendurou meu vm. Eu reiniciei isso, o que me deu um erro de NFS enigmático failed to start with result 'dependency' . No entanto, funcionou e agora sou um campista feliz.

    
por 14.10.2015 / 20:16

Tags