TI Process running not committing any data

Hi All,

I have a really strange one.

We have a TI process that loads data from a flat file to a cube, then executes another process to load the new cube data to a different cube.

When executing the process via Server Explorer, everything happens as expected. We have a Canvas app that includes a function to execute this same TI process. It was working fine until a couple of months ago when it started behaving strangely.

The TI process executes via Canvas, updating log files, generating error files (part of the process), but we have found that it doesn’t actually register any objects on TM1 or commit any data to cubes.

For example, I changed the TI process so it didn’t delete the temporary objects for a cube view that is used as a datasource for the follow on TI process. When executing the main process via Server Explorer, the temporary view is created and remains as expected. When executing via Canvas, however, it runs, even apparently loads data, but the view is never created.

I have eliminated every possible option I can think of, even ruling out security as the issue is there for admin users. I am completely stumped as what it’s doing seems impossible! Any suggestions?

We are on Canvas version 3.2.0.

Thanks,
David

Hi @anz.fin.all.mailbox,

From a Canvas point of view, there is not much from here as it just calls the process via the REST API. This also means that once it reaches TM1, it can only wait from TM1’s response.

About the TM1 behaviour, can you help further clarify the part that it is not committing any data?

What do you mean by:

So when you say even apparently loads data, do you mean the TI process was processing these data into your staging cube but just not loading into the second cube?


Paul

Hi @plim,

I should have clarified that comment, sorry.

What I meant was that TM1 goes through all the motions as if it’s processing data, both in the staging cube and then the second cube, even generating log file messages and error log files (some invalid data exists and this is ok). However, no data of any description is created - no views and subsets in prolog, no new elements in metadata, and no data written to the cubes.

Why would the process API call be behaving like this, when executing the TI process directly via Perspectives works fine?

I should add that we are on PA 2.0.

Thanks,
David

Hi @anz.fin.all.mailbox,

No worries!

Can you also specify which exact version of PA were you using?

By the way, where there any errors returned from these TI processes?

To give more details, can you check if you can execute it via another tool, i.e. Postman?

Here are some articles that should be able to help with the setup:

There are collections in there as well relating to Processes execution.

Also, check if there might be errors being returned from there too.


Paul

Hi @anz.fin.all.mailbox

What version exactly of PA are you using? 2.0.x What is “x”?

This sounds very much like the TI process is being executed with the now more or less depreciated ProcessExecute e.g.
Processes('YourProessName')/tm1.Execute
There is a bug in ProcessExecute (IBM may claim it as a “feature”) which is a difference in behaviour to the old API where even if the process encounters just minor errors or a ProcessBreak it won’t commit and will rollback all changes.

There’s a new function ExecuteWithReturn which was introduced in 11.3 (2.0.5)
Processes('YourProessName')/tm1.ExecuteWithReturn

Assuming you’re on at least 11.3 this is the call you should be using to run any TI processes.

Hi @anz.fin.all.mailbox,

Thanks @cw-ch for that information!

And in addition to what @cw-ch has shared: Canvas will handle the TI calls to switch to using ExecuteWithReturn for you automatically from version 2.0.5 onwards should this be the case.


Cheers,
Paul

Hi @plim, @cw-ch,

We are on TM1 11.2.0.27, which I think puts us on PA 2.0.4.

Is there an updated Canvas tm1-ui-process directive to handle this issue? Or do we need to upgrade to 2.0.5?

Thanks,
David

Hi @anz.fin.all.mailbox,

That would be PA/TM1 specific feature and can only be accessed if you upgrade to at least 2.0.5 if that is the case.

With Canvas, it can only switch on how it calls those TIs depending on TM1/PA version.

If possible, can you help verify that the above is still happening even via Postman?

As for the upgrade, you can also contact your local Cubewise office if you need further information.


Cheers,
Paul

Hi @plim,

I’ve just confirmed that the same is still happening via Postman. Looks like an upgrade to at least 2.0.5 is our only solution. Thanks for you help!

Thanks,
David

Hi @anz.fin.all.mailbox,

No worries!

Cheers,
Paul

Hi @anz.fin.all.mailbox,

Just to be precise, you will need at least 2.0.5 IF3 for this REST API function to work, there is a known issue in its initial implementation in 2.0.5, please see here: https://forum.cubewise.com/t/tm1-11-3-pa-2-0-5/1736