Nova postagem

Pesquisar

Pergunta
· Fev. 27

Problemas com Lock em algumas tabelas no IRIS

Olá, boa tarde,


Em nosso sistema temos um processo de cópia, que basicamente é responsável por copiar um conjunto de dados de algumas tabelas no banco e replicar para novos registros no banco de dados.

Já utilizamos essa mesma funcionalidade com o banco de dados Posrgresql e funciona normalmente, porém quando utilizamos com o IRIS temos alguns erros relacionados a LOCK, por exemplo:

[Location: <ServerLoop>]
[%msg: <Unable to acquire lock for UPDATE of table 'SQLUser.dlfolder' on row with RowID = '4148'>]
00:00:36,890 ERROR [org.hibernate.engine.jdbc.batch.internal.BatchingBatch] (BackgroundTaskExecutor_87) HHH000315: Exception executing batch [could not execute batch]
00:00:36,890 INFO  [stdout] (BackgroundTaskExecutor_87) 2025-02-13 00:00:36.890 ERROR [BackgroundTaskExecutor_87] BasePersistenceImpl.java:256 Caught ORMException: org.hibernate.exception.GenericJDBCException: could not execute batch
00:00:36,892 INFO  [stdout] (BackgroundTaskExecutor_87) 2025-02-13 00:00:36.892 WARN  [BackgroundTaskExecutor_87] EntidadeLocalServiceImpl.java:793 
00:00:36,893 INFO  [stdout] (BackgroundTaskExecutor_87) com.liferay.portal.SystemException: com.liferay.portal.kernel.dao.orm.ORMException: org.hibernate.exception.GenericJDBCException: could not execute batch
00:00:36,893 INFO  [stdout] (BackgroundTaskExecutor_87) 	at com.liferay.portal.service.persistence.impl.BasePersistenceImpl.processException(BasePersistenceImpl.java:267) ~[target2-impl.jar:na]
00:00:36,893 INFO  [stdout] (BackgroundTaskExecutor_87) 	at com.liferay.portlet.documentlibrary.service.persistence.DLFolderPersistenceImpl.updateImpl(DLFolderPersistenceImpl.java:348) ~[target2-impl.jar:na]
00:00:36,893 INFO  [stdout] (BackgroundTaskExecutor_87) 	at com.liferay.portlet.documentlibrary.service.persistence.DLFolderPersistenceImpl.update(DLFolderPersistenceImpl.java:275) ~[target2-impl.jar:na]
00:00:36,893 INFO  [stdout] (BackgroundTaskExecutor_87) 	at com.liferay.portlet.documentlibrary.service.persistence.DLFolderPersistenceImpl.update(DLFolderPersistenceImpl.java:325) ~[target2-impl.jar:na]
00:00:36,893 INFO  [stdout] (BackgroundTaskExecutor_87) 	at com.liferay.portlet.documentlibrary.service.impl.DLFolderLocalServiceImpl.addFolder(DLFolderLocalServiceImpl.java:116) ~[target2-impl.jar:na]
00:00:36,893 INFO  [stdout] (BackgroundTaskExecutor_87) 	at com.liferay.portlet.documentlibrary.service.impl.DLFolderLocalServiceImpl.addFolder(DLFolderLocalServiceImpl.java:72) ~[target2-impl.jar:na]

 

[%msg: <Unable to acquire lock for UPDATE of table 'SQLUser.objetivo' on row with RowID = '31'>]
00:01:06,474 ERROR [org.hibernate.engine.jdbc.batch.internal.BatchingBatch] (BackgroundTaskExecutor_84) HHH000315: Exception executing batch [could not execute batch]
00:01:06,474 INFO  [stdout] (BackgroundTaskExecutor_84) 2025-02-13 00:01:06.474 ERROR [BackgroundTaskExecutor_84] BasePersistenceImpl.java:256 Caught ORMException: org.hibernate.exception.GenericJDBCException: could not execute batch
00:01:06,530 INFO  [stdout] (BackgroundTaskExecutor_84) 2025-02-13 00:01:06.530 ERROR [BackgroundTaskExecutor_84] EntidadeLocalServiceCustomTxImpl.java:144 
00:01:06,530 INFO  [stdout] (BackgroundTaskExecutor_84) com.liferay.portal.SystemException: com.liferay.portal.kernel.dao.orm.ORMException: org.hibernate.exception.GenericJDBCException: could not execute batch
00:01:06,530 INFO  [stdout] (BackgroundTaskExecutor_84) 	at com.liferay.portal.service.persistence.impl.BasePersistenceImpl.processException(BasePersistenceImpl.java:267) ~[target2-impl.jar:na]
00:01:06,530 INFO  [stdout] (BackgroundTaskExecutor_84) 	at br.com.facilit.portlet.planooperativo.service.persistence.ObjetivoPersistenceImpl.updateImpl(ObjetivoPersistenceImpl.java:639) ~[target2-impl.jar:na]
00:01:06,530 INFO  [stdout] (BackgroundTaskExecutor_84) 	at br.com.facilit.portlet.planooperativo.service.persistence.ObjetivoPersistenceImpl.update(ObjetivoPersistenceImpl.java:566) ~[target2-impl.jar:na]
00:01:06,530 INFO  [stdout] (BackgroundTaskExecutor_84) 	at br.com.facilit.portlet.planooperativo.service.persistence.ObjetivoPersistenceImpl.update(ObjetivoPersistenceImpl.java:616) ~[target2-impl.jar:na]
00:01:06,531 INFO  [stdout] (BackgroundTaskExecutor_84) 	at br.com.facilit.portlet.planooperativo.service.impl.ObjetivoLocalServiceImpl.updateObjetivo(ObjetivoLocalServiceImpl.java:1110) ~[target2-impl.jar:na]
00:01:06,531 INFO  [stdout] (BackgroundTaskExecutor_84) 	at br.com.facilit.portlet.planooperativo.service.impl.ObjetivoLocalServiceImpl.updatePageOwner(ObjetivoLocalServiceImpl.java:1118) ~[target2-impl.jar:na]


Esse erro ocorre quando há mais de uma cópia sendo feita simultanemanente. Além disso, percebemos erros de locking, em outras operações mais básicas como edição de registros.

No postgreSql não observamos esse erro ocorrendo. Desse modo, gostaria de compartilhar estes logs com vocês e ver se poderiam nos ajudar e contribuir com alguma possível configuração no Iris, a fim de evitar os erros de locking.

Obs: Já estamos fazendo tratamento em nível de código, porém os erros persistem em ocorrer.

 

Desde já muito obrigado.

5 Comments
Discussão (5)2
Entre ou crie uma conta para continuar
Pergunta
· Fev. 27

Cache - Conexão utilizando JDBC

Pessoal, para consumir dados no caché utilizando uma conexão de uma aplicação java via driver JDBC é necessário realizar alguma configuração adicional no caché?

2 Comments
Discussão (2)1
Entre ou crie uma conta para continuar
Pergunta
· Fev. 27

Cache TimeZone Abbreviation (i.e. EST, PST, etc...)

Dear Fellow Cache Gurus:   I would like to know if there is either any built-in Cache Date/Time function or an easy way to include a timezone abbreviation such as EST, PST, MST, etc... within the Cache Date/Time formats.

I read through the Cache Documentation but could not find anything to achieve this.

So if I do the following command:   $ZDateTime($H,1,4,,,4,,,,,"InvalidDate"), then I get an output like this:   02/27/2025 11:10AM

But I am looking for the output to be formatted like this:    02/27/2025 11:10AM EST

Any feedback, suggestions, etc.... would be greatly appreciated.   I am sure some of you have stumbled across this type of dilemma over the years, so hopefully there is a simple answer.

Best Regards and Go Team!!!

Discussão (0)1
Entre ou crie uma conta para continuar
Discussão (2)1
Entre ou crie uma conta para continuar
Anúncio
· Fev. 27

[Video] Using InterSystems OMOP to Transform FHIR Data

Hi, Community!

Are you working with clinical data in a research setting? See how InterSystems OMOP streamlines data integration and analysis.

Using InterSystems OMOP to Transform FHIR Data

In this video, you will hear from Physician Executive @Qi Li about how clinical data is converted from HL7® FHIR® to the OMOP format. You'll see how this works, and how it impacts clinical research.

💡Get an introduction to InterSystems OMOP (video, 3m).

Discussão (0)1
Entre ou crie uma conta para continuar