writing status to file: /home/irisowner/irissys/iscagent.status
Reading configuration from file: /home/irisowner/irissys/iscagent.conf
ISCAgent[15]: Starting
ISCAgent[19]: Starting ApplicationServer on *:2188
[ERROR] Required Linux capability cap_setuid is missing.
[ERROR] Required Linux capability cap_dac_override is missing.
[ERROR] Required Linux capability cap_fowner is missing.
[ERROR] Required Linux capability cap_setgid is missing.
[ERROR] Required Linux capability cap_kill is missing.

I found this link that references the error. I will make the changes to the docker-compose.yml
 

Alex can you explain a bit more on how 

>set tSC=##class(UnitTest.Test.DTL.TestTrans.TransformSource2).AddTestFromMessageBody("EnsLib.HL7.Message",1218511,1,.sourceXdataName,.targetXdataName)
 

is suppose to work? I tried the message above with the 1218515 message ID and got a syntax error.

DEVCLIN>set tSC=##class(UnitTest.Test.DTL.TestTrans.TransformSource2).AddTestFromMessageBody("EnsLib.HL7.Message",1218515,1,.sourceXdataName,.targetXdataName)

SET tSC=##CLASS(UnitTest.Test.DTL.TestTrans.TransformSource2).AddTestFromMessage
^
Body("EnsLib.HL7.Message",1218515,1,.sourceXdataName,.targetXdataName)
<CLASS DOES NOT EXIST> *UnitTest.Test.DTL.TestTrans.TransformSource2

Jul 25 13:21:31 int-lxiris-vd01 kernel: oom-kill:constraint=CONSTRAINT_NONE,nodemask=(null),cpuset=/,mems_allowed=0,global_oom,task_memcg=/user.slice/user-2001341.slice/session-1349.scope,task=irisdb,pid=1411729,uid=327
Jul 25 13:21:31 int-lxiris-vd01 kernel: Out of memory: Killed process 1411729 (irisdb) total-vm:64515128kB, anon-rss:40949392kB, file-rss:216kB, shmem-rss:21504kB, UID:327 pgtables:100648kB oom_score_adj:0
 

I am not seeing much in the logs. I tried executing it from the GUI again and this popped up in the logs...

alerts.log
07/25/22-11:07:30:783 (1170818) 2 [Generic.Event] Process terminated abnormally (pid 1407120, jobid 0x000501f1)

messages.log
07/25/22-11:07:30:783 (1170818) 2 [Generic.Event] Process terminated abnormally (pid 1407120, jobid 0x000501f1)
07/25/22-11:07:30:802 (1170818) 0 [Generic.Event] cleaned dead job, pid: 1407120, jobid 0x000501f1
07/25/22-11:08:29:835 (1407553) 2 [Utility.Event] ResourceCleanup: Dead job cleanup from '' job '1407120' of 'gbl:^IRIS.Temp.cspServer(1407120)'

csp.log
local-time="Mon Jul 25 11:04:14 2022" wg-build="RT 2201.1823 (linux/apapi:srv=2.4.52/apr=1.7.0/apu=1.6.1/mpm=worker)" wg-log-level=-1 when="2022-07-25 15:04:14.745" level=WARNING event=WebGateway.ProcessRequest pid=1170851 thread-id=139680926398208 csp-connection-no=0 csp-server="LOCAL" csp-server-pid=1407120 csp-request-id=6f7 csp-session-id=oShZWGY9SY csp-remote-addr=10.95.70.50 csp-page="POST /csp/healthshare/devclin/%CSP.Broker.cls" text="Error Condition" details="CSP application closed the connection before sending a complete response"
 

Since messages.log mentions IRIS.Temp.cspServer does it mean there is an issue with globals?

I made the suggested change to the Web Application but till received...

I did not see anything in the Application log, but did do a trace on the Web Gateway and found this...But it appears the Web Gateway returned a 200?

HTTP/1.1 200 OK
Content-Type: application/x-csp-hyperevent
Set-Cookie: CSPSESSIONID-SP-52773-UP-csp-healthshare-=000000010000NDWvnIIgxIxABp0JuJLbDWSBd89wThY$r1wuVK; path=/csp/healthshare/; httpOnly; sameSite=lax;
Cache-Control: no-cache
Date: Mon, 25 Jul 2022 11:46:01 GMT
Expires: Thu, 29 Oct 1998 17:04:19 GMT
Pragma: no-cache
Set-Cookie: CSPWSERVERID=hA035JK3; path=/; httpOnly;
Content-Length: 614 000000010000NDWvnIIgxIxABp0JuJLbDWSBd89wThY$r1wuVK
#R
// InvokeInstanceMethod:
try {
}
catch(ex) {
var text = 'A JavaScript error occurred while invoking a server instance method.\nClass: EnsPortal.InterfaceMaps\nMethod: PrepareCancel\n';
zenExceptionHandler(ex,arguments,text);
}
// %EndChangeTracking: sync client with server changes
try {
}
catch(ex) {
zenExceptionHandler(ex,arguments,'A JavaScript error occurred in %EndChangeTracking.');
}
delete _zenProxyIndex[-2]; if (zenPage && zenPage.onServerMethodReturn) {
zenPage.onServerMethodReturn('PrepareCancel');
}
#OK
1172932

A couple of questions about UnitTest as we have not used it before...

  1. Your application only tests the message you define like in Example.cls?
  2. What if we want to test more than one ADT message? Can this be modified to use a file instead?
  3. Also is it possible to test the DTL at the same time and send that result to a file based on the Rule within the Business Process?

I just would like to understand the process a bit more to see if it is valuable for us to use...like I said before ideally I would like to automate a way to feed in a file send it though all the necessary routers (to make sure the rules still work) and collect the output from the DTLs that I can compare to our Production server.

If I have the proof or can report on it, I can use it to show that the testing works, and put the rest of my team's mind at ease from moving from 2018.1.3 to 2022.1

Cache for UNIX (IBM AIX for System Power System-64) 2018.1.3 (Build 414U) Mon Oct 28 2019 11:24:02 EDT
 

I tried 

TESTCLIN>set msg = ##class(EnsLib.HL7.Message).%OpenId(2725582908)

TESTCLIN>d msg.OutputToLibraryStream(.msgstream)

 Set tIOStream=$S(pLibStream.%Extends("%IO.I.CharacterStream"):pLibStream, 1:##C
 ^
lass(%IO.MetaCharacterStream).%New(pLibStream))
<UNDEFINED>zOutputToLibraryStream+1^EnsLib.HL7.Message.1 *pLibStream

but OutputToLibraryStream generated the error above. Can you tell me why?