Uploaded image for project: 'jBPM'
  1. jBPM
  2. JBPM-9859

When audit log is disabled jbpm cannot processing signal

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Major
    • 7.60.0.Final
    • 7.58.0.Final
    • Runtime Engine
    • None

    Description

      When adit logs are disabled (when audit-mode different by AuditMode.JPA)

      <deployment-descriptor xsi:schemaLocation="" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
          ...
          <audit-mode>NONE</audit-mode>
          ...
      </deployment-descriptor>

      JBpm can't handle signals correctly 

      java.lang.IllegalArgumentException: ProcessInstance with id 80352 not foundjava.lang.IllegalArgumentException: ProcessInstance with id 80352 not found at org.kie.server.services.jbpm.locator.ByProcessInstanceIdContainerLocator.locateContainer(ByProcessInstanceIdContainerLocator.java:68) at org.kie.server.services.impl.KieServerRegistryImpl.getContainer(KieServerRegistryImpl.java:94) at org.kie.server.services.impl.KieServerRegistryImpl.getContainerId(KieServerRegistryImpl.java:112) at org.kie.server.services.jbpm.ProcessServiceBase.signalProcessInstance(ProcessServiceBase.java:211) at org.kie.server.remote.rest.jbpm.ProcessResource.signalProcessInstance(ProcessResource.java:465) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:567) at org.apache.cxf.service.invoker.AbstractInvoker.performInvocation(AbstractInvoker.java:179)
      

      This is because in class ByProcessInstanceIdContainerLocator is using ProcessInstanceLog.

      Any data which is kept in dedicated tables for audit logs (ProcessInstanceLog, NodeInstanceLog, VariableInstanceLog) shouldn't be used to normal work Jbpm engine.

      If it is possible to disable the audit log, it should not affect the engine functioning.

      Proposed solution:
      Use a different query in ByProcessInstanceIdContainerLocator:

      select cmap.ownerId from ContextMappingInfo cmap where cmap.contextId = :piId
      

      Attachments

        Issue Links

          Activity

            People

              elguardian@gmail.com Enrique González Martínez (Inactive)
              klimas7 Boguslaw Klimas (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: