#InterSystems IRIS

19 Followers · 5.6K Posts

InterSystems IRIS is a Complete Data Platform
InterSystems IRIS gives you everything you need to capture, share, understand, and act upon your organization’s most valuable asset – your data.
As a complete platform, InterSystems IRIS eliminates the need to integrate multiple development technologies. Applications require less code, fewer system resources, and less maintenance.

New
Question Kurro Lopez · Mar 16

Hi all.

I have a rather strange problem.

I've created a method in Python to create a vector for a vector search. So far, so good.

If I call this method from the terminal, it works correctly:

But if I make this same call from a code block in a Business Process, it gets stuck, doesn't respond, and throws the following error:

Does anyone know what's happening and how to fix it?

Thank you in advance

0
0 30
New
Question Scott Roth · Mar 12

We are trying to track down significant growth within our Namespaces, one big culprit is Ens.AppData (EnsLib.SQL.Snapshot). 

Within many of our BPL's we use EnsLib.SQL.Snapshot to return Results from External SQL Stored Procedures or Query's. The same EnsLib.SQL.Snapshot context variable is used for many of these calls within a BPL. 

Is there something we should be doing at the end of the BPL to ensure that EnsLib.SQL.Snapshot gets cleaned up and purged from Ens.AppData?

1
0 22
New
Question Scott Roth · Mar 10

How can I create a Task that tells a Ens.BusinessService to execute its SQL query using the EnsLib.SQL.InboundAdapter?

So far I have come up with

Class OSU.Workday.TerminationsTask Extends %SYS.Task.Definition
{

Parameter TaskName As STRING = "OSU - Workday Termination Update";

Method OnTask() As %Status
{
    try{
        // Call BusinessService
        set tSC = ##class(Ens.Director).CreateBusinessService("OSU.DataSource.Workday.TermService",.tService)

        if $IsObject(tService){
            set inputMessage = ##class(Ens.StringContainer).
6
0 64
New
Question Luis Dellán · Mar 10

How to execute a stored procedure in a remote DB2 database?

Hi Everyone,

I want to access a stored procedure in a remote DB2 database. The stored procedure in question is linked and receives a numeric value, returning a cursor with N number of rows. Sometimes the number of rows reaches hundreds of thousands, so I need to apply pagination.

I've been reading about the %ScrollableResultSet library, but it doesn't allow me to call a stored procedure.

Here's part of the code:
Set pValor=12345678
Set callSql="CALL Paquete.ClaseSpRemoto(?)"
Set rs=##class(%ScrollableResultSet).

0
0 29
New
Question Malaya Acharya · Mar 5

Is there any Cache setting that needs to be checked while configuring IRIS Community Edition 2025.2 and does it impact WIJ recovery.

Also I have kept Database, WIJ and JOURNAL on the same snapshot group with Consistency . Is it the recommended settings? Am I getting the WIJ mismatch error due to this setting?

1
0 42
New
Question Anderson Negreli · Mar 3

I am currently managing environments running InterSystems IRIS and Caché on Windows servers.

I’m reviewing storage optimization best practices and I have a question regarding a specific Windows drive setting: "Allow files on this drive to have contents indexed in addition to file properties."

Based on my research, everything indicates that it is better to disable this option, especially on drives used by databases. However, I couldn't find a specific "official" stance in the documentation explicitly mentioning this checkbox.

3
0 79
Question Scott Roth · Mar 2

I am stuck at a crossroad and was wondering if I could get a second pair of eyes to help with a query that I am sending from a Task to a Service to process some data.

I have a Linked Table (view) that points back to a MS SQL View that I am trying to query. However, my execution keeps either failing or not returning any rows. When I take the SQL Query and execute it within the Management Portal I get results, however Cache is not seeing it when trying to execute this code.

4
0 81
Question Malaya Acharya · Mar 2

I had configured the environment as follows:

OS: Redhat Linux 9.4

IRIS 2025.2 installed on local directory

IRIS Database: One LVM is created with 20 Storage luns and the LVM is mounted on a mount point. IRIS database is created on that

Primary and Alternate Journal: One LVM is created with 5 Storage luns and the LVM is mounted on a mount point. IRIS database is created on that.

WIJ: One LVM is created with 5 Storage luns and the LVM is mounted on a mount point. IRIS database is created on that.

So Data, WIJ and Journal is mounted on 3 separate mount point.

2
0 85
Question Malaya Acharya · Mar 1

I have installed IRIS community edition on a local directory in Redhat Linux 9.4.

Created a 10G database on a separate mount point directory  which comes out of a storage volume of 50G.

Also placed Journal and WIJ on 2 separate mount point directories  which comes out of two different storage volume of 50G each.

I want to take a snapshot and recover the snapshot on a secondary host and check the consistency of the database. 

As Storage snapshot will be taken, only Data, Journal and WIJ file placed on Storage volumes will be snapshotted.

7
0 96
Question John Murray · Feb 27

I am configuring a set of Linux (RHEL 9) servers to operate as an IRIS 2025.1 mirror set. Mirroring traffic is using TLS, so each IRIS server has the necessary TLS configurations. However installation of ISCAgent on the dedicated arbiter host didn't make any mention of TLS or certificates. Nor did I find anything about this when searching IRIS documentation.

Am I missing something? Does the traffic between the IRIS hosts and the arbiter host use TLS? Should I be installing any certs on the arbiter host to facilitate secure communication?

2
0 69
Question Norman W. Freeman · Feb 25

I have a global with multiple nodes : 

^A("ABC") = ""
^A("DEF") = ""
^A(123) = ""

How to create a new single node in that global, in a way it's always at the end of the global (eg: this will be the very last node being enumerated)

I end up with this code but maybe there is a cleaner and simpler approach : 

set ^A($char(65535)) = "" //should be bigger than any character inserted
set ^A($char(255)) = ""   //some systems does not seems to support >255 characters, this might be safer

I only need to write it once, this code is not intended to be used in a loop or something, just to add something at

6
0 149
Question Enrico Parisi · Feb 19

I need to reproduce a table (in fact a view, but let's start with a simple table 😊) in IRIS as the currently used in Oracle.

I need to expose/project one column to JDBC as CLOB, in my class I have the corresponding property defined as:

Property GlobStream As %Stream.GlobalCharacter;

In JDBC this column is projected as LONGVARCHAR, this is compliant with the documentation but I need to project it as CLOB.

In addition, I'm no expert in JDBC but wit seems that LONGVARCHAR has a Maximum Length 32,700 characters in JDBC, not quite enough for an arbitrary stream.

8
0 94
Question Thomas Wuppermann · Feb 19

We use local containers  a lot for evaluation and development with Health Connect and other IRIS based applications.

When evaluating Podman Desktop on Windows as replacement for Docker Desktop, we are experiencing an issue with the durable %SYS:

The only way it works is when we use a named volume which then is located inside the WSL-Podman-Machine under /var/lib/containers/storage/volumes/.

1
0 37
Question Carl Deitrich · Feb 17

We are attempting to "Repoint" old class data to new class data to save disk space and data redundancy across multiple tables. This works to a point.  In essence the two classes are sharing the same data / Index / stream globals.  But if an ID in the Old_Class is opened, a property is modified, and saved the property that is in the New_Class (but not in the Old_Class) is NULLed / blanked.

Simplified explanation of data and what’s occurring.

10
0 82
Question Eduard Lebedyuk · Feb 11

When I build docker containers my build log usually looks like this:

#9 24.94 Using 'iris.cpf' configuration file
#9 25.82
#9 27.55 Starting Control Process
#9 27.55 Global buffer setting requires attention.  Auto-selected 25% of total memory.
#9 27.55 Allocated 4999MB shared memory
#9 27.55 3915MB global buffers, 391MB routine buffers
#9 29.84 This copy of InterSystems IRIS has been licensed for use exclusively by:
#9 29.84 No local key detected, trying license server.
#9 29.84 Copyright (c) 1986-2026 by InterSystems Corporation
#9 29.
2
0 66
Question joseph caroè · Feb 11

Hello everyone. I'm currently working on how to implement a solution that makes it possible to include within the response of a BusinessOperation the "RetryCount" for each message.
For Example, we have this message that was retried twice:

This is an HL7.message going through a specific business operation, we did not create a custom one: we used the default implementation EnsLib.HL7.Operation.TCPOperation. This operation should automatically handle retries (infinetely waiting on a response).

1
0 40
Question Lynton Blair · Feb 9

in C++ program with #include iris-callin.h..  The program terminateswhen it tries to execute IRISSECURESTARTA with exit code -1073741515.

const char *username="user", *password="xyz",*exename="Test_Callin";
int termflag = IRIS_PROGMODE|IRIS_TTNONE|IRIS_TTNEVER;

rc = IRISSECURESTARTA(&pusername, &ppassword, &pexename, termflag, timeout, NULL, NULL);

Note: the %Service_Callin setting is Enabled.

»  
11
0 95
Question Jainam Shah · Feb 7

Hello Team,

I am trying to duplicate the production flow in the Ensemble 2018 but after doing all the steps (like copying same class file, adapter file, process class file) as production, still the flow is not working. The error is that it is not reaching the operation (which is supposed to store the data), it gets stuck in the processes. Additionally, I am also trying to add a logic where in OUL message if the value of code 20061 > 30mg, it should automatically send another order back to service (OML).

2
0 52
Question Scott Roth · Feb 5

I have always struggled with Iterating through a JSON response to pull out certain fields into a Data Class Structure to use to populate fields in a DTL. So I defined the whole structure for the following JSON, with the base structure extending Ens.Response, %XML.Adaptor, and %JSON.Adaptor.

5
0 63
Question Jainam Shah · Jan 25

I've modified the class file, but messages still arrive as a single line (e.g., "H|.../rQ|.../rL") instead of separate lines in the ASTM service. The <ENQ>..<EOT> header looks correct, logs show no errors, and the service receives messages fine. Is there an Ensemble 2018.1 engine setting (like line terminator handling or TCP framing) to fix the line splitting? ​

4
0 84
Question Evgeny Shvarov · Jan 18

Hi folks!

How can we handle JSON boolean types in IRIS?

I'm having a UI sending me a JSON payload as:

{

  "id": 1,
  "strprop": "string",
  "boolprop": true

}

The class is 

MyPackage.MyClass Extends (%Persistent%JSON.Adaptor)

{

strprop as %String;

boolprop as %Boolean;

}

And I'm trying to update an instance of a MyPackage.MyClass and I'm getting a datatype-related error, something like %JSONImportInternal+269...

How am I supposed to deal with booleans in JSON with IRIS and ObjectScript? Any best practice advices?

5
0 104