Dear Ivy team.

At the moment, we're facing the problem with start link ivy is marked as Persist task on creation come with some additional data what was set in customvarcharfield.

We create a trigger in our ivy's database to listen to any changes in iwa_task table. We saw that whenever a user starts that ivy link. ivy will insert a new record in table iwa_task with a taskid but the value for customvarchar1 is empty, very quickly after that, ivy also performs another update on the same task to update data for customvarchar. After 2 updates in the iwa_task table, we have the correct data with a task that is created come with customvarcharfield.

It works pretty well for single user because the delay time between 2 updates is very short and unnoticeable. But when there are many users are working at the same time, we got the problem. Because each user access the Portal's tasklist at the same time, so they will query the existing tasks in the system. But under some unluckily moment, the task is created (at the first stage without customvarchar) is queried and return to other user's results. Without customvarchar means the task data is not displayed properly.

I just wonder is there any way to make "Persist task on creation" is persisted only once with full of data instead of creating an empty task and update data later?

Thank in advanced.

asked 18.10 at 00:27

hieulam's gravatar image

hieulam
41117
accept rate: 0%

edited 18.10 at 02:28

1

Hi On which version are you facing this problem?

(18.10 at 05:19) Denis Huelin ♦ Denis%20Huelin's gravatar image

Hi Denis Huelin, we're using Version: 7.0.11 (Jakobshorn)

(18.10 at 05:22) hieulam hieulam's gravatar image
1

Is that just a problem when starting or also in taskswitches? And has that problem just occurred recently or does it occur since a while already? There might be a workaround for that...

(18.10 at 05:36) Denis Huelin ♦ Denis%20Huelin's gravatar image

Hi Denis Huelin, I have just tested with ivp start link, have not testes with taskswitch yet. And this problem occurs since a while already, but we have just recognized it recently. Because as I describe, the delay between 2 updates is extreme small and unnoticeable. It only rarely happens when we try to run a load test to simulate many users access the system simultaneously.

(18.10 at 05:40) hieulam hieulam's gravatar image

Hi,

basically it is not possible to persist the task with full data at once. It is also not planned to change this behaviour in the foreseeable future.
As a workaround you can cast your ITask to a Task and call makePersistent().

ch.ivyteam.ivy.workflow.internal.Task myTask = ivy.task as ch.ivyteam.ivy.workflow.internal.Task;
myTask.makePersistent();
link

answered 18.10 at 07:29

Denis%20Huelin's gravatar image

Denis Huelin ♦
665
accept rate: 100%

Thank Denis very much, it works like a charm

(18.10 at 07:02) hieulam hieulam's gravatar image
Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "Title")
  • image?![alt text](/path/img.jpg "Title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Tags:

×125
×68

Asked: 18.10 at 00:27

Seen: 168 times

Last updated: 18.10 at 10:31