Skip to main content

This documentation is for an older version of this product. See the latest version of this content.Opens in a new tab

Known Issues and Notes

This page describes known issues in InterSystems IRIS® 2024.1.

Silent Wrong SQL Results

When an SQL query completes without error, but the query results have incorrect or incomplete data, it is considered a silent wrong result. Because no error is raised, customers may not realize that the returned data is incorrect. The 2024.1 release contains the following known issues that can produce silent wrong results. For most customers, it would be uncommon to hit one of these issues; they affect limited query patterns or use cases. However, for customers who may be running hundreds or thousands of different SQL queries in their applications, we understand that it is difficult to know for sure whether any query is affected. Given the number of queries in an environment, identifying those impacted can be a complicated and time-consuming task. InterSystems recommends updating to a corrected version.

  • Extra empty row when using a FULL JOIN or FULL OUTER JOIN

    When using a FULL JOIN or FULL OUTER JOIN in SQL queries, the results may include an extra row that is empty.

    This issue affects version 2019.1 through 2025.3.

    The earliest fixed versions are 2024.1.6, 2025.1.4, and 2026.1.0.

  • Valid rows possibly omitted with LEFT OUTER JOIN

    When using a LEFT OUTER JOIN in SQL queries, the results may omit some valid rows. The problem is more common with queries on sharded tables, but in rare cases it can occur in a non-sharded instance. 

    This issue affects version 2019.1 through 2025.3.

    The earliest fixed versions are 2024.1.6, 2025.1.4, and 2026.1.0.

  • Duplicate rows returned with nested IN() clauses

    This issue can occur when an SQL query uses nested IN() clauses for the same table. For example:

      SELECT TestID, str FROM t WHERE TestID IN 
         (SELECT TestID FROM t t2 WHERE i1 IN 
            (SELECT i1 FROM t t3 WHERE t3.Name LIKE 'E%' )) 
    
    

    For such queries, duplicate rows can be returned. To avoid the problem, add the %NOFLATTEN keyword to the top level of your query.

    This issue affects version 2019.1 through 2025.3.

    The earliest fixed versions are 2024.1.6, 2025.1.4, and 2026.1.0.

  • Incorrect results with %ALLINDEX and table with one index or no index

    This issue can occur when an SQL query uses the %ALLINDEX keyword and the table has only one index or no index. For such a query, incorrect results may be returned.

    This issue affects version 2019.1 through 2025.3.

    The earliest fixed versions are 2024.1.6, 2025.1.4, and 2026.1.0.

  • Incorrect results with SUM and subquery

    This issue can occur when an SQL query references a column calculated in a subquery, and also does a SUM of that column. For example:

    SELECT t1.Name, t1.Age, t1.Age2, SUM(t1.Age2)  
        FROM 
          ( SELECT p.Name, p.Age, p.Age+p.Age AS Age2 FROM Sample.PERSON p) t1  
        ORDER BY t1.Name 
    

    The calculated column’s data can be incorrect. To work around the issue, rewrite the query and add the calculated column to the ORDER BY clause. For example:

    SELECT t1.Name, t1.Age, t1.Age2, SUM(t1.Age2) 
       FROM 
          ( SELECT p.Name, p.Age, p.Age+p.Age AS Age2 FROM Sample.PERSON p) t1  
       ORDER BY t1.Name, t1.Age2  
    

    This issue affects version 2019.1 through 2025.3.

    The earliest fixed versions are 2024.1.6, 2025.1.4, and 2026.1.0.

  • No results when using %PARALLEL with WHERE and ORDER BY

    This issue can occur when an SQL query uses the %PARALLEL keyword, along with a WHERE clause and an ORDER BY clause. For such queries, no results are returned.

    This issue affects version 2019.1 through 2025.3.

    The earliest fixed versions are 2024.1.6, 2025.1.4, and 2026.1.0.

  • %SQL.Import.Mgr skips final row that has quoted string field

    If the legacy %SQL.Import.MgrOpens in a new tab class is used on a dataset where the final line contains a quoted string field, the last row of the data file will be skipped during import. To work around this, either use LOAD DATA or add an extra dummy row to the data file you are importing.

    This issue affects version 2019.1 through 2025.3.

    The earliest fixed versions are 2024.1.6, 2025.1.4, and 2026.1.0.

  • Extra rows when using %NOFLATTEN in a subquery

    This issue can occur when an SQL query contains a subquery that uses the %NOFLATTEN keyword. For such queries, the result can contain extra rows.

    This issue affects version 2019.1 through 2025.3.

    The earliest fixed versions are 2024.1.6, 2025.1.4, and 2026.1.0.

  • Extra rows when using ROW_NUMBER() and GROUP BY

    This issue can occur when an SQL query uses the ROW_NUMBER() feature and the GROUP BY clause. For such queries, the result can contain extra rows.

    This issue affects version 2019.1 through 2025.3.

    The earliest fixed versions are 2024.1.6, 2025.1.4, and 2026.1.0.

  • Incorrect ordering with columnar storage/index and WHERE and ORDER BY

    This issue occurs with queries on a class that uses columnar storage or columnar indices, if the query uses one of those columnar fields or indices in the WHERE clause, and the query uses ORDER BY ID DESC. For such a query, the results may be ordered in ascending order by ID rather than descending.

    You can avoid this issue if you include a second field in the ORDER BY, for example ORDER BY ID DESC, age DESC. Alternatively, use a GROUP BY clause in your query.

    This issue affects version 2021.1 through 2025.3.

    The earliest fixed versions are 2024.1.6, 2025.1.4, and 2026.1.0.

  • Incorrect results with SQLStorage and nontrivial IDKey

    This issue occurs with queries on a class that uses SQLStorage (also known as %Storage.SQL) and that uses a nontrivial Idkey or other subscripts. Various query types return incorrect or empty results.

    To work around the issue, in the %SYS namespace, use the following command to disable the Global Iterator feature:

     set ^%SYS("sql","sys","global iterator rows threshold")=-1 
    

    This issue affects version 2023.2 through 2025.3.

    The earliest fixed versions are 2024.1.6, 2025.1.4, and 2026.1.0.

  • Rerunning query may return zero results if non-default collations are used

    This issue occurs if the database has a different collation than the system default collation, or if a global has a special collation that differs from the system default. Correct results may be returned on the first run of the query, but subsequent runs of the same query may return zero results.

    To work around the issue, if you cannot ensure through system setup that all your databases’ default collation, actual per-global collation, and system default collation match, then in the %SYS namespace, use the following command to disable the Global Iterator feature:

     set ^%SYS("sql","sys","global iterator rows threshold")=-1 
    

    This issue affects versions 2023.2 through 2025.3.

    The earliest fixed versions are 2024.1.6, 2025.1.4, and 2026.1.0.

  • Problems with embedded SQL that uses UNION and INTO

    This issue occurs with embedded SQL queries that use UNION and INTO. For example:

        SELECT name, age INTO :var1, :var2 FROM Sample.Person 
        UNION 
        SELECT name, age FROM Sample.Person2 
    

    For such queries, the query will either return only the results with the explicit INTO or throw an <UNDEFINED> error. To work around the issue, rewrite the query. Put the whole UNION into a subquery and include SELECT […] INTO on that subquery. Alternatively, you can move the INTO to the FETCH().

    This issue affects versions 2020.1 through 2025.3.

    The earliest fixed version is 2026.1.0.

  • Incorrect results when using field expressions repeatedly

    This issue occurs with SQL queries that contain an expression in the WHERE clause that includes arithmetic operators in the BETWEEN clause or specific unary functions with at least two occurrences. The result is missing rows that should have been returned and/or extra rows that do not match the paging criteria.

    This issue affects versions 2020.4 through 2025.2.

    The earliest fixed versions are 2024.1.6, 2025.1.3, and 2025.3.

    For more details, see Alert: Risk of Silent Wrong Results When Using Field Expressions Repeatedly in SQL QueriesOpens in a new tab, posted on November 19, 2025.

  • Wrong results with unused common table expressions (CTE) in dynamic SQL

    When using common table expressions in dynamic SQL, wrong results may be returned.

    This issue affects versions 2024.1 and 2025.1.

    The earliest fixed versions are 2024.1.5, 2025.1.2, and 2025.2.

    For more details, see Alert: Risk of Silent Wrong Results When Using Unused Common Table Expression Appear in SQL QueriesOpens in a new tab, posted on October 7, 2025.

  • Wrong results with OUTER JOIN when inner leg has index on join fields

    This issue occurs when using specific OUTER JOIN patterns.

    This issue affects versions 2024.1 and 2025.1.

    The earliest fixed versions are 2024.1.4, 2025.1.2, and 2025.2.

    For workarounds and more details, see Alert: Risk of Silent Wrong Results When Using Specific OUTER JOIN Patterns in SQL QueriesOpens in a new tab, posted on October 7, 2025.

  • Wrong results when using lateral join on instance with non-default per-process memory limit

    This issue occurs for SQL queries that use a lateralOpens in a new tab join, either implicitly or explicitly, on an instance configured with non-default per-process memory limit ("bbsiz" parameter in the .cpf file).

    This issue affects versions 2023.3 through 2024.3.

    The earliest fixed versions are 2024.1.3 and 2025.1.

    For workarounds and more details, see Alert: SQL Queries Returning Wrong ResultsOpens in a new tab, posted on February 19, 2025.

  • Endless loop when ordering in descending row ID, where row ID is a positive integer

    This issue applies to SQL queries that use ORDER BY row ID in descending order with the row ID as a positive integer (bitmap-compatible). Under very particular, data-specific circumstances, the query may enter an endless loop and keep returning the same set of results until it is aborted. To avoid the issue, order by a field other than ID.

    This issue affects versions 2022.2 through 2024.3.

    The earliest fixed versions are 2023.1.6, 2024.1.3, and 2025.1.

    For more details, see Alert: SQL Queries Returning Wrong ResultsOpens in a new tab, posted on February 19, 2025.

  • Incorrect ordering with UNION and ORDER BY in same query (TSQL)

    The results are incorrectly ordered when using UNION and ORDER BY in the same SQL query, when using TSQL. Specifically the ORDER BY clause is ignored.

    This issue affects version 2020.4 through 2026.1.0.

    The earliest fixed versions are 2026.1.1 and 2026.2.

  • Rows hidden with OUTER JOIN and row-level security

    This issue occurs with queries that use an OUTER JOIN of any type (LEFT, RIGHT, FULL, arrow/implicit) where either table uses row-level security. For rows where row-level security would hide only one side, the entire row is hidden. Instead, the unhidden side should appear and the hidden side is NULL.

    This issue affects version 2019.1 through 2026.1.

    The earliest fixed version is 2026.2.

  • Unpredictable results with SQLStorage, nonnumeric Idkey, and bitmap index

    This issue occurs with queries on a class that uses SQLStorage (also known as %Storage.SQL) and that uses a nonnumeric Idkey and that has a bitmap index. Results may contain rows that should be excluded, or they may contain incorrect results. To work around this bug, you can remove the bitmap index and recompile the class.

    This issue affects version 2019.1 through 2026.1.

    The earliest fixed version is 2026.2.

Regression in Business Intelligence REST APIs

In the 2024.1.6 maintenance release, a new <METHOD DOES NOT EXIST> error may arise in custom applications relying on InterSystems IRIS Business Intelligence REST APIs, such as DeepSeeWeb.

If you use DeepSeeWeb, you should let the API communicate with your instance through MDX2JSON, rather than the built-in BI REST APIs.

New Resources for OAuth 2.0 Access

The 2024.1 release introduces new resources to control the OAuth capabilities of InterSystems IRIS. These new resources - %Admin_OAuth2_Server, %Admin_Oauth2_Registration, and %Admin_OAuth2_Client - are not automatically added to roles, such as %Manager, that have %Admin_Secure upon upgrading. Once you have upgraded your system to this current version, you must manually add the resourcesOpens in a new tab to such roles to use InterSystems IRIS as either an authorization serverOpens in a new tab or clientOpens in a new tab. You also need these resources to use the OAuth 2.0 pages in the Management Portal (found at System Administration > Security > OAuth 2.0).

Unable to Open Documentation from the Launcher

If you are using a fresh installation of 2024.1, are upgrading from 2023.2 or later, or are using Microsoft IIS as your web server, you cannot open Documentation through the cube by default. To fix this issue, see the documentation for how to manually redirect documentation links with Microsoft IIS.

Clients Incompatible with 2024.1

The Persister 1.0.0 and .NET XEP 2.1.0 clients included in InterSystems IRIS 2024.1 are not compatible with the released version.

InterSystems is working on packaging correct versions of these pieces of software in a later release. If you need assistance with the current release, please contact the WRC.

Regression in NULL-Handling SQL Functions

InterSystems has identified a regression in vectorized, bulk execution of null-handling SQL functions, like IFNULL and NULLIF, which can lead to wrong results. This change only affects 2024.1 and will be fixed in the next release.

Contact the Worldwide Resource CenterOpens in a new tab (WRC) for assistance and further questions.

AmazonCloudWatchLogs Classes are Deprecated

Two classes, EnsLib.AmazonCloudWatchLogs.BusinessOperationOpens in a new tab and EnsLib.AmazonCloudWatchLogs.OutboundAdapterOpens in a new tab, are discontinued and will be removed in future releases.

Caché and Ensemble Migration to InterSystems IRIS on Microsoft Windows

InterSystems has identified an issue with migrations from Caché and Ensemble to InterSystems IRIS 2023.2 or later. This issue affects instances on Microsoft Windows that use the private web server. (If an instance is running either IIS or another supported web server, then this issue is not relevant.)

During the migration process, the private web server is removed; as a result of this, HTTP connections are not available to the instance after upgrading.

To avoid this issue:

  1. Enable IIS prior to starting the migration. During the migration, the InterSystems IRIS installer detects the presence of the IIS web server and offers to automatically configure it for HTTP connections.

  2. When prompted, choose Yes, to use autoconfiguration.

Alternatively, you can migrate to InterSystems IRIS 2023.1 first and then upgrade to an instance of 2023.2 or a later version.

InterSystems is working on a correction for InterSystems IRIS 2024.2 and later. If you need further assistance, please contact the WRC for further information.

Illegal Instruction Error on VMware When AVX-512 Is Expected but Is Not Exposed

If you are running InterSystems IRIS inside a VMware vSphere® environment and the VM's CPU configuration does not properly expose the Intel® AVX-512 instruction set, processes may terminate with an illegal instruction error. This scenario occurs when clusters are configured with Enhanced vMotion Compatibility (EVC) which makes all VMware ESX hosts on the cluster appear to the compiler as having the same CPU hardware. If a VM was originally provisioned on older hardware that lacked AVX-512 support but currently runs on an ESX host using hardware with AVX-512 instructions, InterSystems IRIS will attempt to run AVX-512–optimized routines and crash. To resolve this, upgrading the hardware compatibility of the affected VMs and power cycling can allow them to pick up support for AVX-512. This issue affects the 2024.1.1 maintenance release and onwards.

FeedbackOpens in a new tab