查找

问题
· 六月 14, 2024

Interpreting Application Error Log

Hi, I am trying to optimize a method, I am only occasionally receiving Internal Server Error from GUI interaction and when viewing the Application Error Log in IRISHealth this is what I see. <UNDEFINED>%0Ac+3^%sqlcq.QM.uEgYAnxQ4duxnAiaOpZgvilz1tlo.1 *sqldata15d : CSP Error .

I have no idea how to read this and pinpoint the issue.

Full details below.

Namespace: QM
Process: 4624   06/15/2024 03:46:31 No: 2
Error: <UNDEFINED>%0Ac+3^%sqlcq.QM.uEgYAnxQ4duxnAiaOpZgvilz1tlo.1 *sqldata15d : CSP Error
Code Line:  
Comment:  
Stacks [Goto Bottom]
Expression Value
$D 0
$EC ,ZMAXSTRING,ZMAXSTRING,ZMAXSTRING,ZMAXSTRING,ZMAXSTRING,M6,ZZTRAP,ZMAXSTRING,M6,ZMAXSTRING,M6,ZINVALID BIT STRING,
$ES 18
$ET  
$H 67006,13591
$I |TCP|1972|4624
$J 4624
$K  
$P |TCP|1972|4624
$Roles %All,QMDev,QMUser
$S 1072906984
$T 0
$TL 0
$USERNAME ktrieu
$X 870
$Y 18
$ZA 24576
$ZB  
$ZC 5424
$ZE <UNDEFINED>%0Ac+3^%sqlcq.QM.uEgYAnxQ4duxnAiaOpZgvilz1tlo.1 *sqldata15d : CSP Error
$ZJ 2
$ZM SCAWDBY\Latin1\K\UTF8\
$ZP 6004
$ZR ^oddDEF("%Library.RegisteredObject","a","%%OID",58)
$ZS 1048576
$ZT ETNERRB^%ETN
$ZTS 67005,63991.1594495
$ZU( 5) QM
$ZU( 12) c:\intersystems\qm\mgr\
$ZU( 18) 0
$ZU( 20) QM
$ZU( 23,1) 5
$ZU( 34) 0
$ZU( 39) QM
$ZU( 55) 0
$ZU( 56,0) $Id: //iris/2023.1.0/kernel/common/src/ebool.c#1 $ 0
$ZU( 56,1) 13462
$ZU( 61) 18
$ZU( 61,30,n) 387710994
$ZU( 67,10,$J) 27
$ZU( 67,11,$J) CSP Gateway
$ZU( 67,12,$J) qm-test.intersystems.com.au
$ZU( 67,13,$J) CSPms.dll
$ZU( 67,14,$J) GRUfypNgxN
$ZU( 67,15,$J) 203.63.172.98
$ZU( 67,4,$J) 0^0^0^0
$ZU( 67,5,$J) %STACK
$ZU( 67,6,$J) QM
$ZU( 67,7,$J) |TCP|1972|4624
$ZU( 67,8,$J) 1162140
$ZU( 67,9,$J) 170830
$ZU( 68,1) 0
$ZU( 68,21) 0
$ZU( 68,25) 0
$ZU( 68,27) 1
$ZU( 68,32) 0
$ZU( 68,34) 1
$ZU( 68,36) 0
$ZU( 68,40) 1
$ZU( 68,41) 1
$ZU( 68,43) 0
$ZU( 68,5) 1
$ZU( 68,6) 0
$ZU( 68,7) 0
$ZU(131,0) QDAPAWS-QMSERVER-TEST
$ZU(131,1) QDAPAWS-QMSERVER-TEST:QM
$ZV IRIS for Windows (x86-64) 2023.1 (Build 235_1U) Fri Jun 2 2023 13:30:56 EDT
Error <UNDEFINED>
Lev 41
Line  
Routine %0Ac+3^%sqlcq.QM.uEgYAnxQ4duxnAiaOpZgvilz1tlo.1
Stacks
1 SIGN ON
  2 DO
3 PARAMETER ?,?,?,?
  4 ERROR TRAP S $ZTRAP="+314^%SYS.SERVER"
  5 DO SuperServer+60^%SYS.SERVER
6 PARAMETER ?
7 NEW NEW %SYSLOG
8 NEW NEW %request,%response,%session
  9 DO css+21^%SYS.cspServer2
10 PARAMETER ?
  11 DO ProcessRequest+1^%CSP.Request.1
12 PARAMETER ?
13 NEW NEW %SYSLOG
  14 ERROR TRAP S $ZTRAP="+100^%SYS.cspServer2"
  15 DO Request+25^%SYS.cspServer2
  16 DO Request+683^%SYS.cspServer2
17 PARAMETER .?,?,?
  18 DO ProcessRequest+1^%CSP.Session.1
19 PARAMETER .?,?,?
20 NEW NEW %request,%response,%session,%cspdebug,%cspsoapservice
  21 NEW $ NEW $ETRAP
22 NEW NEW %SYSLOG
  23 ERROR TRAP S $ZTRAP="+1125^%SYS.cspServer"
  24 DO CSPDispatch+274^%SYS.cspServer
  25 NEW $ NEW $ROLES
  26 $$EXTFUNC CSPDispatch+495^%SYS.cspServer
27 PARAMETER ?
28 NEW NEW %CSPsc
  29 $$EXTFUNC Page+6^%CSP.ErrorLog.1
30 PARAMETER .?
  31 DO OnErrorSetup+5^%CSP.ErrorLog.1
  32 PARAMETER
  33 NEW $ NEW $ETRAP
  34 DO HyperEventError+2^%CSP.ErrorLog.1
35 NEW NEW ISCRequest,ISCSession,ISCReponse,ISCErrorInfo
  36 DO zLogError+7^%CSP.ErrorLog.1
37 PARAMETER %00000
  38 ERROR TRAP S $ZTRAP="LOGE^%ETN"
  39 $$EXTFUNC LOG+7^%ETN ~s %00000("zr")=$$BACK()
40 NEW NEW %00000
  41 ERROR TRAP S $ZTRAP="ETNERRB^%ETN"
[Goto Top]
1 Comment
讨论 (1)2
登录或注册以继续
问题
· 六月 14, 2024

Create a unique constraint on an existing table

I have a table that is already created and contains data.  I need to create a unique constraint that is a combination of two fields. Is there a way to do this in a SQL statement?  Also, I would lke to know how to add it in the table class.

1 Comment
讨论 (1)2
登录或注册以继续
问题
· 六月 14, 2024

Webterminal bloqueado

Buenos dias
Cuando ejecuto algun comando en el webterminal que tiene mucha salida (por ejemplo zw ^IRIS.Msg), el comando se ejecuta bien pero el webterminal se queda en negro durante mucho rato (15 minutos) hasta que me da la salida.
Supongo que es algo de que le cuesta dar todo el texto a traves de la web, ya que el comando en sí tarda muy poco en ejecutarse.

¿Alguien más con este problema, alguna solucion?

Gracias

4 Comments
讨论 (4)3
登录或注册以继续
问题
· 六月 13, 2024

Python interaction with Config.config class not returning gmheap size

I am trying to extract GMHeap, Locksiz values form Config.config using python (imported irisnative for Python) but the below python progam is not returning any value. Please suggest if i am doing any mistake - 

Also, plese suggest how i can set values for GMHeap and Locksiz to a different value through Python.

 

 

import irisnative

hostname = "127.0.0.1"
port = 1972
namespace = "%SYS" #change the namespace based on situation
username = "_SYSTEM"
password = "xxxxxxxx"
connection = irisnative.createConnection(hostname, port, namespace, username, password)
dbnative = irisnative.createIris(connection)

gmheap_size=dbnative.classMethodValue("Config.config", "gmheap")
print(gmheap_size)

connection.close()

9 Comments
讨论 (9)2
登录或注册以继续
问题
· 六月 13, 2024

Which are the best practises to handle large JSON?

Hello everyone,

Recently, I've been working on a Business Process that processes a large JSON FHIR message containing up to 50k requests in an array within the JSON.

Currently, the code imports the JSON as a dynamic object from the original message stream, obtains an iterator from it, and processes each request one at a time in a loop.

The performance meets the requirements, even with much larger requests than the one exposed above. However, I am interested in learning the best practices for handling large JSON in ObjectScript (and why not, Embedded Python) to achieve better performance for future developments.

Here are some ideas I have considered:

  1. Iterative Processing: Process each element of the JSON iteratively without loading the entire stream into memory.
  2. Chunking: Split the loaded JSON into smaller chunks and process them one by one. I could split the array in parts and I wonder if getting an iterator from a smaller JSON chunk would reduce computation time.
  3. Parallel Processing: After splitting the JSON, using parallel processing to handle multiple requests simultaneously. I read something about %SYSTEM.WorkMgr but I'm not sure how can I implement it in this case.

I would appreciate any technical information or reference to documentation about the listed topic or any other additional best practices that could help in handling large JSON data more efficiently in ObjectScript and Embedded Python. 

Thank you!

2 Comments
讨论 (2)3
登录或注册以继续