Article Eric Borkala · Nov 11, 2016 2m read

Caché process failures on RHEL V7.2

InterSystems WRC has investigated several issues of process failure that can be attributed to a recent change in Red Hat Linux.

A new feature implemented in RHEL V7.2 (systemd-219-19.el7.x86_64) can cause O.S. IPC (Inter-process communication) semaphores to be deallocated when a non-system RHEL user logs out (system users, i.e. with a UID number < 1000, are excluded)

Internally, Caché makes use of IPC semaphores to control the operation of Caché processes (for example when trying to wake-up a Caché process).

1
1 777
Article David E Nelson · Apr 5, 2019 6m read

Now that the InterSystems IRIS Data Platform Community Edition is available on Docker Hub (https://hub.docker.com/_/intersystems-iris-data-platform), it seems like a great time to try InterSystems IRIS in a container. For some time already, the community edition has been available in the cloud, for example on AWS (https://community.intersystems.com/post/free-iris-community-edition-aws), but maybe it would be nice to try it locally as well. Fellow Windows users are no doubt used to eye rolling, being told “YMMV”, etc., whenever they mention using Docker for Windows.

5
2 1333
InterSystems Official Jeff Fried · Jun 10, 2019

The 2019.2 version of InterSystems IRIS Data Platform is now Generally Available!

 

Container images for InterSystems IRIS are available via the WRC's download site.

The build number for these releases is 2019.2.0.107.0.

 InterSystems IRIS Data Platform 2019.2  is the first CD (continuous delivery) release of InterSystems IRIS.  It has many new capabilities including:

  • Addition of the IRIS Native API for Python and Node.js and relational access for Node.js
  • Simplified sharding architecture and flexible sharded schema design
  • Support for the new PowerBI connector for InterSystems IRIS
  • New look in the
5
0 718
Question Julie Marulappa · Jun 12, 2019

I have several business operations that are all pointed to the same http server. Is there a way to set the http server within some sort of properties file or within the objectscript code? I want to be able to set the http server setting once rather than for every business operation. Any advice on how to go about doing this would be appreciated.

1
0 302
Question John Kumpf · Apr 12, 2019

Referencing this post:

https://community.intersystems.com/post/producing-json-sql

I'm not sure how to actually interact with the result set I get from doing something like this.  I want to return something like:

[{"field1":1, "field2":2}, {"field1":2, "field2":10}]

I'm finding it very difficult to get it in this format, since %Print appends a newline onto the end of the {} object it prints.

Here's the closest I've gotten:

set query = "select JSON_OBJECT('field1': field1, 'field2":field2) from MyTable where x=? and y=?"

    set tStatement = ##class(%SQL.Statement).%New()
    set qStatus = tStatement.

5
3 1483
Article Dmitry Maslennikov · Jun 10, 2019 2m read

Hey developers,

I have great news for you. A few days ago, GitHub was updated with the latest version of linguist project, which is being used to recognize source code types in repositories. It helps to determine which programming language had been used in every file of the repository. Repository statistics section shows the results of this module work.

 

Also, you can search across all available GitHub repositories for any chosen language. 

3
1 871
Question Jason Butterhoff · May 23, 2019

Hello,

When creating an outbound X12 file (834, 835, 837, etc), what's the easiest way to keep a segment count to use in the SE01 element?  Other mapping tools I've used either detect it's an X12 file and do this automatically, or there's an option to keep a count after each outputted segment.  The Data Transformation tool within Health Connect doesn't seem to have similar functionality, but I could just be missing something.  Any help would be greatly appreciated!

Thanks,

Jason

3
0 1566
Question Giray Ozel · Jun 6, 2019

Say you have a DICOM document with an input information sequence with many sequence items. You could access every item one by one by looping and querying the path by passing it to the GetValueAt method as demonsrated below.

This works but there are some performance issues on my system if the document has to  be read for each query (as far as I know, that is the case on my system). Is there a way of querying a path, which would return the sequence items as an array? I think I am missing something. With 900 items the process takes around 20 seconds currently.

Set count = 500Set doc = ##class(
1
0 315
Question Javier Llobet · Jun 11, 2019

I tryinfg to alter a column definition data type with a user that seems that doesnt have priviledges, but the user has this priviliedge. 

Documentation: 

Privileges and Locking

The ALTER TABLE command is a privileged operation. Prior to using ALTER TABLE it is necessary for your process to have either %ALTER_TABLE administrative privilege or an %ALTER object privilege for the specified table. Failing to do so results in an SQLCODE -99 error (Privilege Violation). You can determine if the current user has %ALTER privilege by invoking the %CHECKPRIV command.

4
0 342
Question Julian Matthews · Jun 10, 2019

Hi all.

I was wondering if anyone knew if the purge tasks in Ensemble consider a day to be midnight to midnight, or 24 hours from the time of running the task?

Thanks!

3
0 325
Announcement Evgeny Shvarov · Jun 9, 2019

Hi Community!

I have very good news for the developers, who are using GitHub to host projects with InterSystems ObjectScript.  GitHub introduced the support of InterSystems ObjectScript this week!

How does it work?

Now all the .cls files in your repository are considered as InterSystems ObjectScript and highlighted according to the language rules of ObjectScript. For example WebTerminal, Samples-Data.

7
1 1136
InterSystems Official Jeff Fried · Jun 10, 2019

The 2019.2 version of InterSystems IRIS for Health is now Generally Available!

Container images for IRIS for Health are available via the WRC's  download siteThe build number for these releases is 2019.2.0.107.0.

InterSystems IRIS for Health  2019.2  is the first CD (continuous delivery) release of IRIS for Health.  It has many new capabilities including:

  • enhancements to FHIR STU3 support
  • additional IHE profiles
  • a new JMS (java message service) connector
  • Addition of the IRIS Native API for Python and Node.js and relational access for Node.js
  • Simplified sharding architecture and flexible sharded
0
0 352
Article Robert Cemper · Jun 10, 2019 1m read

During testing your code you are often confronted with the need to examine
the actual content of an object. Either using ZWRITE or $system.OBJ.Dump()
you get a picture of simple properties as "--- attribute values ---"
while "--- swizzled references ---" are more confusing than informative
and with "--- calculated references ---" you are just left in the lurch.

This small helper class allows you to dump an object to terminal or
e.g in background to some stream for later review.
By default, you see just properties with content,

   DO ##class(Z.obj).dumpToDevice(obj) 

or if explicitly requested all

0
1 1184
Question Paul Riker · Jun 6, 2019

I have a custom process that is parsing HL7 and inserting it into a table. Periodically the inserts fail with # due to error: ERROR #5803: Failed to acquire exclusive lock on instance of.... 

Traditional databases would wait until the lock is removed then do the insert, but cache fails. I'm sure it's my coding approach.

How can I work around this? A Try/Catch loop?

Thanks in advance.

7
0 1100
Question reinhard lebensorger · Jun 3, 2019

hi, i am new to Studio and also new to objectscript, but i am not new to programming and

want to implement some synonymfunctions e.g.  LOCATE should be used as InStr (.. like in much languages ;o)

more generally spoken, i want to implement a library for my string routines BUT of course i want an need autocomplete.

defining a macro $$$InStr does no autocomplete  when i type $$$In<CTRL-SPACE>

example: my lib is called STRINGS and the functions are: InString, Split, ...

when i type STRINGS.       it should autocomplete

i also don't want to write  ##class(xxxxx.yyyyy).InString()   every time.

so how

8
0 526
Question Lucas Fernandes · Jun 6, 2019

I have a FullBackup.cbk file generated by Caché Backup Online.This file has many databases.
Is there a Caché feature to restore only one database?
I've tried EXTSELCT^DBREST(), but this routine runs through all databases
(skipping the unselected).This process becomes slow, lasting 1 day to finalize the process.

1
0 669
Announcement Evgeny Shvarov · Jun 6, 2019

Hi Community!

This is the update on what are the new applications submitted on OpenExchange in May 2019

New Applications

Background Jobs over ECP published by @Robert Cemper

An internal variant of a PIPE

Simple Remote Server Control published by @Robert Cemper

Simple monitoring of several servers at a lightweight level

iris-nodejs-101  published by @David Reche 

This application demo a REST API build in node.js able to receive HTTP GET, POST and DELETE of custom JSON 

Sea Battle  published by @Evgeny Shvarov

Simple terminal game an approach to "Sea Battle". Example of simple ObjectScript method calls and terminal interaction The code is an ObjectScript remake of Python example in CodeAcademy

PHP-module for Caché published by @Sergey Kamenev 

This is PHP-module for InterSystems Caché. In current moment module works only locally, on same server where running Caché. Module has excelence speed because uses c-callin interface for access to DB.

PHP-module for IRIS published by  @Sergey Kamenev 

This is PHP-module for InterSystems IRIS. In current moment module works only locally, on same server where running IRIS or Caché. Module has excelence speed because uses c-callin interface for access to DB.

TSQL Checkers v.1.0.0 published by @Anton Umnikov 

Demonstration of TSQL support in InterSystems IRIS. Checkers game

isclib v.2.1.0 published by @Kyle Michel 

Go library for interacting with InterSystems Corporation products like Cache and Ensemble<--break->

0
0 326
Question Alex Kogan · Jun 4, 2019

Hello,

I assume there is a simple explanation for this, but I do get <OBJECT DISPATCH> error, when I am trying to set a global to a value.

My example is huge, but I reproduced it using Samples namespace:  

First I delete the Title from ##class(Cinema.Film)  - 3 

Secondly:

SAMPLES>s ref=##class(Cinema.Film).%OpenId(3)
SAMPLES>w ref.Title

SAMPLES>set ^AK(1)=$G(ref.Title)

SET ^AK(1)=$G(ref.Title)
^
<OBJECT DISPATCH> *Property 'Title' in class 'Cinema.Film' must be MultiDimensional

$D also does not work, same error, however this works fine: if ref.Title S ^AK(1)=ref.Title

I am almost 100 % certain it's

4
0 1082
InterSystems Official RB Omo · Jun 6, 2019

InterSystems has corrected a defect that can result in application data integrity issues following an abnormal shutdown.

This problem exists for:

  • Caché and Ensemble 2018.1.2
  • HealthShare Health Connect (HSAP) 15.032 on Core version 2018.1.2
  • InterSystems IRIS Data Platform 2019.1
  • InterSystems IRIS for Health 2019.1
  • HealthShare Health Connect 2019.1

The defect breaks the journal sync guarantee that all updates in the journal buffer have been written to the journal file. The failure is silent: it does not generate an error message and there is no entry about it in any log file.

Specifically,

0
0 577
Article Robert Cemper · Jun 5, 2019 1m read

Earlier, I've written about command pipes.
This is the internal variant of a PIPE.

To make this more tangible and visible for you, I prepared a small example
  The scenario is to run a monitoring process that receives
input from an unknown number of sensors.  (Could be Lab equipment or similar.) 

The monitor should not poll its sensors nor run
in a hang loop to scan a common global and work independently of any disk access.   
To try it log into a terminal 
.    DO ##class(IJC.Demo).%Start()  
The Highlander principle applies for this example: There can only be one  

Next, open a new terminal and run
.

0
0 516