[gitec] DocumentosSapl.fs crescendo vertiginosamente - impossibilidade de compactação (PACK)

Jean Rodrigo Ferri jeanferri em interlegis.gov.br
Quinta Outubro 15 18:28:51 BRT 2015


Massa, isso poderia virar um tutorial no wiki do Colab, hein? =)

Abraço,

Jean Ferri


Em 15-10-2015 18:02, celso magela de almeida escreveu:
> Como o problema passou pela lista, estou postando a solução que resolveu
> todos os nossos problemas:
>
> resumo do cenário:
>
> -DocumentosSapl.fs com *90Gb*  (90431.7M); com data de criação do banco
> sapl_documentos em 17/02/2033
> -muitos documentos no banco também com data de criação no futuro (
> 17-02-2033);
> -todo documento novo desde 2014 estavam sendo criados com essa data;
> -banco de dados efetuava pack mas não reduzia tamanho;
> -não existiam pastas BTreeFolder2;
> -sapl demorava muito para responder a cada inserção de documentos;
>
> tentamos outras opções, mas nos testes, esse processo se mostrou o mais
> rápido deles.
>
> *primeiro*, foi possível a redução do banco com um pack setando campo para
> -6345 dias
> *Click pack to pack the Zope database, removing previous revisions of
> objects that are older than days.*
> (calculado até a data 17/02/2033)
> calculando que seriam apagados todos os temporários com data mais antiga
> que 17-02-2033.
> *O arquivo reduziu para 7,8Gb*, facilitando qualquer possível movimentação.
>
> *criamos* um novo diretorio "novo" ao lado de DocumentosSapl.fs
>
> *-*no zope.conf, criamos um novo banco:
>
> <zodb_db documentos_novo>
>      # Zodb para conter documento do sapl
>      <filestorage>
>        path
> /var/interlegis/SAPL-2.5/instances/sapl25/var/novo/DocumentosSapl.fs
>      </filestorage>
>      mount-point /sapl/sapl_documentos_novo
> </zodb_db>
>
> via ZMI, fizemos um novo ZODB Mount Point em /sapl/sapl_documentos_novo,
> que já estava com status pronto para montagem, selecionando a opção "Create
> new folders..."
>
> *depois*, criamos pastas BtreeFolder2 dentro de sapl_documentos_novo
> conforme tutorial
> https://colab.interlegis.leg.br/wiki/ConverterSaplFolderParaBtreefolder2
> porém, alterando o script "copiar.py" para que a cópia fosse feita no novo
> banco de dados, que possuía a data de criação atual.
>
> via ZMI, copiamos os restantes das pastas de sapl_documentos para
> sapl_documentos_novo.
>
> Estando  sapl_documentos_novo com os mesmos dados que sapl_documentos,
> porém com todas as datas atuais, excluímos todas as pastas de
> sapl_documentos e depois o próprio sapl_documentos.
>
> alterado zope.conf, preservando o ponto de montagem /sapl/sapl_documentos_novo,
> reiniciando
>
> alterado novamente o zope.conf, criando o ponto de montagem
> /sapl/sapl_documentos
> definitivo, reiniciando,
>
> fizemos um novo ZODB Mount Point em /sapl/sapl_documentos, que já estava
> com status pronto para montagem, selecionando a opção "Create new
> folders..."
>
> Via ZMI, copiamos todas as pastas novamente de sapl_documentos_novo para
> sapl_documentos.
>
> excluido todas as pastas de sapl_documentos_novo e depois o proprio
> sapl_documentos_novo,
> alteramos novamente o zope.conf mantendo apenas o zodb_db documentos.
>
> Reiniciamos o SAPL que virou um raio!
>
> colocamos a nova máquina em produção!
>
>
>
> Celso Magela de Almeida
> Assessor TI
> Câmara Municipal de Poços de Caldas - MG
> www.pocosdecaldas.mg.leg.br
> 35 - 3729-3840 - 8805-7054
>
> Em 6 de outubro de 2015 14:59, <adriano-gomes em camaranh.rs.gov.br> escreveu:
>
>> On Mon, Oct 05, 2015 at 03:31:47PM -0300, celso magela de almeida wrote:
>>
>>> Uma das soluções sugeridas foi a troca das pastas para Btreefolder2.
>>
>> BTreeFolder2 é apenas uma pasta mais eficiente em armazenar documentos
>> do que a Folder original. Resolve o problema da lentidão, mas acho que
>> não tem relação com o problema das datas no futuro relatado abaixo.
>>
>>> 1- Novas pastas criadas e os novos arquivos incluídos no banco eram todos
>>> criados com a data 2033-02-17 (Last Modified  2033-02-17 13:30), apesar
>> da
>>> máquina estar com a data atualizada em todo o sistema. Existem muitos
>>> documentos com essa data. Nós não temos a menor ideia de quando essa data
>>> começou a ser usada pelo SAPL.  Apesar de termos feito outras
>> instalações à
>>> partir do zero, a data foi usada aparentemente em mais de uma instalação
>>> feita.  Na máquina de testes ela também está sendo aparecendo em novos
>>> documentos, inclusive nas novas pastas Btreefolder2. A única coisa que
>>> essas máquinas possuem em comum é o banco.
>>>
>>> 2-Mensagens no log começaram a aparecer toda vez que o sistema travava:
>>> “ CRITICAL ZODB.FileStorage
>>> /var/interlegis/SAPL-2.5/instances/sapl25/var/DocumentosSapl.fs Database
>>> records 548203165 seconds in the future”. Calculei quando seria esses
>>> 548.203.165 segundos no futuro e bate com a data de 17-02-2033.
>>
>> Humm, isso é estranho mesmo...
>>
>> Apenas um comentário, uma forma prática de calcular:
>>
>> $ date -d 'now + 548203165 seconds'
>>
>> ou:
>>
>> $ date -d '548203165 seconds'
>>
>>> Agora só precisamos descobrir porque essa data está sendo usada pelo
>>> sistema e como fazer para alterar a data dos arquivos criados com a data
>>> de  17-02-2033 para uma data atual.
>>
>> Talvez estes scripts possam ajudar:
>> /var/interlegis/SAPL-2.5/Zope-2.9/bin
>>
>>> Acredito que o tutorial para corrigir o ContentType :
>>> https://colab.interlegis.leg.br/wiki/SaplCorrigirContentType não irá
>>> corrigir a data, mas pergunto:
>>>
>>> É possível usá-lo para alterar também a data dos documentos???
>>
>> Não sei. Talvez, se houver uma forma de adaptar a seguinte linha do
>> script tipos.py para usar uma possível propriedade, se houver, que
>> represente a data do documento:
>>
>> item.manage_changeProperties(REQUEST=None, content_type=mime_type)
>>
>> Talvez você queira tentar isso:
>> http://www.mail-archive.com/zodb-dev@zope.org/msg03916.html
>>
>> Seguido disso:
>>
>> http://stackoverflow.com/questions/8883805/zope-zodb-filestorage-data-fs-doesnt-pack-enough
>>
>> --
>> Adriano Rafael Gomes
>> Analista de Suporte
>> Câmara Municipal de Novo Hamburgo


Mais detalhes sobre a lista de discussão GITEC