Hi Scott,

When I try and save a rule set with improper syntax it ends up saving but not compiling, which also removes the existing int code. The problem is "caught" in that a warning is shown, though it doesn't prevent you from proceeding. My guess at the rationale would be to not blow away any incomplete work - it would be a bit of an odd restriction if you could only save a rule set if the code was valid. When the compile fails the existing compiled code is removed, so the rule set is unusable.

Hi Scott,

Can you reproduce the compilation error not getting caught on save? When I try to save with a syntax error the rule set still saves, it does throw compilation errors however. Can you describe in more detail where the misplaced { was?

Re: your second question I'm not certain, but if the class failed to compile I'm not sure what kind of behavior we would expect from trying to use the rule set. Perhaps this is related to the particular state your environment was in.

%ALL should cover everything from the Caché side so I suspect an OS permissions difference. Is the task doing anything that requires OS permissions (this could include writing to an output file)? Do the Caché OS user and the OS user corresponding to your account differ? What other differences could you think of between the two users? Without looking around your system I think it will be tough to troubleshoot this, so I'd recommend reaching out to the WRC.

Also, you probably already know this, but 2012 is quite an old version - I'd definitely recommend upgrading if possible.

Hello István,

You can find in the docs the following:

Using the Task Manager

"If the chosen user is disabled, the task is suspended until the user is enabled and the task is resumed manually. This does not apply to built-in System tasks, which run even when the chosen user is disabled."

While the system tasks will still work while assigned to run as the disabled _SYSTEM user, it might be a good idea to set them to another user with similar permissions for clarity's sake.

The necessary resources for a task are totally dependent on what the task needs to do.

Unfortunately, I'm not aware of anything built-in that can enforce the schema - I think it would be difficult to have this as a preset option because it wouldn't be able to match all use cases. Of course, the ideal would be for the upstream to conform, but that isn't always an option.

I think this will have to be a custom solution, though maybe somebody else can weigh in with some option I've missed. Perhaps somebody has come up with something clever to leverage the schema.

Hi Cedric,

It sounds like you are adjusting the messages to have ! in the MSH:18 field. Unless I'm misunderstanding, that seems like a misinterpretation of the DefCharEncoding documentation, which I will include here:

Default Char Encoding

Normally the encoding found in MSH:18 is used, but an "!" at the start of the DefCharEncoding setting will forcibly use whatever encoding you specify.

Hope that helps.

Hi Elisha,

The general method for handling incoming too-long fields would be the validation setting, which can send a message to the bad message handler to be treated as needed:

Validation

Validating Fields

"Test that field sizes in the message conform to the schema."

In your case if you know what fields need to be truncated it should be really easy to use a DTL to truncate those fields.

Hope that helps!

Hey Murillo,

I'm not sure how the SOAP stuff you describe works into the standard Ensemble machinery, and understanding what globals/data are not being purged might be useful to provide further guidance. However, the purge you mention is intended for the activity monitor, and is not the main purge task which is just Ens.Util.Tasks.Purge. See the following docs:

Purging Production Data

Monitoring Activity Volume

Hello,

I'm able to reproduce the behavior with emergency mode requiring you to enter the emergency mode user/pass to shut down. You are certainly welcome to reach out to the WRC to confirm if this is intended behavior, but I suspect that it is. I am wondering what the use case is here as emergency access mode is a special mode, intended for use "under certain dire circumstances, such as if there is severe damage to security configuration information or if no users with the %Admin_Manage:Use or %Admin_Security:Use privileges are available". In those situations you would be taking manual steps so uninteractive shut down would not be necessary.

Could you simply use a normal login and not emergency mode?

The other commenters have good suggestions but I would recommend additionally collecting a pButtons to compare. Try and determine if there are any differences other than OS - hardware, memory configuration, global mappings, or anything else. We want to make sure we're comparing apples to apples! If everything seems to be the same, then you could reach out to the WRC who can help investigate this further.

As far as I know I don't think this behavior has changed in 2020. While I was testing the monitor myself recently I noticed the dropdowns getting cleared but when I saw that auto-refresh was disabled in newer versions I didn't  think I needed to follow up on this. If you disable the refresh global you'll find that the tagline of 60s refresh no longer appears as well.

If you really felt this was worth changing I'd recommend that you reach out to your ISC representative (or the WRC) but I would be prepared for the response that the monitor is not intended to be a complete solution. That is not to say that a change to help alleviate the behavior are seeing would not be considered, so if this is really tripping you up it would be worth reporting - maybe others have the same pain and there's enough momentum to get this addressed.

You may find the following article useful in terms of building your own monitoring solution.

https://community.intersystems.com/post/monitoring-intersystems-iris-using-built-rest-api

Hope that helps.