go to post Eduard Lebedyuk · Jul 28, 2022 Great article. Here's some of my ideas on how to pass large strings/streams to InterSystems IRIS from Native API.
go to post Eduard Lebedyuk · Jul 25, 2022 Yeah, the process had 64,5 Gb of virtual memory allocated and 40Gb actually used. Not surprised OOM killed that.
go to post Eduard Lebedyuk · Jul 25, 2022 That's InterSystems IRIS logs. You need OS logs, namely syslog (check /var/log/syslog or /var/log/messages). Search for log entries about the "killed process" around the time your process was killed. To be extra sure run write $job before calling the query to get process id. It should match the id of a killed process. After you establish that your process was killed by OOM you need to report that to WRC, as a fix probably requires if not access, then at least overview of the production configuration which causes it.
go to post Eduard Lebedyuk · Jul 25, 2022 Let's see how much time does it take to run in a non web context. There would be no timeouts in that case. Could you please run this in your interoperability namespace: set start=$h,rs=##class(Ens.InterfaceMaps.Utils).EnumeratePathsFunc(),end=$h write "Time in seconds: ", $p(end, ",", 2)-$p(start, ",", 2) If you run the query in SMP with parameters set them here too. EnumeratePaths query docs. Also after you obtain the result set, you can output it to a terminal using %Display method, or to a file using %DisplayFormatted method.
go to post Eduard Lebedyuk · Jul 25, 2022 It's a windows box issue, not InterSystems IRIS issue. I've seen a few, easiest solution is to delete localised DLLs, which would make all text English. Not perfect, but better than the gibberish.
go to post Eduard Lebedyuk · Jul 25, 2022 In your Business Service settings set ClassName to pacIPM.reqICNARC and ElementName to ADMISSION. I think you set only ClassName and did not set ElementName. In that case interoperability tries to match root object - ICNARC in your case to pacIPM.reqICNARC, and it fails because pacIPM.reqICNARC class does not have ADMISSION property.
go to post Eduard Lebedyuk · Jul 23, 2022 It looks like an encoding problem, Win-1251 to Win-1252 specifically.
go to post Eduard Lebedyuk · Jul 21, 2022 Is there a solution for latest? Spent like half an hour on this puzzle with no results.
go to post Eduard Lebedyuk · Jul 20, 2022 What particular question do you have? Please consider providing more information. You get a callresponse from a BO, copy it (or copy id as you'd leave the stream immutable) and create a new callrequest to another BO. Alternatively use ResponseClass to save results into persistent objects.
go to post Eduard Lebedyuk · Jul 18, 2022 SAM gives you graphana/prometheus out-of-the-box and connected to IRIS, that would be the easiest solution to deploy.
go to post Eduard Lebedyuk · Jul 16, 2022 Yes. Cube builds don't modify source data. Cubes copy all source data into an entirely separate set of tables.
go to post Eduard Lebedyuk · Jul 15, 2022 Absolutely not. During SYNC or REBUILD events Data Quality Manager cubes would only read patient index linkage definition data. There's no way for cubes to modify patient index linkage definition data. That said, reads, cube data writes, and additional cpu load during SYNC or REBUILD events might impact the running system, since there's a limited amount of resources available. You might want to schedule SYNCs and especially REBUILDs for low-load times (at nights or weekends depending on your usage patterns). Using async reporting mirror for cubes would completely remove the impact on the patient index.