-
Notifications
You must be signed in to change notification settings - Fork 1.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Persist task id in ACT_HI_VARINST table for task variables #4578
Comments
Hi @jyotisahu9, Could you explain further the Technical Requirements section? It is not clear to me what is described there as well how it ties to the functional requirements section (being able to query all tasks variables from runtime and history tables) |
Hi @psavidis, There is TASK_ID_ column in ACT_HI_VARINST table that remains null for task variable ( created through Execution listeners or task listeners). We would like to reuse this column to save task id to identify these variables related to specific task and query them. There is VAR_SCOPE_ column in ACT_RU_VARIABLE table that persists the task id or process instance id to identify specific variable, but once that task is completed, entries are deleted from table. Hope this clarifies the requirement. Let me know !! Thanks, |
Hi @psavidis , Does this looks good to you? Do you have any questions? Thanks, |
Hello @jyotisahu9, I think i understood the requirement, the description / formatting looked a bit confusing to me. In the meantime, could you break down the technical description into a list of high-level steps that describe what needs to be added? You could for example break it down into layers and mention the table (as you did), the query, the service involved, rest-api etc. I will review it once i have time and make any necessary adjustments if needed. The goal is to have a technical description which reflects on a high-level scale what needs to be done before starting to work. Are you going to work on this item? |
Hi @psavidis Yes, I will be working on this task. I would be making the changes to persist taskId in ACT_HI_VARINST table for following two kind of variables: Whenever a task element executes( be it through process instance or standalone task), following steps takes place:
I would be plugging in code to set taskId for HistoricVariableInstanceEntity at below steps:
API to start task are:
API to retrieve task historic variables where taskId will be returned as response parameter are: |
Hi @psavidis, Request you to go through details. Also this is more of bug than feature, I initially created it as feature but then could not change the category. I have my PR ready that can be pushed to understand the whole implementation. Thanks, |
Hi @psavidis , Could you go over the pull request and issue description when you get a chance. Thanks, |
Hello @jyotisahu9 , I'll try to find some time during this week and review the ticket and PR properly. Till then, a question: Why do you think its a bug? Best, |
Hi @psavidis, Thanks for your response. I think its a bug because there is TASK_ID_ column in ACT_HI_VARINST table but it remains null for task variable. This table saves all variable information and shall persist task id to identify specific task variable Best, |
Hello @jyotisahu9 , I had a look at the feature request and your pull request and i'd like to share with you my scepticism and questions. So far, i'm not entirely sure what is the intent of this feature request. It seems to me from the pull request of your contribution there is some confusion about the concept of Observation I've executed the
Documentation If you read the official documentation around process variables, you'll notice the variables can have different scope executions. Using that as a reference, i'd like to understand better: a) What is the problem you'd like to solve Best, |
This thread does not have a response for over a month now on clarifying the feature requirements. |
Hi @psavidis , Apologies for the delay. I was on vacation, so wasn't able to respond timely. Thanks, |
None of the test case fail in master branch. I am adding new feature, hence I added additional test cases to cover those.
Yes I have gone through scope of variables and I am not changing the scope of task or process variables through my code changes.
I am trying to save task id for task variables (task input variable or task execution variable) in ACT_HI_VARINST table, so that variables specific to task id can be identified. The two api's mentioned below will be then returning the saved task id as response parameter. Table act_hi_detail does save some more details about variables but this table has lot many other entries than variables. Also api's to Get Variable Instances from history table : /history/variable-instance & /history/variable-instance/{id} returns the data as per ACT_HI_VARINST table. The main goal for this feature request is to save task id in ACT_HI_VARINST table to identify task variables and return them as part of history variable instance api. We would also be using ACT_HI_VARINST table to generate report for all the variables associated with specific task through queries.
Hi @psavidis Appreciate your detailed response & patience. I have tried my best to explain the review comments. Let me know if you have further questions. Thanks, |
Hello @jyotisahu9 , I've read your response and would like to answer it further so that no questions are left unanswered.
Initially in the thread you answered your contribution addresses a bug right ? I've cherry-picked your changes in a branch based on The test you've added on HistoricVariableInstanceTest still passes on
It's clear to me you're interested to use the Variable APIs to fetch variables related to tasks and use them for reporting purposes. That answers what is the original intent of your use case. What is still fuzzy to me is the problem you're trying to solve as it hasn't been demonstrated yet in a straightforward way. The Variable History Entries can have In the functional requirements you state you're interested to query all task variables using the Why isn't that the case now? Can you provide a simple example where this does not currently happen using a simple BPMN process definition and a process instance ? If such an example can't be found, this thread can be considered as closed. PS: You can still create other issue requests for the team and it would be very helpful if ambiguity can be avoided by demonstrating a problem with examples that have simple steps to reproduce or a feature that has a clear request by specifying what is the problem it overcomes or what is exactly the desired behaviour. Kind Regards, |
Hi @psavidis , Thanks for your descriptive response. I have tried my best to respond to all of your queries by attaching sample BPMN and important table data before and after my code implementation.
Completely agree that taskId would have null value for variables not associated with task. Although in current scenario, taskId columm in act_hi_varinst table is null even for variables associated with task. For attached sample BPMN - task variables like ReviewWorkItem, firstName etc have null task_id value, which restricts me to retrieve all variables associated with task.
Sure, attached sample BPMN and table analysis as requested.
Surely will take this into consideration. Hopefully my response helps. Let me know if any more questions :) Thanks, |
Hello @jyotisahu9, I started to recreate the process you posted on the screenshot but i'm afraid there might be discrepancies or slight diverge from your scenario. Also please state sequentially what steps to follow with the process instance i'll spin up and the expectation that is not met in the end. For instance:
It would be highly appreciated if the steps to reproduce the problem are simple as the example above. Like that we'll have a common reference of how to reproduce the problem. PS: I had a look at the excel sheet but it's not easing the investigation so let's proceed with the above recommendation. Best, |
Hi @psavidis, I have attached the bpmn file here https://gist.github.com/jyotisahu9/eda8978ec94e24ce2615c2bee887561d Let me know if you are able to access it. Steps mentioned above to reproduce the problem are correct, adding few more details:
Thanks, |
User Story (Required on creation)
As a Operations engineer, I would like to know all variables related to specific task
Functional Requirements (Required before implementation)
Technical Requirements (Required before implementation)
Pull requests
The text was updated successfully, but these errors were encountered: