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

Angelo Marcondes de Oliveira Neto angelomarcondes em gmail.com
Sexta Outubro 16 09:06:40 BRT 2015


Celso,

Eu não poderia deixar de lhe cumprimentar pela esplendida analise e
documentação do problema.

Abraços


Angelo Marcondes de Oliveira Neto. <angelomarcondes em gmail.com>
http://angelomarcondes.blogspot.com - portifólio de serviços.
angelomarcondes em gmail.com
(34) 91414287
Carneirinho - MG


Em 15 de outubro de 2015 18:28, Jean Rodrigo Ferri <
jeanferri em interlegis.gov.br> escreveu:

> 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
>>>
>> --
> Histórico do grupo:
> http://colab.interlegis.leg.br/search/?type=thread&order=latest&list=gitec
>
> Regras de participação:
> http://colab.interlegis.leg.br/wiki/ComoParticiparComunidade
>
> Para administrar ou excluir sua conta visite:
> https://listas.interlegis.gov.br/mailman/listinfo/gitec
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.interlegis.gov.br/pipermail/gitec/attachments/20151016/38e8096b/attachment.html>


Mais detalhes sobre a lista de discussão GITEC