Find

InterSystems Official
· Aug 16, 2024 2m read

警告: 未使用領域削除後のマルチボリュームデータベースの破損

インターシステムズは、非常にまれな状況下で、マルチボリュームデータベースでデータベース破損または <DISKHARD> エラーが発生する可能性がある不具合を修正しました。危険性があるのは、未使用領域削除(Truncate)を行ったマルチボリュームデータベースのみです。

この問題は、以下の製品およびそれらベースとしたその他のインターシステムズ製品に存在します:

  InterSystems IRIS                       2024.1, 2024.1.1, 2024.2
  InterSystems IRIS for Health    2024.1, 2024.1.1, 2024.2
  HealthShare Health Connect    2024.1, 2024.1.1, 2024.2

上記以外の HealthShare 製品はこの問題の影響を受けません。

インターシステムズは、この不具合に関するお客様からの報告を受けていませんが、この問題を回避するために、以下の一時的な緩和策を推奨します:

  • マルチボリュームデータベースで未使用領域削除をしない。
  • 最後にデータベースをマウントした以降に未使用領域削除をしたシングルボリュームまたはマルチボリュームデータベースに対して、新しいボリュームを作成しない。 自動作成を無効にするには、構成パラメータに以下を設定します(※)。  新しいボリュームしきい値サイズ = 0  New Volume Threshold Size = 0 このパラメータを設定しても、新しいボリュームの手動作成を抑制することはできないことに注意してください。 ※管理ポータル: [システム管理] > [構成] > [システム構成] > [ローカルデータベース] データベースの名前

この不具合は DP-433375 の修正で解決します。この修正は、将来のすべてのバージョンに含まれる予定です。

お客様のご要望により、本修正を現在お使いの製品に対する Adhoc として個別に作成し、提供することが可能です。お使いのシステムに対する Adhoc が必要な場合は、カスタマーサポートセンターまでお知らせ下さい。

この警告について質問がある場合は、カスタマーサポートセンターにご連絡下さい。

Discussion (0)0
Log in or sign up to continue
Article
· Aug 16, 2024 4m read

TestCoverage Embedded Python and UI

Two big changes for the TestCoverage open source tool: Embedded Python support, and a new UI 

Embedded Python

Previously, TestCoverage could only track unit test coverage for code written in ObjectScript. It would ignore code written in other languages like Python in the coverage statistics.

 

As more and more IRIS application code is being written in Embedded Python instead of just ObjectScript, it's critical that TestCoverage can include coverage results for Embedded Python code. Customers (through the TestCoverage GitHub issues) as well as others in InterSystems have expressed interest in seeing Embedded Python support.

 

The user still installs and runs TestCoverage the same way as before, as described on the TestCoverage GitHub. The coverage results for Embedded Python code now get included in the aggregate coverage statistics as well as the individual line coloring, as displayed in the above example. 

Under the hood, the Embedded Python coverage is tracked using Python's sys.settrace tracer, independently of ObjectScript's %Monitor.System.LineByLine, and then the results are combined and displayed together. This can cause very minor discrepancies in which lines are marked as executable (i.e. can be run at all). For instance, in the above picture, Python considers the elif statement as executable, but ObjectScript does not consider the ElseIf statement as executable. At the end of the day, any line of code marked red was not covered, and any line of code marked as green was still covered; this just slightly affects which lines of code we ignore, which doesn't cause any problems. 

New TestCoverage UI 

The previous TestCoverage UI was an old Zen UI that didn't surface many of the useful statistics that TestCoverage tracks. In addition, TestCoverage could only be run from the command line. 

To solve these problems, we've created a new Angular UI building off of isc.perf.ui, the existing UI for interacting with the Line-By-Line Monitor (^%SYS.MONLBL). The web application comes with an accompanying REST API and WebSocket connection to retrieve data from the IRIS server. It also fixes the previous user authentication for isc.perf.ui, so that it now uses standard IRIS login/logout. This is also publicly available on the Open Exchange, under the name isc-perf-ui. Below are some of the new UI's features and uses. 

Installation

There are some additional steps for installing isc.perf.ui if you want to use the new TestCoverage features. On Windows only, you need to enable the IIS WebSocket protocol. On any OS, you need to give a specific user (usually CSPSystem) a resource permission (usually %DB_User) in the IRIS management portal. These steps are described on the isc-perf-ui GitHub page

Test Coverage Page

On the Test Coverage page, you can select the parameters that you want to run TestCoverage on your unit tests with.

  

The parameter explanations include descriptions of what each of these parameters control. You can also click into an input box to see a sample value, and there's input validation to make sure that your inputs are in a valid format.

After you press submit, the call to run TestCoverage will begin, and you'll see live progress of your unit tests in the log at the bottom of the page. 

 

After the tests have finished running, the dropdown select menu on the right should open with a list of routine + test path combinations, as well as the overall coverage percentage for your code and the link to the results of the unit tests themselves.

 

Click on any to be taken to the coverage results page for that routine under that unit test directory.

Here, you can see which lines of code were covered by your unit tests according to TestCoverage. There are also additional metrics like TotalTime, which tracks the amount of time the code spent on a certain line of code from its start to finish. 

 

You can further sort in ascending or descending order by clicking on the arrows next to the headers; this is a useful way to see which lines of code take the longest. 

 

Finally, the Show Methods button opens up a table with the cyclomatic complexity of each of your methods, showing which methods are the most complex and vulnerable to bugs. 

 

When you're done, can click the back button to go back to the launcher page. The red clear results button lets you clear all your test coverage runs.
 

Historical Coverage Page

After clicking on a specific past Run ID, you can view the class-level coverage results (line coverage, method coverage, timing) for all the classes in that run. This is the same data as the main results page from TestCoverage. This table is also sortable by each column. 

 

Again, both tools are available on the InterSystems Open Exchange (isc-perf-ui and Test Coverage Tool) and on GitHub. Good testing to everyone! 

  

4 Comments
Discussion (4)4
Log in or sign up to continue
Announcement
· Aug 16, 2024

[Video] Explorando os Benefícios da RAG

Olá, Comunidade!

Você está construindo aplicações de IA generativa? Veja como a arquitetura de Geração Aumentada de Recuperação (RAG) pode ajudar:

Explorando os Benefícios da RAG

Neste vídeo, mostrarei a você:

  • Como os dados normalmente fluem dentro de uma configuração RAG.
  • Benefícios de uma arquitetura RAG para seus aplicativos, incluindo respostas aprimoradas do seu modelo.

Continue aprendendo os Fundamentos da IA ​​Generativa (caminho de aprendizagem, 2h 45m).

Discussion (0)1
Log in or sign up to continue
Announcement
· Aug 16, 2024

[Video] Introducing Managed Solution for Asset Management

Hi Community,

Play the new video on InterSystems Developers YouTube:

⏯ Introducing Managed Solution for Asset Management @ Global Summit 2023

Join us for a demo of our new financial services offering built on InterSystems IRIS. This managed solution for financial services asset management firms integrates, transforms, validates, and reconciles data from disparate sources into a flexible data model. It also supports applications that consume the data, including reports, visualization tools, and more.

🗣 Presenter: Wei-Wen Lee, Quantitative Development Manager, Financial Services, InterSystems

Enjoy watching and look out for more videos! 👍

Discussion (0)1
Log in or sign up to continue
InterSystems Official
· Aug 16, 2024

InterSystems Platforms Update Q3-2024

Welcome to the Q3’2024 quarterly platforms update.  We have some news on the AIX front to encourage better security, along with our usual round of OS version updates. 

If you’re new to these updates, welcome!  This update aims to share recent changes as well as our best current knowledge on upcoming changes, but predicting the future is tricky business and this shouldn’t be considered a committed roadmap. 

With that said, on to the update…

InterSystems IRIS Production Operating Systems and CPU Architectures

Red Hat Enterprise Linux

  • Recent Changes
    • We’ve completed minor OS certification for RHEL 9.4 & 8.10 on IRIS 2024.1 without incident.
  • Previous Updates
  • Upcoming Changes
    • The next major update for RHEL will be RHEL 10 which is expected in Q2 of 2025.
    • We expect short-term-supported 9.5 & 8.11 to be released near the end of the year.  We’ll start minor OS certification on IRIS 2024.1 when they’re released.
  • Further reading: RHEL Release Page

 

Ubuntu

  • Recent changes
    • We’ve completed minor OS certification for Ubuntu 22.04.3 on IRIS 2024.1 without incident
  • Previous Updates
    • Support for Ubuntu 24.04 was added in IRIS 2024.1.0.267.2 on May 15, less than three weeks after Ubuntu 24.04 was released.
    • Now that Ubuntu 24.04 is available, IRIS 2024.1 will be the last major version that supports Ubuntu 20.04.  IRIS 2024.2 will only be available for Ubuntu 22.04 and 24.04.
  • Further Reading: Ubuntu Releases Page

 

SUSE Linux

  • Recent Changes
  • Previous Updates
    • General Support from SUSE for Linux Enterprise Server 15 SP3 came to an end on 12/31/2022, but extended security support will continue until December, 2025.

Further Reading: SUSE lifecycle

 

Oracle Linux

  • Previous Updates
    • Oracle Linux 9.2 has completed Minor OS certification on IRIS 2023.1 without incident.
  • Further Reading: Oracle Linux Support Policy

 

Microsoft Windows

  • Upcoming Changes
    • Windows Server 2025 is expected to be released in Q4.  We’re keeping an eye on it and formulating plans for support.
    • Windows 12 is expected even earlier with a possible GA date as early as June.  We’ll start the process of supporting the new OS after it’s been released.
  • Further Reading: Microsoft Lifecycle

 

AIX

  • Upcoming Changes
    • We’re planning to only support OpenSSL 3 kits starting with IRIS 2024.3. NOTE:  This means that 2024.2 is the last version of IRIS that has both OpenSSL 1 and OpenSSL 3 kits.  In IRIS 2023.3, 2024.1, & 2024.2, we provided two separate IRIS kits – one that supports OpenSSL 1 and one that supports OpenSSL 3.  Given the importance of OpenSSL 3 for overall system security, we’ve heard from many of you that you’ve already moved to OpenSSL 3.  If you have concerns about this, please reach out to me directly.  In last quarter’s update, we said that 2025.1 would be the first release to support OpenSSL 3, but given its importance we made the decision to move up the date.
  • Further Reading: AIX Lifecycle

 

Containers

  • Recent Changes
    • We changed the base container image from Ubuntu 22.04 to Ubuntu 24.04 with IRIS 2024.2
    • We’re considering changes to the default IRIS container to, by default, have internal traffic (ECP, Mirroring, etc) on a different port from potentially externally facing traffic (ODBC, JDBC, etc).  If you have needs in this area, please reach out and let me know.
  • Previous Updates
    • We have started regular updates of IRIS containers with patches to the base container image and third-party dependencies.  IRIS containers that follow the new tagging scheme now have at least every-other-week updates.

 

InterSystems IRIS Development Operating Systems and CPU Architectures

MacOS

  • Previous Updates
    • Apple has released MacOS 14 with IRIS support in IRIS 2024.1

 

InterSystems Components

Caché & Ensemble Production Operating Systems and CPU Architectures

  • Previous Updates
    • A reminder that the final Caché & Ensemble maintenance releases are scheduled for Q1-2027, which is coming up sooner than you think.  See  Jeff’s excellent community article for more info.

InterSystems Supported Platforms Documentation

The InterSystems Supported Platforms documentation is the definitive source information on supported technologies.

 

… and that’s all folks.  Again, if there’s something more that you’d like to know about, please let us know.

Discussion (0)1
Log in or sign up to continue