Upgrade BE 5.6.1 to 6.1.x - when state machine and state timeouts are used in the project BE engine throws error java.util.IllegalFormatConversionException when debug logging is enabled

Upgrade BE 5.6.1 to 6.1.x - when state machine and state timeouts are used in the project BE engine throws error java.util.IllegalFormatConversionException when debug logging is enabled

book

Article ID: KB0072944

calendar_today

Updated On:

Products Versions
TIBCO BusinessEvents Enterprise Edition 5.6.1 , 6.1.0, 6.1.1

Description

Scenario:

- TIBCO BusinessEvents project using state machines and state timeouts is upgraded from BE 5.6.1 to BE 6.1.0

- Debug logging is enabled in CDD like "*:debug"

- Rebuild EAR and start BE engine using 6.1.1. 

- The following error is reported in the log:

java.util.IllegalFormatConversionException: d != com.tibco.cep.kernel.model.entity.LegacyId

at java.base/java.util.Formatter$FormatSpecifier.failConversion(Formatter.java:4426)

at java.base/java.util.Formatter$FormatSpecifier.printInteger(Formatter.java:2938)

at java.base/java.util.Formatter$FormatSpecifier.print(Formatter.java:2892)

at java.base/java.util.Formatter.format(Formatter.java:2673)

at java.base/java.util.Formatter.format(Formatter.java:2609)

at java.base/java.lang.String.format(String.java:2897)

at com.tibco.cep.runtime.service.logging.impl.LoggerImpl.log(LoggerImpl.java:90)

at com.tibco.cep.runtime.service.time.BETimeManager.scheduleStateExpiryLocal(BETimeManager.java:162)

at com.tibco.cep.runtime.service.time.BETimeManager.scheduleStateExpiry(BETimeManager.java:145)

at com.tibco.cep.runtime.model.element.impl.property.simple.PropertyStateMachineState.startExpiryTimer(PropertyStateMachineState.java:252)

at com.tibco.cep.runtime.model.element.impl.property.simple.PropertyStateMachineState._enter(PropertyStateMachineState.java:92)

at com.tibco.cep.runtime.model.element.impl.property.simple.PropertyStateMachineState.enter(PropertyStateMachineState.java:63)
The same error is seen even when setting "be.engine.id.useLegacy" to true or false

Environment

All Supported Platforms TIBCO BusinessEvents 5.6.1, 6.1.0 and 6.1.1

Resolution

The error is caused by a type mismatch in debug log statement. This log is internally generated in StateMachine timeout code and only affects when running at debug log level.

To avoid the issue you run at INFO log level in CDD or include runtime.service:info under log levels in cdd.

Example: change *:debug to *:debug runtime.service:info

Note:
We have CR BE-30469 reported for this issue and CR will be fixed in future release.

Issue/Introduction

BE 5.6.1 to 6.1.x - when state machine and state timeouts are used in the project BE engine throws error java.util.IllegalFormatConversionException when debug logging is enabled

Additional Information

Please refer to CR BE-30469 which is being addressed in future release