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

celso magela de almeida celso em pocosdecaldas.mg.leg.br
Quinta Outubro 15 18:02:42 BRT 2015


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/20151015/15c96579/attachment.html>


Mais detalhes sobre a lista de discussão GITEC