cleydyr / biblivre

Biblioteca Livre Internacional - an open source library management system and OPAC. Forked from https://github.com/Biblivre/Biblivre-5
https://biblivre.org.br
GNU General Public License v3.0
15 stars 7 forks source link

Erro ao restaurar qualquer backup #340

Closed Alex-Almeida closed 2 years ago

Alex-Almeida commented 2 years ago

Bom dia @cleydyr, segue o novo issue com o problema de restaurar backup.

Testado nas versões: branch issue-338 e master (problema ocorre) branch issue-330 (problema não ocorre)

Problema Ao tentar restaurar qualquer backup apresenta erro.

Como reproduzir:

Aqui tem um backup que criei, tem apenas 1 livro cadastrado e com poucos campos backupTesteMaster.zip

Aqui o log do erro:

[Log de restauração de backup do BIBLIVRE 5]
single_schema => single_schema
Restoring 2 schemas for a total of 15943 SQL lines
Starting psql
Renaming schema single to _single_1657675063716
Renaming schema global to _global_1657675063716
Processing schema for 'global'
Processing data for 'global'
biblivre.administration.backup.exception.RestoreException: java.io.IOException: Broken pipe
    at biblivre.administration.backup.RestoreBO._writeLine(RestoreBO.java:856)
    at biblivre.administration.backup.RestoreBO.lambda$processRestore$0(RestoreBO.java:201)
    at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
    at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179)
    at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179)
    at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179)
    at java.base/java.nio.file.FileChannelLinesSpliterator.forEachRemaining(FileChannelLinesSpliterator.java:133)
    at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
    at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
    at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
    at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
    at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
    at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596)
    at biblivre.administration.backup.RestoreBO.processRestore(RestoreBO.java:199)
    at biblivre.administration.backup.RestoreBO._processGlobalSchema(RestoreBO.java:310)
    at biblivre.administ
[backupTesteMaster.zip](https://github.com/cleydyr/biblivre/files/9098063/backupTesteMaster.zip)
ration.backup.RestoreBO.restoreBackup(RestoreBO.java:246)
    at biblivre.administration.backup.RestoreBO.restore(RestoreBO.java:135)
    at biblivre.administration.setup.Handler.restore(Handler.java:388)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:568)
    at biblivre.core.controllers.Controller.processRequest(Controller.java:181)
    at biblivre.core.controllers.SchemaServlet.processDynamicRequest(SchemaServlet.java:177)
    at biblivre.core.controllers.SchemaServlet.processDynamicRequest(SchemaServlet.java:138)
    at biblivre.core.controllers.SchemaServlet.doPost(SchemaServlet.java:133)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:681)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:764)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
    at biblivre.core.controllers.ExtendedRequestResponseFilter.doFilter(ExtendedRequestResponseFilter.java:63)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
    at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:687)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360)
    at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399)
    at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
    at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:890)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1787)
    at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
    at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
    at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    at java.base/java.lang.Thread.run(Thread.java:833)
    Suppressed: java.io.IOException: Stream closed
        at java.base/java.lang.ProcessBuilder$NullOutputStream.write(ProcessBuilder.java:445)
        at java.base/java.io.OutputStream.write(OutputStream.java:162)
        at java.base/java.io.BufferedOutputStream.write(BufferedOutputStream.java:123)
        at java.base/sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:234)
        at java.base/sun.nio.cs.StreamEncoder.implWrite(StreamEncoder.java:304)
        at java.base/sun.nio.cs.StreamEncoder.implWrite(StreamEncoder.java:282)
        at java.base/sun.nio.cs.StreamEncoder.write(StreamEncoder.java:132)
        at java.base/java.io.OutputStreamWriter.write(OutputStreamWriter.java:205)
        at java.base/java.io.BufferedWriter.flushBuffer(BufferedWriter.java:120)
        at java.base/java.io.BufferedWriter.close(BufferedWriter.java:268)
        at biblivre.administration.backup.RestoreBO.restoreBackup(RestoreBO.java:237)
        ... 37 more
Caused by: java.io.IOException: Broken pipe
    at java.base/java.io.FileOutputStream.writeBytes(Native Method)
    at java.base/java.io.FileOutputStream.write(FileOutputStream.java:349)
    at java.base/java.io.BufferedOutputStream.write(BufferedOutputStream.java:123)
    at java.base/sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:234)
    at java.base/sun.nio.cs.StreamEncoder.implWrite(StreamEncoder.java:304)
    at java.base/sun.nio.cs.StreamEncoder.implWrite(StreamEncoder.java:282)
    at java.base/sun.nio.cs.StreamEncoder.write(StreamEncoder.java:132)
    at java.base/java.io.OutputStreamWriter.write(OutputStreamWriter.java:205)
    at java.base/java.io.BufferedWriter.flushBuffer(BufferedWriter.java:120)
    at java.base/java.io.BufferedWriter.write(BufferedWriter.java:233)
    at java.base/java.io.Writer.write(Writer.java:249)
    at biblivre.administration.backup.RestoreBO._writeLine(RestoreBO.java:853)
    ... 52 more
cleydyr commented 2 years ago

Obrigado por abrir este caso, @Alex-Almeida . Pode dar uma olhada no branch issue-340 e informar se lá o problema está solucionado?

Alex-Almeida commented 2 years ago

Obrigado por abrir este caso, @Alex-Almeida . Pode dar uma olhada no branch issue-340 e informar se lá o problema está solucionado?

Baixei o branch issue-340 e está funcionando. Mto obrigado!

lugusto commented 2 years ago

Olá

Acabei de fazer uma instalação numa máquina virtual com Ubuntu 22.04 e encontrei um bug residual. Apesar dos backups terem sido restaurados, em Biblivre6/?action=multi_schema_configurations, para "Caminho de destino das cópias de segurança (Backups)", "valor atual" exibe "Caminho inválido. Este diretório não existe ou o Biblivre não possui permissão de escrita."

Já em Biblivre6/?action=multi_schema_backup nada abre (tela em branco).

Aproveito para agradecer o esforço de manter o sistema utilizável em distros correntes.

cleydyr commented 2 years ago

Oi, @lugusto. Obrigado por apontar esse problema.

Eu abri os casos #342 e #343 e já incorporei as mudanças no master.

P.S.: @lugusto, seria excelente se numa ocasião futura você pudesse abrir um caso novo em vez de comentar num caso já fechado; você pode referenciar o caso fechado se necessário.