Openbravo Issue Tracking System - Openbravo ERP
View Issue Details
0047590Openbravo ERPA. Platformpublic2021-08-25 10:532021-09-07 06:53
egoitz 
alostale 
urgentmajoralways
closedfixed 
5
 
PR21Q4 
Core
No
0047590: Grid timeout is not working on the popup for audit trail when getting deleted records
The timeout defined for the grid is not working on the audit trail popup when clicking on getting deleted records options.
The query continues after the time defined on the timeout.
- ON an environment with thousands of entries on the audit trail window, for changes on the sales order table and audit enable.
- Go to the sales order window
- select a record
- Open the audit trail window
- Click on the get deleted records link
*The query is not killed after the time defined on the timeout.

2 connections are opened on active getting data from audit_trail [1]
and other getting appicaiton dictionary information [2]


[1] SELECT * FROM (
SELECT record_id as rowkey, event_time as audittrailtime, ad_user_id as audittrailuser, processType as audittrailprocesstype, process_id as audittrailprocessid
, (SELECT COALESCE(OLD_CHAR, TO_CHAR(OLD_NCHAR), TO_CHAR(OLD_NUMBER), TO_CHAR(OLD_DATE), TO_CHAR(OLD_TEXT))
  FROM AD_AUDIT_TRAIL
 WHERE AD_TABLE_ID='259'
   AND AD_COLUMN_ID='9569'
   AND ACTION='D'
   AND RECORD_ID = T.RECORD_ID
 ) as User1_ID
, (SELECT COALESCE(OLD_CHAR, TO_CHAR(OLD_NCHAR), TO_CHAR(OLD_NUMBER), TO_CHAR(OLD_DATE), TO_CHAR(OLD_TEXT))
  FROM AD_AUDIT_TRAIL
 WHERE AD_TABLE_ID='259'
   AND AD_COLUMN_ID='9331'
   AND ACTION='D'
   AND RECORD_ID = T.RECORD_ID
 ) as AD_OrgTrx_ID
, (SELECT COALESCE(OLD_CHAR, TO_CHAR(OLD_NCHAR), TO_CHAR(OLD_NUMBER), TO_CHAR(OLD_DATE), TO_CHAR(OLD_TEXT))
  FROM AD_AUDIT_TRAIL
 WHERE AD_TABLE_ID='259'
   AND AD_COLUMN_ID='9568'


[2] select adcolumnli0_.AD_Table_ID as AD_Tabl13_24_1_, adcolumnli0_.AD_Column_ID as AD_Colum1_24_1_, adcolumnli0_.AD_Column_ID as AD_Colum1_24_0_, adcolumnli0_.A



Stack trace:

"http-41" 0016526 daemon prio=5 os_prio=0 cpu=1862.49ms elapsed=26936.01s tid=0x00007f692804b000 nid=0x684b runnable [0x00007f69271f0000]
   java.lang.Thread.State: RUNNABLE
        at java.net.SocketInputStream.socketRead0(java.base@11.0.11/Native Method)
        at java.net.SocketInputStream.socketRead(java.base@11.0.11/SocketInputStream.java:115)
        at java.net.SocketInputStream.read(java.base@11.0.11/SocketInputStream.java:168)
        at java.net.SocketInputStream.read(java.base@11.0.11/SocketInputStream.java:140)
        at sun.security.ssl.SSLSocketInputRecord.read(java.base@11.0.11/SSLSocketInputRecord.java:478)
        at sun.security.ssl.SSLSocketInputRecord.readHeader(java.base@11.0.11/SSLSocketInputRecord.java:472)
        at sun.security.ssl.SSLSocketInputRecord.bytesInCompletePacket(java.base@11.0.11/SSLSocketInputRecord.java:70)
        at sun.security.ssl.SSLSocketImpl.readApplicationRecord(java.base@11.0.11/SSLSocketImpl.java:1364)
        at sun.security.ssl.SSLSocketImpl$AppInputStream.read(java.base@11.0.11/SSLSocketImpl.java:973)
        at org.postgresql.core.VisibleBufferedInputStream.readMore(VisibleBufferedInputStream.java:140)
        at org.postgresql.core.VisibleBufferedInputStream.ensureBytes(VisibleBufferedInputStream.java:109)
        at org.postgresql.core.VisibleBufferedInputStream.read(VisibleBufferedInputStream.java:67)
        at org.postgresql.core.PGStream.receiveChar(PGStream.java:293)
        at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1947)
        at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:306)
        - locked <0x000000033087e380> (a org.postgresql.core.v3.QueryExecutorImpl)
        at org.postgresql.jdbc.PgStatement.executeInternal(PgStatement.java:441)
        at org.postgresql.jdbc.PgStatement.execute(PgStatement.java:365)
        at org.postgresql.jdbc.PgPreparedStatement.executeWithFlags(PgPreparedStatement.java:155)
        at org.postgresql.jdbc.PgPreparedStatement.executeQuery(PgPreparedStatement.java:118)
        at jdk.internal.reflect.GeneratedMethodAccessor195.invoke(Unknown Source)
        at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(java.base@11.0.11/DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(java.base@11.0.11/Method.java:566)
        at org.apache.tomcat.jdbc.pool.StatementFacade$StatementProxy.invoke(StatementFacade.java:114)
        at com.sun.proxy.$Proxy70.executeQuery(Unknown Source)
        at org.openbravo.erpCommon.utility.ExecuteQuery.select(ExecuteQuery.java:176)
        at org.openbravo.erpCommon.businessUtility.AuditTrailDeletedRecords.getDeletedRecords(AuditTrailDeletedRecords.java:210)
        at org.openbravo.erpCommon.businessUtility.AuditTrailPopup.getDataRowsDeleted(AuditTrailPopup.java:1088)
        at org.openbravo.erpCommon.businessUtility.AuditTrailPopup.printGridDataDeleted(AuditTrailPopup.java:1012)
        at org.openbravo.erpCommon.businessUtility.AuditTrailPopup.doPost(AuditTrailPopup.java:232)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:661)
        at org.openbravo.base.HttpBaseServlet.serviceInitialized(HttpBaseServlet.java:200)
        at org.openbravo.base.secureApp.HttpSecureAppServlet.service(HttpSecureAppServlet.java:459)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
        at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)

No tags attached.
related to defect 0044265 closed cberner Grid timeout is not working on the popup for audit trail 
Issue History
2021-08-25 10:53egoitzNew Issue
2021-08-25 10:53egoitzAssigned To => platform
2021-08-25 10:53egoitzModules => Core
2021-08-25 10:53egoitzResolution time => 1631224800
2021-08-25 10:53egoitzTriggers an Emergency Pack => No
2021-08-25 10:53egoitzRelationship addedrelated to 0044265
2021-08-26 08:10egoitzSummaryrid timeout is not working on the popup for audit trail when getting deleted records => Grid timeout is not working on the popup for audit trail when getting deleted records
2021-08-30 12:18shuehnerNote Added: 0131437
2021-08-31 08:45alostaleAssigned Toplatform => alostale
2021-08-31 08:45alostaleStatusnew => scheduled
2021-08-31 08:58hgbotNote Added: 0131454
2021-09-07 06:53hgbotResolutionopen => fixed
2021-09-07 06:53hgbotStatusscheduled => closed
2021-09-07 06:53hgbotNote Added: 0131587
2021-09-07 06:53hgbotFixed in Version => PR21Q4
2021-09-07 06:53hgbotNote Added: 0131588

Notes
(0131437)
shuehner   
2021-08-30 12:18   
Probably just missing to apply 44265 fix also to the 2nd datasource (for the deleted record part)
(0131454)
hgbot   
2021-08-31 08:58   
Merge Request created: https://gitlab.com/openbravo/product/openbravo/-/merge_requests/426 [^]
(0131587)
hgbot   
2021-09-07 06:53   
Merge request merged: https://gitlab.com/openbravo/product/openbravo/-/merge_requests/426 [^]
(0131588)
hgbot   
2021-09-07 06:53   
Directly closing issue as related merge request is already approved.

Repository: https://gitlab.com/openbravo/product/openbravo [^]
Changeset: 448e3cec40b60c13179d889e1e09f29840eb79a1
Author: Asier Lostalé <asier.lostale@openbravo.com>
Date: 2021-08-31T08:50:00+02:00
URL: https://gitlab.com/openbravo/product/openbravo/-/commit/448e3cec40b60c13179d889e1e09f29840eb79a1 [^]

fixed BUG-47590: grid timeout not applied in audit trail deleted rows

Although correct grid query profile was set by fix 45a22d23973d for
BUG-44265, it was not applied when displaying deleted records. The
reason is deleted records queries are generated as manual sql and
executed through the ExecuteQuery API. This API was not taking into
account profile timeouts.

This commit:
 * Makes ExecuteQuery aware of query timeouts.
 * Allows AuditTrailDeletedRecords.getDeletedRecords to throw the
   exceptions that might occur during query execution so the caller
   catches them displaying a message to the user.
 * Removes an unused AuditTrailDeletedRecords.getDeletedRecords
   overloaded method.

---
M src/org/openbravo/erpCommon/businessUtility/AuditTrailDeletedRecords.java
M src/org/openbravo/erpCommon/businessUtility/AuditTrailPopup.java
M src/org/openbravo/erpCommon/utility/ExecuteQuery.java
---