Exception when setting flowable.historyLevel=NONE

Hi,

I am trying to configure the process engine to have a history level of NONE.

In the application.properties file I have set flowable.historyLevel=NONE.

But now I experience the exception below when some of the activities are completed. Any ideas why this should be different when “flowable.historyLevel=NONE” ? And is there a better way to configure flowable to not produce history logs ?

I am running flowable 6.5.0

java.lang.NullPointerException
	at org.flowable.engine.impl.history.DefaultHistoryManager.recordActivityEnd(DefaultHistoryManager.java:186)
	at org.flowable.engine.impl.persistence.entity.ActivityInstanceEntityManagerImpl.recordActivityEnd(ActivityInstanceEntityManagerImpl.java:101)
	at org.flowable.engine.impl.agenda.TakeOutgoingSequenceFlowsOperation.handleActivityEnd(TakeOutgoingSequenceFlowsOperation.java:120)
	at org.flowable.engine.impl.agenda.TakeOutgoingSequenceFlowsOperation.handleFlowNode(TakeOutgoingSequenceFlowsOperation.java:95)
	at org.flowable.engine.impl.agenda.TakeOutgoingSequenceFlowsOperation.run(TakeOutgoingSequenceFlowsOperation.java:88)
	at org.flowable.engine.impl.interceptor.CommandInvoker.executeOperation(CommandInvoker.java:88)
	at org.flowable.engine.impl.interceptor.CommandInvoker.executeOperations(CommandInvoker.java:72)
	at org.flowable.engine.impl.interceptor.CommandInvoker.execute(CommandInvoker.java:56)
	at org.flowable.engine.impl.interceptor.BpmnOverrideContextInterceptor.execute(BpmnOverrideContextInterceptor.java:25)
	at org.flowable.common.engine.impl.interceptor.TransactionContextInterceptor.execute(TransactionContextInterceptor.java:53)
	at org.flowable.common.engine.impl.interceptor.CommandContextInterceptor.execute(CommandContextInterceptor.java:72)
	at org.flowable.common.spring.SpringTransactionInterceptor.lambda$execute$0(SpringTransactionInterceptor.java:56)
	at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140)
	at org.flowable.common.spring.SpringTransactionInterceptor.execute(SpringTransactionInterceptor.java:56)
	at org.flowable.common.engine.impl.interceptor.LogInterceptor.execute(LogInterceptor.java:30)
	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 org.flowable.job.service.impl.asyncexecutor.ExecuteAsyncRunnable.executeJob(ExecuteAsyncRunnable.java:128)
	at org.flowable.job.service.impl.asyncexecutor.ExecuteAsyncRunnable.run(ExecuteAsyncRunnable.java:116)
	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)

And why does flowable even try to record an activity in the history if I have set historyLevel=NONE ?

Looking at the code and the enum definition, try none instead of NONE. See org.flowable.common.engine.impl.history.HistoryLevel.

The code is trying to determine what level of history to record usiing the isAtLeast method in the above specified file.

Thank you for the hint. I will try to set the value to “none”

Actually looking at the documentation I think the real property should be:

 flowable.history-level=NONE