OMRE (Operating Model Reverse Engineering)
This topic is created to discuss the current version of the OMRE (https://marketplace.collibra.com/listings/operating-model-reverse-engineering-omre/) as well as the possible improvements that could make this solution better.
Dmytro Lugovyi
Posted 5 years ago · Edited 1 year ago·Last reply 1 year ago
113 comments
venkata_g
·1 year ago · EditedHi, @dmytrolugovyi Could you please help me with this issue?
I'm getting the below error while re-running the workflow (1st time it was successful). Deployed v1.2.1 and using it in v2024.10
-----------------------------------------------------------------------------------------------------------------------------
Rens Spiljard
·1 year agoReporting the same issue as venkata_g after v2024.10, using the latest omre version v1.2.1. We noticed that before the error is logged, the warning 'DataSetMatcherEventListener - Listener invoked with no events to process' is first logged while omre is still executing. Our last successful run of omre also showed this warning, but far after omre was finished executing. Perhaps after v2024.10, DataSetMatcherEventListener is somehow triggered while omre is still executing, causing a premature commit. This could maybe explain the failed inserts reported in the error.
-----------------------------------------------------------------------------------------------------------------------------
2024-10-08 08:27:02.927 [backgroundjob-worker-pool-10-thread-6] WARN c.c.c.r.c.s.m.i.DataSetMatcherEventListener - Listener invoked with no events to process [authenticated_id=aeef7a3a-b775-4d89-b1af-288112ed9846, jobrunr.jobId=01926aee-e1ad-7008-ab7a-c37956af80a1, jobrunr.jobName=Workflow, session_hash=6bacc0eb29c40a1db40b1cc3e84f0bfe, trace_id=a6d24362c0622a48452efc0412dc30a2, trace_flags=01, span_id=7ca83511bea60753]
2024-10-08 08:27:04.754 [backgroundjob-worker-pool-10-thread-6] ERROR org.hibernate.orm.jdbc.batch - HHH100501: Exception executing batch [java.sql.BatchUpdateException: Batch entry 0 insert into dgc.ATTRIBUTES (CREATOR,CREATIONDATE,LASTMODIFIED,MODIFIEDBY,OWNER,IS_SYSTEM,TYPE,EXPRESSION_LONG,OPT_LOCK,ATTR_TYPE,ID) values (('00000000-0000-0000-0000-000000900003'::uuid),('1725238672854'::int8),('1728376023572'::int8),('aeef7a3a-b775-4d89-b1af-288112ed9846'::uuid),('0191b03c-f770-74db-93a8-f7e8bc301935'::uuid),('FALSE'::boolean),('977a58eb-2d7c-497c-8736-a55c0cc6dd7b'::uuid),('01918e09-0b52-7dcf-8c16-6f1c472adbde'),('0'::int4),'SA',('0191b03c-fdd6-7576-b170-440858552f9f'::uuid)),(('00000000-0000-0000-0000-000000900003'::uuid),('1725238672854'::int8),('1728376023572'::int8),('aeef7a3a-b775-4d89-b1af-288112ed9846'::uuid),('0191b03c-f770-74db-93a8-f7e8bc301935'::uuid),('FALSE'::boolean),('cc0fa6d7-fe91-4641-83e0-25645c254c03'::uuid),('null'),('0'::int4),'SA',('0191b03c-fdd6-7576-b170-440858552f9d'::uuid)),(('00000000-0000-0000-0000-000000900003'::uuid),('1725238672854'::int8),('1728376023572'::int8),('aeef7a3a-b775-4d89-b1af-288112ed9846'::uuid),('0191b03c-f770-74db-93a8-f7e8bc301935'::uuid),('FALSE'::boolean),('eb068283-0ff6-482e-9604-5fc72ed5070d'::uuid),('Attribute Type (Text)'),('0'::int4),'SA',('0191b03c-fdd6-7576-b170-440858552f99'::uuid)),(('00000000-0000-0000-0000-000000900003'::uuid),('1725238672854'::int8),('1728376023572'::int8),('aeef7a3a-b775-4d89-b1af-288112ed9846'::uuid),('0191b03c-f770-74db-93a8-f7e8bc301935'::uuid),('FALSE'::boolean),('f76137e9-fb1d-4d1f-9b4b-10731d024535'::uuid),('1'),('0'::int4),'SA',('0191b03c-fdd6-7576-b170-440858552f9b'::uuid)) was aborted: ERROR: duplicate key value violates unique constraint "attributes_pkey1"
Detail: Key (id)=(0191b03c-fdd6-7576-b170-440858552f9f) already exists. Call getNextException to see other errors in the batch.], SQL: insert into dgc.ATTRIBUTES (CREATOR,CREATIONDATE,LASTMODIFIED,MODIFIEDBY,OWNER,IS_SYSTEM,TYPE,EXPRESSION_LONG,OPT_LOCK,ATTR_TYPE,ID) values (?,?,?,?,?,?,?,?,?,'SA',?) [authenticated_id=aeef7a3a-b775-4d89-b1af-288112ed9846, jobrunr.jobId=01926aee-e1ad-7008-ab7a-c37956af80a1, jobrunr.jobName=Workflow, session_hash=6bacc0eb29c40a1db40b1cc3e84f0bfe, trace_id=a6d24362c0622a48452efc0412dc30a2, trace_flags=01, span_id=7ca83511bea60753]
mgall42
·1 year ago · Edited@user_60abf4 I was able to reproduce the error with OMRE v1.2.1 in a DIC test instance running on 2024.10.3. In my case, the OMRE workflow crashed while working on the existing asset "Assessments workflow" of type "Workflow". The error message included the UUID of the attribute which OMRE tried to create:
Could you please retrieve the UUID which caused the error in your DGC log and use the REST attribute API to find out more about the attribute that crashed the workflow in your case? Is it also the "UUID" attribute which is part of a complex relation of type "Workflow Assignment Rule" which relates the "Assessment workflow" with the "Assessment Review" asset? Thanks for checking!
Rens Spiljard
·1 year ago · Edited@mgall42 In my case, OMRE crashed while trying to remove complex relation with assignedCharacteristic id '5f72fdb5-cc2e-4dbb-b99b-cb9c6afe6512' at the following api call: 'complexRelationApi.removeComplexRelation(assignedCharacteristic.getId())'
This complex relation is of type Assignment Characteristics.
The reported key that already exists: 'Detail: Key (id)=(54b9a9cc-f6b9-48dc-9433-022cdb755186)'
Retrieving this attribute by id:
The type id '977a58eb-2d7c-497c-8736-a55c0cc6dd7b' indeed belongs to "UUID" attributetype:
The UUID attributetype is part of complex relation type "Assignment Characteristics" that OMRE tries to remove last.
mgall42
·1 year agoThanks for sharing the details @user_60abf4! I performed additional tests and the OMRE workflow crashes with this error whenever it tries to remove a complex relation via the Java Core API. Other customers reported bugs in 2024.10 when they try to remove complex relations via the UI that throw similar errors. Our product team is currently investigating the issue. In the meantime, you should still be able to remove the complex relations that cause issues via the REST Core API. It worked in my test cases and afterwards OMRE completed successfully.
mgall42
·1 year ago · EditedThis error is now considered as a known issue: https://support.collibra.com/hc/en-us/articles/27550802295575-Removing-a-complex-relation-throws-an-unexpected-error The workaround to search for a complex relation and delete it in two separate transactions cannot be implemented quickly given the OMRE logic but our product team is already working on a hotfix to resolve the underlying API issue.
mgall42
·1 year ago · EditedThe fix mentioned above is included in the 2024.11.1 release which is now available. This is an on-demand release, upgrades can be requested via a CloudOps request and will result in some downtime.
Gorik Desmet
·1 year agoHi there,
Even if I rerun the OMRE immediately after a first run, I get the error related to duplicate key constraint. If I understand the code correctly, it's should do an upsert (as removal is not needed as nothing changed to the operating model). So either it creates a value if it does not exist or updates a value if it already exists. How is this then related to the removal of a complex relation? Except maybe if the changeComplexRelation is actually doing a delete + create?
Thanks!
Kind regards,
Gorik
Joren Vleminckx
·1 year agoHi @dimitergerensky ,
Can you help me with the following issue. I'm trying to run OMRE but after more than an hour running smoothly it crashes. It is trying to access an element from an empty list which it cannot process. I'm running OMRE v1.2.1 on Collibra 2025.01.
"Log message:
2025-01-27 13:19:34.603 [backgroundjob-worker-pool-9-thread-9] WARN c.c.d.w.s.g.b.SecureGroovyTaskActivityBehavior - Exception while executing scripttask_omre : groovy script evaluation failed: 'javax.script.ScriptException: java.util.NoSuchElementException: Cannot access first() element from an empty List' Trace: scopeType=bpmn, scopeDefinitionKey=scriptOperatingModelReverseEngineering, scopeDefinitionId=0193f3c8-d404-7491-bef2-04abb48342ef, subScopeDefinitionKey=scripttask_omre, tenantId=<empty>, type=scriptTask [authenticated_id=0192e38c-3c88-7305-9a45-92543e3abad8, jobrunr.jobId=0194a7a2-b1c0-70b7-a77d-6e05ba720712, jobrunr.jobName=workflow, session_hash=d0ee5bfb22368c8784ec1b3f9252d62d, trace_id=9d79cbf45456d88f7083473e7c3863a7, trace_flags=01, span_id=7ccf88778e4d7238]"
I have incorporated the complete log file in the attachments.
Kind Regards,
Joren
mgall42
·1 year agoHappy to announce that OMRE v1.5 is now available on our marketplace: https://marketplace.collibra.com/listings/operating-model-reverse-engineering-omre/ We have refactored the code, fixed various bugs and improved the overall performance significantly! Please upgrade to the latest version, especially if your DGC version is 2024.11 or later.
Grant Rollerson
·1 year ago@mgall42 Does the workflow work with "Data Product Input Port" and "Data Product Output Port"?
mgall42
·1 year ago@grantrollerson1 Yes, OMRE creates assets for "Data Product", "Data Product Input Port" and "Data Product Output Port" as expected but OMRE v1.5 does not support Asset Type Groups. This means that the relation type "Data Product Input implements / is implemented as Data Product Input Port" does not have a head because "Data Product Input" is an Asset Type Group and not an Asset Type. For "Data Product Output Port is implemented as / implements Data Product Output" the tail is missing accordingly.
theovan_es
·2 years ago · EditedTo running into issues with the Collibra 2024.07 release:
It seems that an earlier change by Collibra, making results into an AbstractImmutableList without a sort option, has now been added to more api returns.
To combat this what you need to do is edit the workflow 'OMRE - Extraction and Report' and go to approx line 510. There you will find many things looking like:
For all these lines, so for allDomains, allStatusTypes, etc.. just add
before the api call and close it with
before the
So two examples:
old:
new:
old:
new:
theovan_es
·2 years agoAnd for Collibra. It would be nice if you would either edit this (altho there is no support on the OMRE workflow) or put in the release not that you change the return types.
Ann Wuyts
·2 years ago · EditedHi @theovan_es
theovan_es
·2 years ago · EditedTo running into issues with the Collibra 2024.07 release:
It seems that an earlier change by Collibra, making results into an AbstractImmutableList without a sort option, has now been added to more api returns.
To combat this what you need to do is edit the workflow 'OMRE - Extraction and Report' and go to approx line 510. There you will find many things looking like:
For all these lines, so for allDomains, allStatusTypes, etc.. just add
before the api call and close it with
before the
So two examples:
old:
new:
old:
new:
PMGenmab
·1 year ago · EditedHi @Ann,
Can you share the link to the hotfix for OMRE as you mentioned above.
Hock Khoo
·2 years ago · EditedWe're getting an error on v1.2.1:
Any ideas why?
Hock Khoo
·2 years ago · EditedHi,
Need some help with this…Installed latest version 1.2.1, which is failing as below.
mylesstenlake11
·2 years agoHey, has there been any updates on this?
Dmytro Lugovyi
OP2 years ago · Edited@mauthier.wlgore.com @ravi_collibra
The new version of the OMRE has been published on Collibra Marketplace - https://marketplace.collibra.com/listings/operating-model-reverse-engineering-omre/
To deploy the fix, you don’t need to redeploy everything but only one workflow which is OMRE-Extract.bpmn. If you keep getting the error with the new version of the workflow, please submit the log file here.
ravi
·2 years ago · EditedThank you @lugovyi.dmytro. As mentioned by you, I have deployed only OMRE-Extract.bpmn.
But while running the workflow and choosing all the fields in the first form, the workflow is unable to start.
2024-02-09 02:11:02.995 [jobExecutor-5] INFO c.c.d.c.api.component.LoggerApiImpl - [OMRE] xxx out of xxx domains processed
2024-02-09 02:11:04.960 [jobExecutor-5] WARN c.c.d.w.s.g.b.SecureGroovyTaskActivityBehavior - Exception while executing scripttask_omre : groovy script evaluation failed: ‘javax.script.ScriptException: java.util.NoSuchElementException: Cannot access first() element from an empty List’ Trace: scopeType=bpmn, scopeDefinitionKey=scriptOperatingModelReverseEngineering, scopeDefinitionId=ffe39728-36a8-41ca-92bc-11a873425c1b, subScopeDefinitionKey=scripttask_omre, tenantId=, type=scriptTask
2024-02-09 02:11:04.960 [jobExecutor-5] ERROR c.c.d.c.w.a.WorkflowExceptionHandler - Error starting workflow with id: scriptOperatingModelReverseEngineering
org.flowable.common.engine.impl.scripting.FlowableScriptEvaluationException: groovy script evaluation failed: ‘javax.script.ScriptException: java.util.NoSuchElementException: Cannot access first() element from an empty List’ Trace: scopeType=bpmn, scopeDefinitionKey=scriptOperatingModelReverseEngineering, scopeDefinitionId=ffe39728-36a8-41ca-92bc-11a873425c1b, subScopeDefinitionKey=scripttask_omre, tenantId=, type=scriptTask
at org.flowable.common.engine.impl.scripting.ScriptingEngines.evaluate(ScriptingEngines.java:132)
Regards,
Ravi
ravi
·2 years ago · EditedHi @lugovyi.dmytro,
I have sent you a mail with logs attached. Please review.
Regards,
Ravi
Paresh Maharana
·2 years ago · EditedHi Ravi,
I was facing this problem before, for that I have to delete the older the assets & domains in the operating model community and start with a new one & it worked.
As the older scope values are immutable, we will face the same error.
Thanks,
Paresh
Hock Khoo
·2 years agoWe had this too. It was in the assetUpsert and appears to be related to a new OM object that has the same name as a pre-existing OM object. It does the rename, and then fails to create the new OMRE asset for the new object.
Dmytro Lugovyi
OP2 years ago · Edited@mauthier.wlgore.com @ravi_collibra
The new version of the OMRE has been published on Collibra Marketplace - https://marketplace.collibra.com/listings/operating-model-reverse-engineering-omre/
To deploy the fix, you don’t need to redeploy everything but only one workflow which is OMRE-Extract.bpmn. If you keep getting the error with the new version of the workflow, please submit the log file here.
Dmytro Lugovyi
OP2 years ago · Editedhi @ravi_collibra
I’m trying to locate where exactly it’s failing but would be great to have a bigger log file so it will be possible to identify the place where the issue is. You could share it on [email protected]. Or just posted it here
Roshan Medatwal
·2 years ago · Edited@ravi_collibra seems like there are some issues on your instance in terms of operating model. OMRE provides appropriate loggers, without appropriate logs am unsure on what the issues could be. The workflow was tested thoroughly before release.
mauthier
·2 years ago · EditedI would also like to see the OMRE workflow fixed by Collibra for those of us who are not developers.
ravi
·2 years ago · EditedHi @roshan.medatwal.collibra.com @lugovyi.dmytro,
When can we expect to have the updated version of code . Scope Api is giving an error, and prohibits the workflow from running.
Regards,
Ravi
ravi
·2 years ago · EditedScope error is fixed, but the workflow still doesn’t work. Still facing error: workflow says unable to get first() element. There are more than 5000 lines of code, it would be helpful if Collibra fixes this workflow asap. It’s very useful.
@roshan.medatwal.collibra.com @lugovyi.dmytro @bineesh.babu.collibra.com
ravi
·2 years ago · EditedHi @roshan.medatwal.collibra.com @lugovyi.dmytro,
When can we expect to have the updated version of code . Scope Api is giving an error, and prohibits the workflow from running.
Regards,
Ravi
Paresh Maharana
·2 years ago · EditedHi Ravi,
Please go to the OMRE Extraction Report Groovy code and replace
def allScopes = scopeApi.getAllScopes().sort { it.getLastModifiedOn() }
with this
def allScopes = (new ArrayList(scopeApi.getAllScopes())).sort { it.getLastModifiedOn() }
It will work
Thanks,
Paresh
Roshan Medatwal
·2 years ago · EditedHi, As per our internal discussions, there was a change made to ScopApi.getAllScopes() method now returns .stream().map(…).toList() which is an immutable list.
We will try to make a new fix available soon on marketplace.
anirudhgoel1
·2 years ago · EditedHello Experts,
We have an encountered unexpected error while running OMRE - Extraction and report workflow.
And I need your help to examine below warning and error message.
023-11-06 04:00:17.786 [jobExecutor-4] INFO c.c.d.c.api.component.LoggerApiImpl - [OMRE] 62 Domains found [session_hash=06d0d6e2cac09cb8cb0f3ae46a9e9959, authenticated_id=00000000-0000-0000-0000-000000900003, trace_id=2b7d2c3c9dfe67a3174c766eba139d14, trace_flags=01, span_id=edbd8be47157e776]
2023-11-06 04:00:17.794 [jobExecutor-4] INFO c.c.d.c.api.component.LoggerApiImpl - [OMRE] 23 Status Types found [session_hash=06d0d6e2cac09cb8cb0f3ae46a9e9959, authenticated_id=00000000-0000-0000-0000-000000900003, trace_id=2b7d2c3c9dfe67a3174c766eba139d14, trace_flags=01, span_id=9316e0d12cac0489]
2023-11-06 04:00:17.809 [jobExecutor-4] INFO c.c.d.c.api.component.LoggerApiImpl - [OMRE] 24 Domain Types found [session_hash=06d0d6e2cac09cb8cb0f3ae46a9e9959, authenticated_id=00000000-0000-0000-0000-000000900003, trace_id=2b7d2c3c9dfe67a3174c766eba139d14, trace_flags=01, span_id=fd2fc406ccba3acc]
2023-11-06 04:00:17.843 [jobExecutor-4] WARN c.c.d.w.s.g.b.SecureGroovyTaskActivityBehavior - Exception while executing scripttask_omre : groovy script evaluation failed: ‘javax.script.ScriptException: java.lang.UnsupportedOperationException’ Trace: scopeType=bpmn, scopeDefinitionKey=scriptOperatingModelReverseEngineering, scopeDefinitionId=17abe465-ba24-4814-ad36-b8a1c17c3382, subScopeDefinitionKey=scripttask_omre, tenantId=, type=scriptTask [session_hash=06d0d6e2cac09cb8cb0f3ae46a9e9959, authenticated_id=00000000-0000-0000-0000-000000900003, trace_id=2b7d2c3c9dfe67a3174c766eba139d14, trace_flags=01, span_id=759ebd09870add7a]
2023-11-06 04:00:17.849 [jobExecutor-4] ERROR c.c.d.c.w.a.WorkflowExceptionHandler - Error starting workflow with id: scriptOperatingModelReverseEngineering [session_hash=06d0d6e2cac09cb8cb0f3ae46a9e9959, authenticated_id=00000000-0000-0000-0000-000000900003, trace_id=2b7d2c3c9dfe67a3174c766eba139d14, trace_flags=01, span_id=759ebd09870add7a]
org.flowable.common.engine.impl.scripting.FlowableScriptEvaluationException: groovy script evaluation failed: ‘javax.script.ScriptException: java.lang.UnsupportedOperationException’ Trace: scopeType=bpmn, scopeDefinitionKey=scriptOperatingModelReverseEngineering, scopeDefinitionId=17abe465-ba24-4814-ad36-b8a1c17c3382, subScopeDefinitionKey=scripttask_omre, tenantId=, type=scriptTask
at org.flowable.common.engine.impl.scripting.ScriptingEngines.evaluate(ScriptingEngines.java:132)
at org.flowable.common.engine.impl.scripting.ScriptingEngines.evaluate(ScriptingEngines.java:105)
at org.flowable.common.engine.impl.scripting.ScriptingEngines.evaluate(ScriptingEngines.java:78)
at com.collibra.dgc.workflow.security.groovy.behavior.SecureGroovyTaskActivityBehavior.execute(SecureGroovyTaskActivityBehavior.java:77)
at org.flowable.engine.impl.agenda.ContinueProcessOperation.executeActivityBehavior(ContinueProcessOperation.java:298)
at org.flowable.engine.impl.agenda.ContinueProcessOperation.executeSynchronous(ContinueProcessOperation.java:175)
at org.flowable.engine.impl.agenda.ContinueProcessOperation.continueThroughFlowNode(ContinueProcessOperation.java:125)
at org.flowable.engine.impl.agenda.ContinueProcessOperation.run(ContinueProcessOperation.java:88)
at org.flowable.common.engine.impl.AbstractEngineConfiguration.lambda$new$0(AbstractEngineConfiguration.java:195)
at org.flowable.engine.impl.interceptor.CommandInvoker.executeOperation(CommandInvoker.java:130)
at org.flowable.engine.impl.interceptor.CommandInvoker.executeOperations(CommandInvoker.java:114)
at org.flowable.engine.impl.interceptor.CommandInvoker.execute(CommandInvoker.java:72)
at org.flowable.engine.impl.interceptor.BpmnOverrideContextInterceptor.execute(BpmnOverrideContextInterceptor.java:26)
at org.flowable.common.engine.impl.interceptor.TransactionContextInterceptor.execute(TransactionContextInterceptor.java:53)
at org.flowable.common.engine.impl.interceptor.CommandContextInterceptor.execute(CommandContextInterceptor.java:105)
at org.flowable.common.spring.SpringTransactionInterceptor.execute(SpringTransactionInterceptor.java:52)
at org.flowable.common.engine.impl.interceptor.LogInterceptor.execute(LogInterceptor.java:30)
at com.collibra.dgc.core.workflow.activiti.extensions.CustomCommandInterceptor.execute(CustomCommandInterceptor.java:24)
at org.flowable.common.engine.impl.cfg.CommandExecutorImpl.execute(CommandExecutorImpl.java:56)
at org.flowable.common.engine.impl.cfg.CommandExecutorImpl.execute(CommandExecutorImpl.java:51)
at com.collibra.dgc.core.workflow.activiti.WorkflowEngineImpl.startProcessWithFormProperties(WorkflowEngineImpl.java:440)
at com.collibra.dgc.core.workflow.activiti.WorkflowEngineImpl.lambda$startProcess$3(WorkflowEngineImpl.java:462)
at com.collibra.dgc.core.workflow.activiti.WorkflowEngineImpl.lambda$startProcessTemplate$5(WorkflowEngineImpl.java:487)
at com.collibra.dgc.core.workflow.activiti.WorkflowExceptionHandler$Executor.execute(WorkflowExceptionHandler.java:169)
at com.collibra.dgc.core.workflow.activiti.WorkflowEngineImpl.startProcessTemplate(WorkflowEngineImpl.java:485)
at com.collibra.dgc.core.workflow.activiti.WorkflowEngineImpl.startProcess(WorkflowEngineImpl.java:458)
at com.collibra.dgc.core.workflow.impl.WorkflowActionServiceImpl.startWorkflow(WorkflowActionServiceImpl.java:503)
at com.collibra.dgc.core.workflow.impl.WorkflowActionServiceImpl.startWorkflow(WorkflowActionServiceImpl.java:163)
at com.collibra.dgc.core.workflow.impl.job.WorkflowJobRunner.startWorkflowForItem(WorkflowJobRunner.java:55)
at com.collibra.dgc.core.workflow.impl.job.AbstractWorkflowJobRunner.startForBusinessItems(AbstractWorkflowJobRunner.java:75)
at com.collibra.dgc.core.workflow.impl.job.AbstractWorkflowJobRunner.run(AbstractWorkflowJobRunner.java:57)
at com.collibra.dgc.core.workflow.impl.job.WorkflowJobRunner.run(WorkflowJobRunner.java:24)
at com.collibra.job.api.IJobRunner.execute(IJobRunner.java:53)
at com.collibra.dgc.core.service.job.impl.JobServiceImpl$RunJob$1.doInTransactionWithoutResult(JobServiceImpl.java:1207)
at org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:36)
at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140)
at com.collibra.dgc.core.exceptions.ExceptionResolvingWithCachingTransactionTemplate.execute(ExceptionResolvingWithCachingTransactionTemplate.java:28)
at com.collibra.dgc.core.service.job.impl.JobServiceImpl$RunJob.runJobInTransaction(JobServiceImpl.java:1201)
at com.collibra.dgc.core.service.job.impl.JobServiceImpl$RunJob.postInitRun(JobServiceImpl.java:1106)
at com.collibra.dgc.core.service.job.impl.JobServiceImpl$RunJob.run(JobServiceImpl.java:1068)
at io.micrometer.core.instrument.composite.CompositeTimer.record(CompositeTimer.java:89)
at io.micrometer.core.instrument.Timer.lambda$wrap$0(Timer.java:152)
at org.springframework.security.concurrent.DelegatingSecurityContextRunnable.run(DelegatingSecurityContextRunnable.java:94)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.base/java.lang.Thread.run(Unknown Source)
Caused by: javax.script.ScriptException: javax.script.ScriptException: java.lang.UnsupportedOperationException
at org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.eval(GroovyScriptEngineImpl.java:158)
at java.scripting/javax.script.AbstractScriptEngine.eval(Unknown Source)
at org.flowable.common.engine.impl.scripting.ScriptingEngines.evaluate(ScriptingEngines.java:111)
… 45 common frames omitted
Caused by: javax.script.ScriptException: java.lang.UnsupportedOperationException
at org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.eval(GroovyScriptEngineImpl.java:320)
at org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.eval(GroovyScriptEngineImpl.java:155)
… 47 common frames omitted
Caused by: java.lang.UnsupportedOperationException: null
at java.base/java.util.ImmutableCollections.uoe(Unknown Source)
at java.base/java.util.ImmutableCollections$AbstractImmutableList.sort(Unknown Source)
at org.codehaus.groovy.runtime.DefaultGroovyMethods.sort(DefaultGroovyMethods.java:9887)
at org.codehaus.groovy.runtime.DefaultGroovyMethods.sort(DefaultGroovyMethods.java:9851)
at org.codehaus.groovy.runtime.dgm$683.invoke(Unknown Source)
at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoMetaMethodSiteNoUnwrapNoCoerce.invoke(PojoMetaMethodSite.java:242)
at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:51)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:139)
at Script6.run(Script6.groovy:545)
at org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.eval(GroovyScriptEngineImpl.java:317)
… 48 common frames omitted
Thanks, in advance.
Anirudh Goel
anirudhgoel1
·2 years ago · EditedHi Dmytro,
We have zero scopes as of now and OMRE extraction workflow was working till last week with zero scopes.
Regards,
Anirudh Goel
theovan_es
·2 years ago · EditedWe got the same error message. I haven’t looked into it completely yet, but it’s indeed with the scopes. By the looks something that has to do with the sorting or the list of scopes. If you remove that part of the workflow (OMRE - Extraction and Report - somewhere around line 530) it probably works again. Somehow the sorting causes the unsupported operation exception.
Edit: coworker also took a look. The api currently returns AbstractImmutableList which doesn’t have a sort method. Easiest fix is to cast it, such as
def allScopes = (new ArrayList(scopeApi.getAllScopes())).sort { it.getLastModifiedOn() }
and you should be good to go
anirudhgoel1
·2 years ago · EditedHello Experts,
We have an encountered unexpected error while running OMRE - Extraction and report workflow.
And I need your help to examine below warning and error message.
023-11-06 04:00:17.786 [jobExecutor-4] INFO c.c.d.c.api.component.LoggerApiImpl - [OMRE] 62 Domains found [session_hash=06d0d6e2cac09cb8cb0f3ae46a9e9959, authenticated_id=00000000-0000-0000-0000-000000900003, trace_id=2b7d2c3c9dfe67a3174c766eba139d14, trace_flags=01, span_id=edbd8be47157e776]
2023-11-06 04:00:17.794 [jobExecutor-4] INFO c.c.d.c.api.component.LoggerApiImpl - [OMRE] 23 Status Types found [session_hash=06d0d6e2cac09cb8cb0f3ae46a9e9959, authenticated_id=00000000-0000-0000-0000-000000900003, trace_id=2b7d2c3c9dfe67a3174c766eba139d14, trace_flags=01, span_id=9316e0d12cac0489]
2023-11-06 04:00:17.809 [jobExecutor-4] INFO c.c.d.c.api.component.LoggerApiImpl - [OMRE] 24 Domain Types found [session_hash=06d0d6e2cac09cb8cb0f3ae46a9e9959, authenticated_id=00000000-0000-0000-0000-000000900003, trace_id=2b7d2c3c9dfe67a3174c766eba139d14, trace_flags=01, span_id=fd2fc406ccba3acc]
2023-11-06 04:00:17.843 [jobExecutor-4] WARN c.c.d.w.s.g.b.SecureGroovyTaskActivityBehavior - Exception while executing scripttask_omre : groovy script evaluation failed: ‘javax.script.ScriptException: java.lang.UnsupportedOperationException’ Trace: scopeType=bpmn, scopeDefinitionKey=scriptOperatingModelReverseEngineering, scopeDefinitionId=17abe465-ba24-4814-ad36-b8a1c17c3382, subScopeDefinitionKey=scripttask_omre, tenantId=, type=scriptTask [session_hash=06d0d6e2cac09cb8cb0f3ae46a9e9959, authenticated_id=00000000-0000-0000-0000-000000900003, trace_id=2b7d2c3c9dfe67a3174c766eba139d14, trace_flags=01, span_id=759ebd09870add7a]
2023-11-06 04:00:17.849 [jobExecutor-4] ERROR c.c.d.c.w.a.WorkflowExceptionHandler - Error starting workflow with id: scriptOperatingModelReverseEngineering [session_hash=06d0d6e2cac09cb8cb0f3ae46a9e9959, authenticated_id=00000000-0000-0000-0000-000000900003, trace_id=2b7d2c3c9dfe67a3174c766eba139d14, trace_flags=01, span_id=759ebd09870add7a]
org.flowable.common.engine.impl.scripting.FlowableScriptEvaluationException: groovy script evaluation failed: ‘javax.script.ScriptException: java.lang.UnsupportedOperationException’ Trace: scopeType=bpmn, scopeDefinitionKey=scriptOperatingModelReverseEngineering, scopeDefinitionId=17abe465-ba24-4814-ad36-b8a1c17c3382, subScopeDefinitionKey=scripttask_omre, tenantId=, type=scriptTask
at org.flowable.common.engine.impl.scripting.ScriptingEngines.evaluate(ScriptingEngines.java:132)
at org.flowable.common.engine.impl.scripting.ScriptingEngines.evaluate(ScriptingEngines.java:105)
at org.flowable.common.engine.impl.scripting.ScriptingEngines.evaluate(ScriptingEngines.java:78)
at com.collibra.dgc.workflow.security.groovy.behavior.SecureGroovyTaskActivityBehavior.execute(SecureGroovyTaskActivityBehavior.java:77)
at org.flowable.engine.impl.agenda.ContinueProcessOperation.executeActivityBehavior(ContinueProcessOperation.java:298)
at org.flowable.engine.impl.agenda.ContinueProcessOperation.executeSynchronous(ContinueProcessOperation.java:175)
at org.flowable.engine.impl.agenda.ContinueProcessOperation.continueThroughFlowNode(ContinueProcessOperation.java:125)
at org.flowable.engine.impl.agenda.ContinueProcessOperation.run(ContinueProcessOperation.java:88)
at org.flowable.common.engine.impl.AbstractEngineConfiguration.lambda$new$0(AbstractEngineConfiguration.java:195)
at org.flowable.engine.impl.interceptor.CommandInvoker.executeOperation(CommandInvoker.java:130)
at org.flowable.engine.impl.interceptor.CommandInvoker.executeOperations(CommandInvoker.java:114)
at org.flowable.engine.impl.interceptor.CommandInvoker.execute(CommandInvoker.java:72)
at org.flowable.engine.impl.interceptor.BpmnOverrideContextInterceptor.execute(BpmnOverrideContextInterceptor.java:26)
at org.flowable.common.engine.impl.interceptor.TransactionContextInterceptor.execute(TransactionContextInterceptor.java:53)
at org.flowable.common.engine.impl.interceptor.CommandContextInterceptor.execute(CommandContextInterceptor.java:105)
at org.flowable.common.spring.SpringTransactionInterceptor.execute(SpringTransactionInterceptor.java:52)
at org.flowable.common.engine.impl.interceptor.LogInterceptor.execute(LogInterceptor.java:30)
at com.collibra.dgc.core.workflow.activiti.extensions.CustomCommandInterceptor.execute(CustomCommandInterceptor.java:24)
at org.flowable.common.engine.impl.cfg.CommandExecutorImpl.execute(CommandExecutorImpl.java:56)
at org.flowable.common.engine.impl.cfg.CommandExecutorImpl.execute(CommandExecutorImpl.java:51)
at com.collibra.dgc.core.workflow.activiti.WorkflowEngineImpl.startProcessWithFormProperties(WorkflowEngineImpl.java:440)
at com.collibra.dgc.core.workflow.activiti.WorkflowEngineImpl.lambda$startProcess$3(WorkflowEngineImpl.java:462)
at com.collibra.dgc.core.workflow.activiti.WorkflowEngineImpl.lambda$startProcessTemplate$5(WorkflowEngineImpl.java:487)
at com.collibra.dgc.core.workflow.activiti.WorkflowExceptionHandler$Executor.execute(WorkflowExceptionHandler.java:169)
at com.collibra.dgc.core.workflow.activiti.WorkflowEngineImpl.startProcessTemplate(WorkflowEngineImpl.java:485)
at com.collibra.dgc.core.workflow.activiti.WorkflowEngineImpl.startProcess(WorkflowEngineImpl.java:458)
at com.collibra.dgc.core.workflow.impl.WorkflowActionServiceImpl.startWorkflow(WorkflowActionServiceImpl.java:503)
at com.collibra.dgc.core.workflow.impl.WorkflowActionServiceImpl.startWorkflow(WorkflowActionServiceImpl.java:163)
at com.collibra.dgc.core.workflow.impl.job.WorkflowJobRunner.startWorkflowForItem(WorkflowJobRunner.java:55)
at com.collibra.dgc.core.workflow.impl.job.AbstractWorkflowJobRunner.startForBusinessItems(AbstractWorkflowJobRunner.java:75)
at com.collibra.dgc.core.workflow.impl.job.AbstractWorkflowJobRunner.run(AbstractWorkflowJobRunner.java:57)
at com.collibra.dgc.core.workflow.impl.job.WorkflowJobRunner.run(WorkflowJobRunner.java:24)
at com.collibra.job.api.IJobRunner.execute(IJobRunner.java:53)
at com.collibra.dgc.core.service.job.impl.JobServiceImpl$RunJob$1.doInTransactionWithoutResult(JobServiceImpl.java:1207)
at org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:36)
at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140)
at com.collibra.dgc.core.exceptions.ExceptionResolvingWithCachingTransactionTemplate.execute(ExceptionResolvingWithCachingTransactionTemplate.java:28)
at com.collibra.dgc.core.service.job.impl.JobServiceImpl$RunJob.runJobInTransaction(JobServiceImpl.java:1201)
at com.collibra.dgc.core.service.job.impl.JobServiceImpl$RunJob.postInitRun(JobServiceImpl.java:1106)
at com.collibra.dgc.core.service.job.impl.JobServiceImpl$RunJob.run(JobServiceImpl.java:1068)
at io.micrometer.core.instrument.composite.CompositeTimer.record(CompositeTimer.java:89)
at io.micrometer.core.instrument.Timer.lambda$wrap$0(Timer.java:152)
at org.springframework.security.concurrent.DelegatingSecurityContextRunnable.run(DelegatingSecurityContextRunnable.java:94)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.base/java.lang.Thread.run(Unknown Source)
Caused by: javax.script.ScriptException: javax.script.ScriptException: java.lang.UnsupportedOperationException
at org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.eval(GroovyScriptEngineImpl.java:158)
at java.scripting/javax.script.AbstractScriptEngine.eval(Unknown Source)
at org.flowable.common.engine.impl.scripting.ScriptingEngines.evaluate(ScriptingEngines.java:111)
… 45 common frames omitted
Caused by: javax.script.ScriptException: java.lang.UnsupportedOperationException
at org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.eval(GroovyScriptEngineImpl.java:320)
at org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.eval(GroovyScriptEngineImpl.java:155)
… 47 common frames omitted
Caused by: java.lang.UnsupportedOperationException: null
at java.base/java.util.ImmutableCollections.uoe(Unknown Source)
at java.base/java.util.ImmutableCollections$AbstractImmutableList.sort(Unknown Source)
at org.codehaus.groovy.runtime.DefaultGroovyMethods.sort(DefaultGroovyMethods.java:9887)
at org.codehaus.groovy.runtime.DefaultGroovyMethods.sort(DefaultGroovyMethods.java:9851)
at org.codehaus.groovy.runtime.dgm$683.invoke(Unknown Source)
at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoMetaMethodSiteNoUnwrapNoCoerce.invoke(PojoMetaMethodSite.java:242)
at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:51)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:139)
at Script6.run(Script6.groovy:545)
at org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.eval(GroovyScriptEngineImpl.java:317)
… 48 common frames omitted
Thanks, in advance.
Anirudh Goel
Dmytro Lugovyi
OP2 years ago · EditedHi @anirudh.goel.underarmour.com, it seems that the error happens right at the moment of the Scopes extraction. So question - how many Scops do you have configured in Collibra?
Roshan Medatwal
·4 years ago · EditedPlease note that we have observed, that as of Collibra DGC release 2021.04, if hyperlinks were enabled within DGC there have been issues running OMRE 1.2.0.
The issue is not in the OMRE 1.2.0 release but a bug which appeared in 2021.04. This bug doesn’t allow complex relation attribute creation if the text value in the attribute is recognised as hyperlink and ends up throwing a DataFetchingException.
This has been fixed as of version 2021.11 and OMRE is able to run without any issues.
Paulo Taylor
·4 years ago · Edited@guillaume.le.galiard & [email protected]. Please see here over the latest updates for the OMRE problem, which is in fact a DG problem.
arthurburkhardt
·4 years ago · EditedCan that explain why OMRE was running for over 12h on an instance of ~142k assets?
Roshan Medatwal
·4 years ago · EditedHi @arthur.burkhardt, Please note that OMRE scans through all the assets, attributes, domains, communities, assignments, etc. The performance really depends on the amount of such resources in the Collibra instance. Although please note, that only the first run takes time, subsequent runs are faster as it only captures delta from the previous state. Hence it’s recommended to carry out the first run over a weekend.
S Benson
·4 years ago · Edited@lugovyi.dmytro. ERROR c.c.d.c.s.i. AuthorizationServiceImpl ‘edge is not active or invalid’
S Benson
·4 years ago · Edited@lugovyi.dmytro - Sorry about the long delay - I didnt see your response. Today when I ran it, I recevied the error message “Activity Failed - Attribute Type has not been found”.
The log makes reference to "@FormParam will work as expected. Resource methods consuming the request body by other means will not work as expected.
Thanks
S Benson
·4 years ago · Edited@lugovyi.dmytro - Sorry about the long delay - I didnt see your response. Today when I ran it, I recevied the error message “Activity Failed - Attribute Type has not been found”.
The log makes reference to "@FormParam will work as expected. Resource methods consuming the request body by other means will not work as expected.
Thanks
Dmytro Lugovyi
OP4 years ago · Edited@scott.benson before the actual extraction of the OM objects OMRE checks all the necessary attribute types, asset types etc. In case if one of them missing OMRE will return the error you see. Check the log files for more details to see which attribute type is missed. Probably someone changed the name of the attribute type or removed it or OMRE has been installed incorrectly.
S Benson
·4 years ago · Edited@lugovyi.dmytro - The first time I ran OMRE, it was perfect. Now, whenI tried to re-run it, I receive a workflow error. I need to re- run it because I made some changes to the model.
Thanks.
Scott
S Benson
·4 years ago · Edited@lugovyi.dmytro , once the wheel in the upper right corner stops spinning, it just says “failed”. No explanation
S Benson
·4 years ago · Edited@lugovyi.dmytro - The first time I ran OMRE, it was perfect. Now, whenI tried to re-run it, I receive a workflow error. I need to re- run it because I made some changes to the model.
Thanks.
Scott
Dmytro Lugovyi
OP4 years ago · Edited@scott.benson What is the error message? What changes you’ve made?
Dmytro Lugovyi
OP4 years ago · Edited@scott.benson could you please check the log-file in the console? the error message should be there
S Benson
·4 years ago · Edited@lugovyi.dmytro- That solves half of the question, very nicely. Now to get the individual attributes for each asset type, I have to link to Assignment, and from there to “Assignment Characteristics” and then explode each characteristic to get the individual attributes?
I was hoping there was an easier way - but I like it so far
I have a second question - “How do I re-run OMRE?” I have made some changes to the the Operating Model, and need them to be reflected in the OMRE diagram
Scott
S Benson
·4 years ago · EditedThis tool is fantastic! Is it possible for OMRE to export all of the asset types and their related attributes? I have a need to create a data model in a different tool,and would like to avoid having to manually create all of the asset<>attribute relationships. I see how to export asset<>relationships.
Thanks,
Scott
S Benson
·4 years ago · EditedThis tool is fantastic! Is it possible for OMRE to export all of the asset types and their related attributes? I have a need to create a data model in a different tool,and would like to avoid having to manually create all of the asset<>attribute relationships. I see how to export asset<>relationships.
Thanks,
Scott
Dmytro Lugovyi
OP4 years ago · Edited@scott.benson I’m happy to hear that this tool helps you in your data governance activities. Regarding your question, after extraction of the OM objects, you can go to the Asset Types domain and extract them with all the characteristics. I’d also recommend you consider using Collibra for the representation of the data model. In some cases it can be very useful.
What you can do:
This is a screenshot of what you can get:
Dmytro Lugovyi
OP4 years ago · Edited@simon.knee every asset extracted by OMRE should have UUID. Without UUID OMRE will not be able uniquely identify object and update it. If you have objects with empty UUID then OMRE will fail during the extraction. There are few options why it could happen:
In order to find the real reason please find the asset with empty UUID and check the Activity tab so to check what had happen.
If there are custom assets with empty UUID - remove them and restart the OMRE
If someone deleted UUID from the assets - you can add them back or remove assets and restart the OMRE
If OMRE created asset without UUID - please redeploy OMRE 1.2 with workflows and restart it
Let me know if it help
simonknee
·4 years ago · EditedHi Dmytro,
Thanks very much for your quick response.
As I couldn’t track all the assets with broken UUIDs and the worflow kept failing, I decided to redeploy OMRE 1.2. This required initially deleting the operating model community first and starting afresh. The workflow the ran successfully. We are now back in business. Thank you very much for your support.
Kind regards
Simon
simonknee
·4 years ago · EditedHi, when running OMRE 1.2 the workflow fails. Collibra displays Activity Failed errors e.g. ‘Code’ doesn’t have UUID, 'Dataset Technology ’ doesn’t have UUID etc.
I checked with Collibra support and the logs provided this example error:
2021-08-12 10:45:29.218 [jobExecutor-5] INFO c.c.d.c.api.component.LoggerApiImpl - [OMRE] Attribute Type ‘Code [0517c20b-0213-4dca-b5fc-6343f14c51cd]’ has empty UUID attribute [ehcache-txid=7298614, trace_id=26fb5c01ecdc0381ce20414c9ce474f1, trace_flags=01, span_id=d52c486279f3dc8e]
2021-08-12 10:45:29.318 [jobExecutor-5] WARN o.f.e.i.b.b.ScriptTaskActivityBehavior - Exception while executing scripttask_omre : problem evaluating script: javax.script.ScriptException: com.collibra.dgc.core.exceptions.DGCException: Code doesn’t have UUID [ehcache-txid=7298614, trace_id=26fb5c01ecdc0381ce20414c9ce474f1, trace_flags=01, span_id=55419d2bb51c5f32]
I have deleted some of these specific OMRE attribute types but the workflow still fails…and sometimes does not provide failure details.
According to the logs (provided by Collibra support) this ,appears to be the query that is running:
omreDomainIds.minus(validationRulesDomainId).each { domainId ->
assetApi.findAssets(FindAssetsRequest.builder()
.domainId(domainId)
.typeIds(omreAssetTypeIds.minus([permissionAssetId, startEventAssetId]).minus(assetValidationRuleUUID))
.limit(10000)
.build()
).getResults().each {
foundAsset ->
uuidValue = attributeApi.findAttributes(FindAttributesRequest.builder()
.assetId(foundAsset.getId())
.typeIds([attributeTypeUUID])
.build()
).getResults()
if (!uuidValue) {
loggerApi.info(workflowIdent + " " + foundAsset.getType().getName() + " ‘" + foundAsset.getName() + " [" + foundAsset.getId() + "]’ has empty UUID attribute")
def assetUrl = applicationApi.getInfo().getBaseUrl() + “asset/” + uuid2String(foundAsset.getId())
def assetUrlHtml = ‘<a href="’ + assetUrl + ‘">’ + assetUrl + ‘</a>’
def dgcError = new DGCException("${foundAsset.getName()} doesn’t have UUID ")
dgcError.setTitleCode(“Asset ${assetUrlHtml} has empty UUID attribute”)
throw dgcError
}
I can see via the release notes this is a known bug during the OMRE extraction process. Is there a recommendation on how to fix this issue? Should i delete the Operating Model community and re-run the workflow from the start? Any advice would be much appreciated. Thanks in advance. Simon
faustinogaskin
·5 years ago · EditedHi @lugovyi.dmytro,
Is this compatible with version 2021.06.3 or do you not advise it?
I only ask because the documentation mentions support for 5.7.x; 2020.10; 2020.11, while the marketplace page mentions any version newer than 5.7.
This seems like a great addition to Collibra and I intend on introducing it to the Prod environment as soon as possible.
Many thanks,
Faustino
faustinogaskin
·5 years ago · EditedThanks, I’ll let you know how it goes.
faustinogaskin
·5 years ago · EditedHi @lugovyi.dmytro,
Is this compatible with version 2021.06.3 or do you not advise it?
I only ask because the documentation mentions support for 5.7.x; 2020.10; 2020.11, while the marketplace page mentions any version newer than 5.7.
This seems like a great addition to Collibra and I intend on introducing it to the Prod environment as soon as possible.
Many thanks,
Faustino
Dmytro Lugovyi
OP5 years ago · Editedhi @faustinogaskin.kubrickgroup.com, to be honest I’ve never tried it on the 2021.x but since there were no major changes in the Collibra Operating Model since 2020.x I’d assume that it should work.
francoisabraham
·5 years ago · EditedHello, today i tried to install the OMRE tool (Operating Model Reverse Engineering V1.2.0).
I am ‘on -premises’ with 5.7.7 DGC version.
I started to import file ‘OMRE_v1.1.0_Full.cma’ (in the DGC ‘Settings’ import menu) and the simulation report has failed.
In the DGC.log there is an error log (java stack trace) : workflowConfigurationVariableUnknown
Params: [usertask_proposeChangesEscalationType,usertask_checkProposedChangesEscalationDuration,usertask_requestRejectedEscalationDuration,usertask_checkProposedChangesEscalationType,usertask_proposeChangesEscalationDuration,usertask_requestRejectedEscalationType]
Can you please help ? This tool seems to be usefull and i would like to use it.
Regards, François
Complete stack trace is here :
2021-06-28 11:42:28.382 [pool-21-thread-1] ERROR c.c.d.m.a.i.c.impl.MigrationApiImpl - error during Migration []
com.collibra.common.api.exception.ApiIllegalArgumentException: com.collibra.common.exception.CollibraIllegalArgumentException: workflowConfigurationVariableUnknown
Params: [usertask_proposeChangesEscalationType,usertask_checkProposedChangesEscalationDuration,usertask_requestRejectedEscalationDuration,usertask_checkProposedChangesEscalationType,usertask_proposeChangesEscalationDuration,usertask_requestRejectedEscalationType]
at com.collibra.dgc.core.api.ApiExceptionTranslationHelper.translateToApiException(ApiExceptionTranslationHelper.java:57)
at com.collibra.dgc.core.api.aspect.ApiExceptionHandlingAspect.mapExceptions(ApiExceptionHandlingAspect.java:35)
at sun.reflect.GeneratedMethodAccessor838.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:644)
at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:633)
at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:62)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:93)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212)
at com.sun.proxy.$Proxy482.changeWorkflowDefinition(Unknown Source)
at com.collibra.dgc.migration.api.internal.component.extensions.workflow.impl.XWorkflowDefinitionApiImpl.change(XWorkflowDefinitionApiImpl.java:135)
at com.collibra.dgc.migration.api.internal.component.extensions.workflow.impl.XWorkflowDefinitionApiImpl.add(XWorkflowDefinitionApiImpl.java:52)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:88)
at com.collibra.dgc.core.transaction.DGCApiV2Aspect.processDGCTransactionalAnnotation(DGCApiV2Aspect.java:45)
at sun.reflect.GeneratedMethodAccessor839.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:644)
at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:633)
at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:93)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212)
at com.sun.proxy.$Proxy557.add(Unknown Source)
at com.collibra.dgc.migration.api.internal.component.impl.importers.workflow.WorkflowImporter.add(WorkflowImporter.java:170)
at com.collibra.dgc.migration.api.internal.component.impl.importers.workflow.WorkflowImporter.importWorkflowDefinition(WorkflowImporter.java:143)
at com.collibra.dgc.migration.api.internal.component.impl.importers.workflow.WorkflowImporter.performImport(WorkflowImporter.java:61)
at com.collibra.dgc.migration.api.internal.component.impl.MigrationApiImpl.performImport(MigrationApiImpl.java:460)
at com.collibra.dgc.migration.api.internal.component.impl.MigrationApiImpl.lambda$null$1(MigrationApiImpl.java:264)
at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140)
at com.collibra.dgc.core.exceptions.ExceptionResolvingWithCachingTransactionTemplate.execute(ExceptionResolvingWithCachingTransactionTemplate.java:28)
at com.collibra.dgc.migration.api.internal.component.impl.MigrationApiImpl.lambda$performImport$2(MigrationApiImpl.java:254)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: com.collibra.common.exception.CollibraIllegalArgumentException: workflowConfigurationVariableUnknown
Params: [usertask_proposeChangesEscalationType,usertask_checkProposedChangesEscalationDuration,usertask_requestRejectedEscalationDuration,usertask_checkProposedChangesEscalationType,usertask_proposeChangesEscalationDuration,usertask_requestRejectedEscalationType]
at com.collibra.dgc.core.workflow.impl.WorkflowServiceImpl.validateThatNoUnknownVariableIsProvided(WorkflowServiceImpl.java:1750)
at com.collibra.dgc.core.workflow.impl.WorkflowServiceImpl.updateConfigurationVariables(WorkflowServiceImpl.java:1710)
at com.collibra.dgc.core.workflow.impl.WorkflowServiceImpl.updateConfigurationVariables(WorkflowServiceImpl.java:1611)
at com.collibra.dgc.core.workflow.impl.WorkflowServiceImpl.changeWorkflowDefinition(WorkflowServiceImpl.java:1575)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:366)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:99)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212)
at com.sun.proxy.$Proxy304.changeWorkflowDefinition(Unknown Source)
at com.collibra.dgc.core.api.component.workflow.WorkflowDefinitionApiImpl.changeWorkflowDefinition(WorkflowDefinitionApiImpl.java:105)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:88)
at com.collibra.dgc.core.aspect.ComponentCallLogAspect.logComponentCallInfo(ComponentCallLogAspect.java:78)
at sun.reflect.GeneratedMethodAccessor800.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:644)
at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:633)
at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
at org.springframework.aop.framework.adapter.MethodBeforeAdviceInterceptor.invoke(MethodBeforeAdviceInterceptor.java:56)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:88)
at com.collibra.dgc.core.transaction.DGCApiV2Aspect.processDGCTransactionalAnnotation(DGCApiV2Aspect.java:45)
at sun.reflect.GeneratedMethodAccessor839.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:644)
at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:633)
at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:88)
at com.collibra.dgc.core.api.aspect.ApiExceptionHandlingAspect.mapExceptions(ApiExceptionHandlingAspect.java:33)
… 47 common frames omitted
com.collibra.common.api.exception.ApiIllegalArgumentException: com.collibra.common.exception.CollibraIllegalArgumentException: workflowConfigurationVariableUnknown
Params: [usertask_proposeChangesEscalationType,usertask_checkProposedChangesEscalationDuration,usertask_requestRejectedEscalationDuration,usertask_checkProposedChangesEscalationType,usertask_proposeChangesEscalationDuration,usertask_requestRejectedEscalationType]
at com.collibra.dgc.core.api.ApiExceptionTranslationHelper.translateToApiException(ApiExceptionTranslationHelper.java:57)
at com.collibra.dgc.core.api.aspect.ApiExceptionHandlingAspect.mapExceptions(ApiExceptionHandlingAspect.java:35)
at sun.reflect.GeneratedMethodAccessor838.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:644)
at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:633)
at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:62)
Caused by: com.collibra.common.exception.CollibraIllegalArgumentException: workflowConfigurationVariableUnknown
Params: [usertask_proposeChangesEscalationType,usertask_checkProposedChangesEscalationDuration,usertask_requestRejectedEscalationDuration,usertask_checkProposedChangesEscalationType,usertask_proposeChangesEscalationDuration,usertask_requestRejectedEscalationType]
at com.collibra.dgc.core.workflow.impl.WorkflowServiceImpl.validateThatNoUnknownVariableIsProvided(WorkflowServiceImpl.java:1750)
at com.collibra.dgc.core.workflow.impl.WorkflowServiceImpl.updateConfigurationVariables(WorkflowServiceImpl.java:1710)
at com.collibra.dgc.core.workflow.impl.WorkflowServiceImpl.updateConfigurationVariables(WorkflowServiceImpl.java:1611)
at com.collibra.dgc.core.workflow.impl.WorkflowServiceImpl.changeWorkflowDefinition(WorkflowServiceImpl.java:1575)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198)
Dmytro Lugovyi
OP5 years ago · EditedHi @francois.abraham.ext.orange.com, it seems that there is a conflict with workflow parameters. It’s quite difficult to say what could go wrong. Just a few ideas where to start:
Hope it will help.
francoisabraham
·5 years ago · EditedHi, thanks for your answer.
Ther is no OMRE workflow deployed and i have the same issue with the OMRE_v1.1.0_NoTableViews.cma file instead of OMRE_v1.1.0_Full.cma.
Can you please identify what is the workflow that needs these params : usertask_proposeChangesEscalationType,usertask_checkProposedChangesEscalationDuration,usertask_requestRejectedEscalationDuration,usertask_checkProposedChangesEscalationType,usertask_proposeChangesEscalationDuration,usertask_requestRejectedEscalationType
It talks about “Escalation” (issue ?)
Any idea ?
Regards
Dmytro Lugovyi
OP5 years ago · EditedHi @francois.abraham.ext.orange.com, there is a workflow “OMRE - Description Update” with the parameters you mentioned.
I have attached the original workflow file here. Try to deploy it before the .cma import. OMRE-DescriptionUpdate.pdf (17.6 KB)
Since I couldn’t upload .bpmn file here I had to rename it to .pdf. So rename it back to .bpmn bore the deployment.
francoisabraham
·5 years ago · EditedHi, i have uploaded the OMRE-DescriptionUpdate.bpmn file and the new workflow is displayed . But i still have the same error when i try to import OMRE_v1.1.0_Full.cma file
Caused by: com.collibra.common.exception.CollibraIllegalArgumentException: workflowConfigurationVariableUnknown
Params: [usertask_proposeChangesEscalationType,usertask_checkProposedChangesEscalationDuration,usertask_requestRejectedEscalationDuration,usertask_checkProposedChangesEscalationType,usertask_proposeChangesEscalationDuration,usertask_requestRejectedEscalationType]
at com.collibra.dgc.core.workflow.impl.WorkflowServiceImpl.validateThatNoUnknownVariableIsProvided(WorkflowServiceImpl.java:1920)
at com.collibra.dgc.core.workflow.impl.WorkflowServiceImpl.updateConfigurationVariables(WorkflowServiceImpl.java:1904)
Dmytro Lugovyi
OP5 years ago · EditedHi @francois.abraham.ext.orange.com, it doesn’t seem like an issue with OMRE itself. There is a problem during the .cma file import which was tested many times and so far it worked well.
I’d recommend to talk with Collibra Support about possible reasons of errors in the log-file.
martijnseverijns
·5 years ago · EditedHi Dmytro, all
Could you explain the tags ‘Used_By_OMRE’ and ‘Part_Of_OMRE’ since it is not part of the documentation? (as far as I can see).
Br,
Martijn
martijnseverijns
·5 years ago · EditedReally clear thanks Dmytro!
martijnseverijns
·5 years ago · EditedHi Dmytro, all
Could you explain the tags ‘Used_By_OMRE’ and ‘Part_Of_OMRE’ since it is not part of the documentation? (as far as I can see).
Br,
Martijn
Dmytro Lugovyi
OP5 years ago · Edited@martijn.datashift.eu OMRE solution has quite a few operating model objects which will be created during the installation process. At the same time, OMRE uses OOTB operating model objects where it’s possible. The tags have been added to provide the ability to control your OM excluding those which have been created by OMRE. ‘Used_By_OMRE’ is the OOTB objects which have been used by OMRE, ‘Part_Of_OMRE’ is the custom objects which have been added by OMRE.
gingermillheim
·5 years ago · EditedHi Dmytro,
I worked with Chris Brewer on the WF and he recommended you for the further questions. My WF is up and running but wanted to explore 2 things.
Thank you,
Ginger
gingermillheim
·5 years ago · EditedHi Dmytro,
I worked with Chris Brewer on the WF and he recommended you for the further questions. My WF is up and running but wanted to explore 2 things.
Thank you,
Ginger
Dmytro Lugovyi
OP5 years ago · EditedHi @gmillheim.deloitte.com, as the follow-up to our conversation and also to share some findings with other Data Citizens.
marieaudemagarshack
·5 years ago · EditedHello @lugovyi.dmytro, thank you for the recommendation. Well noted.
marieaudemagarshack
·5 years ago · Edited@lugovyi.dmytro, Hello Dmytro, I have another question regarding the OMRE workflow. I have executed it 2ce already, 2nd time with all the options that take more time: users, user groups, count of assets. I did not notice any degradation in the application performance and response time. Still, should we be careful here? Do you recommend to run the workflow out of usual business hours, in order not to impact the users?
Best regards
marieaudemagarshack
·5 years ago · Edited@lugovyi.dmytro, Hello Dmytro, I have another question regarding the OMRE workflow. I have executed it 2ce already, 2nd time with all the options that take more time: users, user groups, count of assets. I did not notice any degradation in the application performance and response time. Still, should we be careful here? Do you recommend to run the workflow out of usual business hours, in order not to impact the users?
Best regards
Dmytro Lugovyi
OP5 years ago · EditedHi @marie-aude.magarshack , creation or updating the assets with all characteristics takes a lot of time. So the first run when the workflow has to create thousands of objects and relations always takes a few hours. Every next time you will run OMRE the workflow will be creating only new objects and update those objects which have been updated since the last run. So if you extracted and counted all the OM objects including users once, you can try to run OMRE one more time and compare the time of the execution. It shouldn’t take more than an hour this time. You can run OMRE at any time, but if we talk about the production server I’d recommend doing this at non-business time, as a standard best-practice.
marieaudemagarshack
·5 years ago · EditedHello Alvin, got your point, thank your for the guidelines! I am going to follow your tip and run the workflow again.
marieaudemagarshack
·5 years ago · EditedHello Dmytro, I still do not understand your reply “Issue Domains which will be created automatically if you create a new data issue and assign it to one of the communities”. We have not created any data issue. Never mind.
Thank you for the heads-up about this new course, I will listen to it.
Best regards
marieaudemagarshack
·5 years ago · EditedHello Dmytro, I still do not understand your reply “Issue Domains which will be created automatically if you create a new data issue and assign it to one of the communities”. We have not created any data issue. Never mind.
Thank you for the heads-up about this new course, I will listen to it.
Best regards
Former User
·5 years ago · EditedIt looks like the OMRE is just reporting on what exists in your instance. Those domains definitely exist, if you open one of the domains in the OMRE, at the bottom of the page you’ll see a link which will take you to the hidden domain.
Out of curiosity, if you’re exposing the outputs of the OMRE to your end-users, because all the OMRE does is create Assets that reflect your operating model, what’s stopping you from deleting the Issue Domain Assets?
Deleting those Issue Domain Assets should only take a few minutes.
marieaudemagarshack
·5 years ago · EditedHello Alvin, thank you for jumping in. There are no Assets in this Issue Domain, ie there is nothing to delete.
Best regard
Former User
·5 years ago · EditedSorry, I meant deleting the OMRE assets for the Issues Domains not the Issues domain itself or any asset in it.
The OMRE creates assets based on your operating model. As with any other asset in Collibra, you can update/ delete them.
To give you a bit of context, when we run the OMRE, we also get over 1000 hidden domains showing. We move all the issues domain assets to somewhere not viewable.
Dmytro Lugovyi
OP5 years ago · EditedHi @marie-aude.magarshack, the screenshot you shared shows the out-of-the-box asset types. They can’t be removed. I was referencing Issue Domains which will be created automatically if you create a new data issue and assign it to one of the communities.
There are a lot of benefits from using OMRE, such as - it should help advanced users understand the Collibra Operating Model better or it will help you to control changes in the Operating Model and build governance processes on top. But for users who just started to use Collibra, I would recommend using another approach.
There is a quite new course at the Collibra University that may help you with some ideas on how to increase the adoption of the platform. How to find it - go to the Collibra University and search for the course "Supporting User Adoption of the Collibra Platform”. There are a few sections in this course and at the end of each session, you will find the links to the documents and templates you can download.
marieaudemagarshack
·5 years ago · EditedHello @dmytro.lugovyi@collibra.com, thank you for replying. No data issues have been recorded in any community, we are not using this feature yet.
. It cannot be the right explanation.
It is not critical, but it is disturbing for our Collibra users. They are mostly unhappy with their initial user experience and adoption is still low. I hoped to have good news to share with them with the OMRE information. But this system domain is going to raise a lot of unnecessary questions.
marieaudemagarshack
·5 years ago · EditedHello, Collibra Support’s reply is that this normal, because “Issues” is a system domain. I have contacted the publisher to know if it can be avoided.
marieaudemagarshack
·5 years ago · EditedHello, Collibra Support’s reply is that this normal, because “Issues” is a system domain. I have contacted the publisher to know if it can be avoided.
Dmytro Lugovyi
OP5 years ago · EditedHi @marie-aude.magarshack, Collibra Support provided the right answer. The thing is that “Issues” domain exists in every Community where users created Data Issues at least once.
Why we can’t ignore it, because other OM objects such as workflows can be related to them.
For the same reason we extract system asset types, to demonstrate all the aspects of the Operating Model.
Could you please explain, why it’s critical for you?
Ingrid Dapper
·5 years ago · EditedWe also think OMRE is very useful for us. This week we find the following error:
WARN o.f.e.i.b.b.ScriptTaskActivityBehavior - Exception while executing scripttask_omre : problem evaluating script: javax.script.ScriptException: java.util.NoSuchElementException: Cannot access first() element from an empty List
[jobExecutor-2] ERROR c.c.d.c.w.a.WorkflowExceptionHandler - Error starting workflow with id: scriptOperatingModelReverseEngineering
It took some time to find out which list was empty.
Cause was renaming a domain and creating a new domain with the old name.
Are these situations fixed in the new version?
Kind regards, Ingrid
Ingrid Dapper
·5 years ago · EditedWe also think OMRE is very useful for us. This week we find the following error:
WARN o.f.e.i.b.b.ScriptTaskActivityBehavior - Exception while executing scripttask_omre : problem evaluating script: javax.script.ScriptException: java.util.NoSuchElementException: Cannot access first() element from an empty List
[jobExecutor-2] ERROR c.c.d.c.w.a.WorkflowExceptionHandler - Error starting workflow with id: scriptOperatingModelReverseEngineering
It took some time to find out which list was empty.
Cause was renaming a domain and creating a new domain with the old name.
Are these situations fixed in the new version?
Kind regards, Ingrid
Dmytro Lugovyi
OP5 years ago · EditedHi @ingrid.dapper Ingrid,
could you please describe the steps how to reproduce this error? As I understood:
is it correct?
Ingrid Dapper
·5 years ago · EditedHi Dmytro,
yes that’s correct!
michaelmoulin
·5 years ago · EditedWe are considering within our team to use the OMRE asset model and a dedicated community to document the view of the OM that apply to our company specifically. We would use it to do meta-govern as well as to do some form of change control. E.g. changes to the OM are drafted in our community, approved and applied to the actual platform settings via Workflow+API. By comparing the OMRE output with our community, we could confirm successful deployment/implementation of the change. Maybe this is too far fetch for the original intent of OMRE.
michaelmoulin
·5 years ago · EditedWe are considering within our team to use the OMRE asset model and a dedicated community to document the view of the OM that apply to our company specifically. We would use it to do meta-govern as well as to do some form of change control. E.g. changes to the OM are drafted in our community, approved and applied to the actual platform settings via Workflow+API. By comparing the OMRE output with our community, we could confirm successful deployment/implementation of the change. Maybe this is too far fetch for the original intent of OMRE.
Dmytro Lugovyi
OP5 years ago · EditedThis is great example of how OMRE can be used. Actually, it was one of the use cases for the OMRE creation.
You can also assign additional relation type to the OMRE assets to design Operating Model of you current/future use cases and then view them in traceability diagram.
I heard about this approach already (@klemens.mathauer).
marieaudemagarshack
·5 years ago · EditedHello Dmytro, I just executed the OMRE workflow for the 1st time in our production instance, after installing the latest version found on the Marketplace. The results are mostly OK, except the appearance of a System Resource domain called “Issues” (domain type Issues Vocabulary Type) belonging to each single community. This domain is “hidden”, ie not visible in the Browser. I created a support ticket. Has any one in Data Citizens already encountered this?
Vladimir Schwarz
·5 years ago · EditedDear @lugovyi.dmytro ,
Thanks for opening this topic. We use OMRE in our company heavily. We have also expanded by adding several new columns. In the area of user management for example we use it to track inactive users (who left the company for example) so that we relocate assets they owner to a new owner. Our data governance council counts on it.
We noticed that OMRE is getting slower with each additional feature added. I agree with previous ideas to make it a core functionality of Collibra, have it fully supported and be able to run it faster than now.
Unfortunately it also has some known bugs like the maximum of 100.000 counted assets per type which would be hopefully fixed by integrating it into the product.
Thanks for taking this into considerations for the OMRE roadmap
Regs,
Vlado