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

When audit log is disabled jbpm cannot processing signal

XMLWordPrintable

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

      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
      

              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

                Created:
                Updated:
                Resolved: