Issue: `ENGINE-22004 Unable to transform DMN resource 'Rules_F.dmn'. [ deploy-error ]`

I have this error when I try to deploy the DMN:

ENGINE-22004 Unable to transform DMN resource 'Rules_F.dmn'. [ deploy-error ]

│     at java.base/java.lang.Thread.run(Thread.java:833)                                                                                                                                                        │
│ Caused by: org.camunda.bpm.dmn.engine.impl.transform.DmnTransformException: DMN-02003 Unable to transform decisions from input stream.                                                                        │
│     at org.camunda.bpm.dmn.engine.impl.transform.DmnTransformLogger.unableToTransformDecisionsFromInputStream(DmnTransformLogger.java:51)                                                                     │
│     at org.camunda.bpm.dmn.engine.impl.transform.DefaultDmnTransform.setModelInstance(DefaultDmnTransform.java:114)                                                                                           │
│     at org.camunda.bpm.dmn.engine.impl.transform.DefaultDmnTransform.modelInstance(DefaultDmnTransform.java:119)                                                                                              │
│     at org.camunda.bpm.engine.impl.dmn.deployer.DecisionRequirementsDefinitionDeployer.transformDefinitions(DecisionRequirementsDefinitionDeployer.java:69)                                                   │
│     ... 77 more                                                                                                                                                                                               │
│ Caused by: org.camunda.bpm.model.dmn.DmnModelException: Unable to parse model                                                                                                                                 │
│     at org.camunda.bpm.model.dmn.impl.DmnParser.parseModelFromStream(DmnParser.java:87)                                                                                                                       │
│     at org.camunda.bpm.model.dmn.Dmn.doReadModelFromInputStream(Dmn.java:251)                                                                                                                                 │
│     at org.camunda.bpm.model.dmn.Dmn.readModelFromStream(Dmn.java:161)                                                                                                                                        │
│     at org.camunda.bpm.dmn.engine.impl.transform.DefaultDmnTransform.setModelInstance(DefaultDmnTransform.java:111)                                                                                           │
│     ... 79 more                                                                                                                                                                                               │
│ Caused by: org.camunda.bpm.model.xml.ModelParseException: SAXException while parsing input stream                                                                                                             │
│     at org.camunda.bpm.model.xml.impl.util.DomUtil.parseInputStream(DomUtil.java:245)                                                                                                                         │
│     at org.camunda.bpm.model.xml.impl.parser.AbstractModelParser.parseModelFromStream(AbstractModelParser.java:131)                                                                                           │
│     at org.camunda.bpm.model.dmn.impl.DmnParser.parseModelFromStream(DmnParser.java:84)                                                                                                                       │
│     ... 82 more                                                                                                                                                                                               │
│ Caused by: org.xml.sax.SAXException: Fatal Error: URI=null Line=30: The prefix "camunda" for attribute "camunda:inputVariable" associated with an element type "input" is not bound.                          │
│     at org.camunda.bpm.model.xml.impl.util.DomUtil$DomErrorHandler.fatalError(DomUtil.java:207)                                                                                                               │
│     at java.xml/com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.java:181)                                                                                          │
│     at java.xml/com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:400)                                                                                               │
│     at java.xml/com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:327)                                                                                               │
│     at java.xml/com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:284)                                                                                               │
│     at java.xml/com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:308)                                                                          │
│     at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2726)                                                   │
│     at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:605)                                                                                          │
│     at java.xml/com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:112)                                                                                      │
│     at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:542)                                                                  │
│     at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:889)                                                                                              │
│     at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:825)                                                                                              │
│     at java.xml/com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)                                                                                                                │
│     at java.xml/com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:247)                                                                                                                │
│     at java.xml/com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:342)                                                                                               │
│     at java.xml/javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:122)                                                                                                                             │
│     at org.camunda.bpm.model.xml.impl.util.DomUtil.parseInputStream(DomUtil.java:240)                                                                                                                         │
│     ... 84 more

Here’s the DMN file attached:

Rules_F.dmn (8.9 KB)

Camunda Modeler system information

  • Version: 5.5.1
  • Operating System: Windows 10 amd64
  • Plugins:
  • Execution Platform: DMN - Camunda Platform 7

Which version of Camunda 7 are you deploying this file to and how exactly are you doing the deployment?

Camunda 7.18
I’m deploying using Camunda Modeler directly through a Port-Forward to a Kubernetes cluster

Are you able to do a test deploy locally?

If you mean, if I tested locally, yes and I can deploy the DMN without an issue:

So the error is only happening when you try to deploy it to your production cluster?

yes, the remote cluster (for now it’s the TEST env), next step will be production indeed

So, something is going wrong with your deployment.

Did i work in the past?
What has changed since it last worked?
Can you give specific details of exactly how you’re doing the deployment (API etc.)

So, I took an old file from 8 months ago, and tried to deployed it, and I get:

 Caused by: org.camunda.bpm.dmn.engine.impl.transform.DmnTransformException: DMN-02016 Error while transforming decision requirements graph: History Time To Live cannot be null                               │
│     at org.camunda.bpm.dmn.engine.impl.transform.DmnTransformLogger.errorWhileTransformingDefinitions(DmnTransformLogger.java:152)                                                                            │
│     at org.camunda.bpm.dmn.engine.impl.transform.DefaultDmnTransform.transformDecisionRequirementsGraph(DefaultDmnTransform.java:142)                                                                         │
│     at org.camunda.bpm.engine.impl.dmn.deployer.DecisionRequirementsDefinitionDeployer.transformDefinitions(DecisionRequirementsDefinitionDeployer.java:70)                                                   │
│     ... 77 more                                                                                                                                                                                               │
│ Caused by: org.camunda.bpm.engine.exception.NotValidException: History Time To Live cannot be null                                                                                                            │
│     at org.camunda.bpm.engine.impl.HistoryTimeToLiveParser.parseAndValidate(HistoryTimeToLiveParser.java:115)                                                                                                 │
│     at org.camunda.bpm.engine.impl.HistoryTimeToLiveParser.parse(HistoryTimeToLiveParser.java:96)                                                                                                             │
│     at org.camunda.bpm.engine.impl.dmn.transformer.DecisionDefinitionHandler.validateAndSetHTTL(DecisionDefinitionHandler.java:49)                                                                            │
│     at org.camunda.bpm.engine.impl.dmn.transformer.DecisionDefinitionHandler.createFromDecision(DecisionDefinitionHandler.java:43)                                                                            │
│     at org.camunda.bpm.dmn.engine.impl.transform.DmnDecisionTransformHandler.handleElement(DmnDecisionTransformHandler.java:27)                                                                               │
│     at org.camunda.bpm.dmn.engine.impl.transform.DmnDecisionTransformHandler.handleElement(DmnDecisionTransformHandler.java:24)                                                                               │
│     at org.camunda.bpm.dmn.engine.impl.transform.DefaultDmnTransform.transformDecision(DefaultDmnTransform.java:257)                                                                                          │
│     at org.camunda.bpm.dmn.engine.impl.transform.DefaultDmnTransform.transformIndividualDecisions(DefaultDmnTransform.java:195)                                                                               │
│     at org.camunda.bpm.dmn.engine.impl.transform.DefaultDmnTransform.transformDecisions(DefaultDmnTransform.java:178)                                                                                         │
│     at org.camunda.bpm.dmn.engine.impl.transform.DefaultDmnTransform.transformDefinitions(DefaultDmnTransform.java:156)                                                                                       │
│     at org.camunda.bpm.dmn.engine.impl.transform.DefaultDmnTransform.transformDecisionRequirementsGraph(DefaultDmnTransform.java:139)                                                                         │
│     ... 78 more                                                                                                                         

Well, actually, we don’t change Camunda files that often, maybe like once or twice a year… so now, I’m a bit shocked to see I can’t deploy

I have created a brand new DMN file and tried to deploy it using Camunda Modeler, I get this error:

 Caused by: org.camunda.bpm.dmn.engine.impl.transform.DmnTransformException: DMN-02016 Error while transforming decision requirements graph: History Time To Live cannot be null                               ││     at org.camunda.bpm.dmn.engine.impl.transform.DmnTransformLogger.errorWhileTransformingDefinitions(DmnTransformLogger.java:152)                                                                            ││     at org.camunda.bpm.dmn.engine.impl.transform.DefaultDmnTransform.transformDecisionRequirementsGraph(DefaultDmnTransform.java:142)                                                                         ││     at org.camunda.bpm.engine.impl.dmn.deployer.DecisionRequirementsDefinitionDeployer.transformDefinitions(DecisionRequirementsDefinitionDeployer.java:70)                                                   ││     ... 77 more                                                                                                                                                                                               ││ Caused by: org.camunda.bpm.engine.exception.NotValidException: History Time To Live cannot be null                                                                                                            ││     at org.camunda.bpm.engine.impl.HistoryTimeToLiveParser.parseAndValidate(HistoryTimeToLiveParser.java:115)                                                                                                 ││     at org.camunda.bpm.engine.impl.HistoryTimeToLiveParser.parse(HistoryTimeToLiveParser.java:96)                                                                                                             ││     at org.camunda.bpm.engine.impl.dmn.transformer.DecisionDefinitionHandler.validateAndSetHTTL(DecisionDefinitionHandler.java:49)                                                                            ││     at org.camunda.bpm.engine.impl.dmn.transformer.DecisionDefinitionHandler.createFromDecision(DecisionDefinitionHandler.java:43)                                                                            ││     at org.camunda.bpm.dmn.engine.impl.transform.DmnDecisionTransformHandler.handleElement(DmnDecisionTransformHandler.java:27)                                                                               ││     at org.camunda.bpm.dmn.engine.impl.transform.DmnDecisionTransformHandler.handleElement(DmnDecisionTransformHandler.java:24)                                                                               ││     at org.camunda.bpm.dmn.engine.impl.transform.DefaultDmnTransform.transformDecision(DefaultDmnTransform.java:257)                                                                                          ││     at org.camunda.bpm.dmn.engine.impl.transform.DefaultDmnTransform.transformIndividualDecisions(DefaultDmnTransform.java:195)                                                                               ││     at org.camunda.bpm.dmn.engine.impl.transform.DefaultDmnTransform.transformDecisions(DefaultDmnTransform.java:178)                                                                                         ││     at org.camunda.bpm.dmn.engine.impl.transform.DefaultDmnTransform.transformDefinitions(DefaultDmnTransform.java:156)                                                                                       ││     at org.camunda.bpm.dmn.engine.impl.transform.DefaultDmnTransform.transformDecisionRequirementsGraph(DefaultDmnTransform.java:139)    

I found this in the Camunda source code but I don’t understand why it talks about TTL in the DMN, i have a simple DMN that gets one string as an input and outputs one string…
The other error that shows in the Camunda Modeler is here

dummy.dmn (1.3 KB)

The issue is that this field is not set, so when I set it, it works -_-"

I think this is a bug; either Camunda Modeler should prevent the user from deploying if it’s not filled or init its value to 0 for example…

image

Thank you,

1 Like

Hello @y-io,

The current behavior is intended as described here.

We are already discussing possible solutions to improve the use experience here.

Regards Tobias

2 Likes

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.