I did some experiments on my local machine and found out that IRIS seems to associate each request (eg: CSP request) to a dedicated process named IrisDB.exe
This process has 3 threads, and one of them seems to be the main working thread (that will the handle request).
If I spawn many concurrent requests, the number of IrisDB processes on my local machine will grow (to make sure each request can be handled in parallel).
It seems there is a limit : it will create no more than 64 processes to handle requests (eg: even if 100 concurrent requests are send to IRIS).
Hi I want to utilise the file adaptor to pick up some PDF documents however I must not delete the source files from the server. I can see that there is a setting in the FTP adaptor to not delete from server but not in the file adaptor. Is there an easy way to do this or do I just need to create a custom adaptor that copies the files to a working location and records in a tracking global when I have done this so that I don't process the same file twice?
I use ZLANGC00 and ZLANGC01 for shortcuts at programmer level to some frequently used dev tools. Is there a way to pass 2 arguments to a command?
Example:
ZZQD "Queue1" // Equivalent to D ZZQD^%ZZLANGC00("Queue1") to display messages in queue1 (ZZQD is my own code in %ZZLANGC00)
but if I wanted to type ZZQD "Queue1" $H-3 to call ZZQD^%ZLANGC00("Queue1",$H-3) can it be done or do I need to write something to manipulate the argument? So ZZQD "Queue1-3"
I'm using the EnumerateJobStatus query of class Ens.Util.Statistics to obtain the LastActivity value of a Business Host.
I would expect that this would return the timestamp of the last message received by the BH, understanding that any connect/disconnect activity would reset that timer. However, the time returned appears to actually be the time at which Ens.MonitorService generated the alert and is not directly related to anything that happened in the BH itself.
Hello, I need to determine the best way to split a class containing multiple methods(about 20), into multiple classes in which each method is in its own class. I am wondering if there is another way other than manually creating the different classes, and copying each method into each class. Doing this in Intersystems Studio.
Hello everyone! Maybe someone will tell me what could be the reason for such messages in the message.log file
05/03/23-06:46:27:155 (6584) 0 [Utility.Event] [SYSTEM MONITOR] Mirror state: Member type = Failover, Status = Transition 05/03/23-06:46:27:350 (1620) 1 [Utility.Event] Failed InstanceLookup (agent probably not running): instance not found 05/03/23-06:46:27:351 (1620) 2 [Utility.Event] Failed to become either Primary or Backup at startup
I am trying to start the production after creating the business components in code, but I don't seem to be able to do so
11:06:25.843:Ens.Director: ERROR <Ens>ErrException: <CLASS DOES NOT EXIST>StartProduction+41^Ens.Director.1 *User.IRISPRODTEST -- logged as '-' number - @'' TESTING_ENV>
I'm trying to sign some custom JWT with x.509 certs but running into a problem with the signed JWT containing some information I need in the JOSE header.
Is there a way to get the "X5C:[]" header included in the signed JTW? IS this as easy as setting something like the following
Has anyone seen this before? I'm new/bad at Docker and not even sure how to debug.
$ sudo docker logs <container> [INFO] Starting InterSystems IRIS instance IRIS... [INFO] Unable to read the startup.last file to identify the location of the write image journal file (IRIS.WIJ) that was last in use by this instance. Please fix the permissions of the startup.last file.
I am running into an error trying to send an Alert Email to test the functionality of IRIS HealthShare Health Connect 2022.1 compared to Cache HealthShare Health Connect 2018.1.3. I was trying to send an Alert email, when I am getting the following error on my EMailAlert operation which is using EnsLib.EMail.OutboundAdpater.
ERROR <Ens>ErrException: <UNDEFINED>FText+4 ^%occMessages *msg -- logged as '-' number - @''
I'm trying to learn how to use the IKO for deploying solutions to Kubernetes. In my current project I'm trying to deploy the IAM onto a K8S context. Are there directly usable samples of the yaml file I need to use for that?
It is clear how to get the request header value with a specific name:
Class My.RestController Extends %CSP.REST
{
ClassMethod processRequest() As %Status
{
#dim request as %CSP.Request
set request = %request
set h = ##class(%REST.Impl).%GetHeader("...")
...
return $$$OK
}
But I can't figure out how to enumerate ALL the request headers (and also get all values).
Before delving too deeply, I was wondering if anybody else had already looked into or had developed a tool that extracts all the elements of a production into a spreadsheet, global, array, object etc. i.e. the Services, Processes and Operations within a production, and pulled particular properties/settings of those elements into a table - such as Ports, IP, Class, Adaptor, Timeout etc. ideally I want to present into a web page but if you have a different outputanything that exists will be helpful.
I have a %GlobalBinaryStream object that I'm trying to save as a local file after being received through a SOAP Web Service.
To do this, I created a %Stream.FileBinary object and wanted to set where the stream copied to this object would be saved by using either the DefaultStreamDir() ClassMethod or the NewFileName() ClassMethod. However, the documentation isn't very helpful on how to use these ClassMethods.
However our org requirement is for a caller to provide the API version in the HTTP request header. I am finding the cleanest way to route to the correct class using the header version. My classes are setup as
I have a client who' recently acquired a business that was running software that uses InterSystems IRIS as the database back end. In the process of preparing to have my company's software installed the client formatted the hard drive of his server, wiping out his data. I can't convert the data to MS SQL without a functioning database. He had a backup on an external drive, which I have copied down to my local machine. I loaded up a virtual machine with Windows 10 Pro, I installed Docker and IRIS. I started searching for explicit instructions for restoring the .CBK file, but I'm not hav
Is it possible to compile classes on a current version of the platform for a previous version? So using a compiler switch to compile classes that will run on a prior version?
We are implementation partners building a set of tools and we would like to ensure that the code will run on earlier versions we don't have access to.
On a developer's laptop, having had two or three Ensemble installs with different settings/config changes made, and encountering unexplained errors compiling classes, wanting to scrub as much of the previous installs off the machine before doing any fresh installation... But can't find clear documentation on doing a complete uninstall!
Have stopped the server.
Am I safe to remove C:\InterSystems\Ensemble (for the instance installed into that folder)?
Reviewing a client console log, I am finding the message:
Terminal disconnect: The specified network name is no longer available.
This message is repeated in the log dozens of times per day over the last month. The client has not raised a concern and our monitoring has not detected any issues with client ops. The client is not aware of any recent changes with their apps. I am not familiar with this message and whether this message is benign or whether there is any action required,
I wrote a function awhile back to take Encoded Base 64 and write the PDF out to a file that could be sent to a faxing system to fax out. We are trying to test this code out in IRIS and I am seeing an error that I have not seen before... ERROR #5034: Invalid status code structure
Here is the code...
ClassMethod DecodeBase64HL7ToFile(base64 As %Stream.GlobalBinary, Ancillary As %String, FileName As %String) As %String
{
set ArchDir = "/ensemble/data/transfer/AncillaryPDF/"