Build Failed : Enum value Clashes

140 views
Skip to first unread message

Lakshmi R

unread,
Feb 3, 2022, 8:54:24 AM2/3/22
to Kogito development mailing list
Hi, 
As part of the project requirement, we used the TMF622 API standard which has the Enumeration value. when I added/externalized the custom library and use the DTO in the workflow as a Request parameter. I'm getting the below error when it is failed to create the proto file for the Request.

Please find the below exception trace on the additional of the BellDetailedProductOrder Request Object which has  OrderItemActionType in ProductOrderItem Class and AppointmentStateType in the Appointment Class

java.lang.RuntimeException: io.quarkus.builder.BuildException: Build failure: Build failed due to

errors

        [error]: Build step org.kie.kogito.quarkus.processes.deployment.ProcessesAssetsProcessor#postGenerationProcessing threw an exception: org.infinispan.protostream.DescriptorParserException: Enum value org.kie.kogito.app.OrderItemActionType.CONSTANTS clashes with enum value org.kie.kogito.app.AppointmentStateType.CONSTANTS

        at org.infinispan.protostream.descriptors.ResolutionContext.checkUniqueName(ResolutionContext.java:136)

        at org.infinispan.protostream.descriptors.ResolutionContext.addGenericDescriptor(ResolutionContext.java:94)

        at org.infinispan.protostream.descriptors.FileDescriptor.collectEnumDescriptors(FileDescriptor.java:326)

        at org.infinispan.protostream.descriptors.FileDescriptor.resolveDependencies(FileDescriptor.java:248)

        at org.infinispan.protostream.descriptors.FileDescriptor.resolveDependencies(FileDescriptor.java:210)

        at org.infinispan.protostream.descriptors.ResolutionContext.resolve(ResolutionContext.java:57)

        at org.infinispan.protostream.impl.SerializationContextImpl.registerProtoFiles(SerializationContextImpl.java:127)

        at org.kie.kogito.codegen.process.persistence.MarshallerGenerator.generate(MarshallerGenerator.java:97)

        at org.kie.kogito.codegen.process.persistence.MarshallerGenerator.generate(MarshallerGenerator.java:83)

        at org.kie.kogito.codegen.process.persistence.PersistenceGenerator.generateProtoMarshaller(PersistenceGenerator.java:288)

        at org.kie.kogito.codegen.process.persistence.PersistenceGenerator.internalGenerate(PersistenceGenerator.java:179)

        at org.kie.kogito.codegen.core.AbstractGenerator.generate(AbstractGenerator.java:69)

        at org.kie.kogito.quarkus.processes.deployment.ProcessesAssetsProcessor.getGeneratedPersistenceFiles(ProcessesAssetsProcessor.java:237)

        at org.kie.kogito.quarkus.processes.deployment.ProcessesAssetsProcessor.generatePersistenceInfo(ProcessesAssetsProcessor.java:200)

        at org.kie.kogito.quarkus.processes.deployment.ProcessesAssetsProcessor.postGenerationProcessing(ProcessesAssetsProcessor.java:167)

        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:566)

        at io.quarkus.deployment.ExtensionLoader$2.execute(ExtensionLoader.java:887)

        at io.quarkus.builder.BuildContext.run(BuildContext.java:277)

        at org.jboss.threads.ContextHandler$1.runWith(ContextHandler.java:18)

        at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2449)

        at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1478)

        at java.base/java.lang.Thread.run(Thread.java:834)

        at org.jboss.threads.JBossThread.run(JBossThread.java:501)

 

        at io.quarkus.runner.bootstrap.AugmentActionImpl.runAugment(AugmentActionImpl.java:330)

        at io.quarkus.runner.bootstrap.AugmentActionImpl.createInitialRuntimeApplication(AugmentActionImpl.java:252)

        at io.quarkus.runner.bootstrap.AugmentActionImpl.createInitialRuntimeApplication(AugmentActionImpl.java:60)

        at io.quarkus.deployment.dev.IsolatedDevModeMain.firstStart(IsolatedDevModeMain.java:93)

        at io.quarkus.deployment.dev.IsolatedDevModeMain.accept(IsolatedDevModeMain.java:456)

        at io.quarkus.deployment.dev.IsolatedDevModeMain.accept(IsolatedDevModeMain.java:67)

        at io.quarkus.bootstrap.app.CuratedApplication.runInCl(CuratedApplication.java:149)

        at io.quarkus.bootstrap.app.CuratedApplication.runInAugmentClassLoader(CuratedApplication.java:105)

        at io.quarkus.deployment.dev.DevModeMain.start(DevModeMain.java:145)

        at io.quarkus.deployment.dev.DevModeMain.main(DevModeMain.java:63)

Caused by: io.quarkus.builder.BuildException: Build failure: Build failed due to errors

        [error]: Build step org.kie.kogito.quarkus.processes.deployment.ProcessesAssetsProcessor#postGenerationProcessing threw an exception: org.infinispan.protostream.DescriptorParserException: Enum value org.kie.kogito.app.OrderItemActionType.CONSTANTS clashes with enum value org.kie.kogito.app.AppointmentStateType.CONSTANTS

        at org.infinispan.protostream.descriptors.ResolutionContext.checkUniqueName(ResolutionContext.java:136)

        at org.infinispan.protostream.descriptors.ResolutionContext.addGenericDescriptor(ResolutionContext.java:94)

        at org.infinispan.protostream.descriptors.FileDescriptor.collectEnumDescriptors(FileDescriptor.java:326)

        at org.infinispan.protostream.descriptors.FileDescriptor.resolveDependencies(FileDescriptor.java:248)

        at org.infinispan.protostream.descriptors.FileDescriptor.resolveDependencies(FileDescriptor.java:210)

        at org.infinispan.protostream.descriptors.ResolutionContext.resolve(ResolutionContext.java:57)

        at org.infinispan.protostream.impl.SerializationContextImpl.registerProtoFiles(SerializationContextImpl.java:127)

        at org.kie.kogito.codegen.process.persistence.MarshallerGenerator.generate(MarshallerGenerator.java:97)

        at org.kie.kogito.codegen.process.persistence.MarshallerGenerator.generate(MarshallerGenerator.java:83)

        at org.kie.kogito.codegen.process.persistence.PersistenceGenerator.generateProtoMarshaller(PersistenceGenerator.java:288)

        at org.kie.kogito.codegen.process.persistence.PersistenceGenerator.internalGenerate(PersistenceGenerator.java:179)

        at org.kie.kogito.codegen.core.AbstractGenerator.generate(AbstractGenerator.java:69)

        at org.kie.kogito.quarkus.processes.deployment.ProcessesAssetsProcessor.getGeneratedPersistenceFiles(ProcessesAssetsProcessor.java:237)

        at org.kie.kogito.quarkus.processes.deployment.ProcessesAssetsProcessor.generatePersistenceInfo(ProcessesAssetsProcessor.java:200)

        at org.kie.kogito.quarkus.processes.deployment.ProcessesAssetsProcessor.postGenerationProcessing(ProcessesAssetsProcessor.java:167)

        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:566)

        at io.quarkus.deployment.ExtensionLoader$2.execute(ExtensionLoader.java:887)

        at io.quarkus.builder.BuildContext.run(BuildContext.java:277)

        at org.jboss.threads.ContextHandler$1.runWith(ContextHandler.java:18)

        at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2449)

        at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1478)

        at java.base/java.lang.Thread.run(Thread.java:834)

        at org.jboss.threads.JBossThread.run(JBossThread.java:501)

 

        at io.quarkus.builder.Execution.run(Execution.java:116)

        at io.quarkus.builder.BuildExecutionBuilder.execute(BuildExecutionBuilder.java:79)

        at io.quarkus.deployment.QuarkusAugmentor.run(QuarkusAugmentor.java:161)

        at io.quarkus.runner.bootstrap.AugmentActionImpl.runAugment(AugmentActionImpl.java:328)

        ... 9 more

Caused by: org.infinispan.protostream.DescriptorParserException: Enum value org.kie.kogito.app.OrderItemActionType.CONSTANTS clashes with enum value org.kie.kogito.app.AppointmentStateType.CONSTANTS

        at org.infinispan.protostream.descriptors.ResolutionContext.checkUniqueName(ResolutionContext.java:136)

        at org.infinispan.protostream.descriptors.ResolutionContext.addGenericDescriptor(ResolutionContext.java:94)

        at org.infinispan.protostream.descriptors.FileDescriptor.collectEnumDescriptors(FileDescriptor.java:326)

        at org.infinispan.protostream.descriptors.FileDescriptor.resolveDependencies(FileDescriptor.java:248)

        at org.infinispan.protostream.descriptors.Friptor.resolveDependencies(FileDescriptor.java:210)

        at org.infinispan.protostream.descriptors.ResolutionContext.resolve(ResolutionContext.java:57)

        at org.infinispan.protostream.impl.SerializationContextImpl.registerProtoFiles(SerializationContextImpl.java:127)

        at org.kie.kogito.codegen.process.persistence.MarshallerGenerator.generate(MarshallerGenerator.java:97)

        at org.kie.kogito.codegen.process.persistence.MarshallerGenerator.generate(MarshallerGenerator.java:83)

        at org.kie.kogito.codegen.process.persistence.PersistenceGenerator.generateProtoMarshaller(PersistenceGenerator.java:288)

        at org.kie.kogito.codegen.process.persistence.PersistenceGenerator.internalGenerate(PersistenceGenerator.java:179)

        at org.kie.kogito.codegen.core.AbstractGenerator.generate(AbstractGenerator.java:69)

Puneet Chaudhary

unread,
Apr 26, 2022, 6:08:27 PM4/26/22
to Kogito development mailing list
Hi,

Is there any solution for the enum clash issue?
I am facing the same issue.

Please assist with the solution

Cristiano Nicolai

unread,
Apr 27, 2022, 3:30:35 AM4/27/22
to Kogito development mailing list
Hi,

I managed to reproduce the issue quickly, and this is a problem with protobuf itself doesn't allow the same value to be used in different enums. This needs to be handled in the Kogito persistence codegen. Unfortunately, if you're using persistence, I don't see much way around the problem.
I created the following JIRA to track this issue: https://issues.redhat.com/browse/KOGITO-7063

--
You received this message because you are subscribed to the Google Groups "Kogito development mailing list" group.
To unsubscribe from this group and stop receiving emails from it, send an email to kogito-developm...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/kogito-development/16f1348c-76b2-4997-9b51-cf9519200f42n%40googlegroups.com.


--
Best regards,

Cristiano Nicolai

Ricardo Zanini

unread,
Apr 27, 2022, 8:55:46 AM4/27/22
to Kogito development mailing list
Hi!

This is a known bug being tracked here: https://issues.redhat.com/browse/KOGITO-7063

Unfortunately, the only workaround I can see from the top of my head is renaming the Enum until we get this bug fixed.

Sorry for the inconvenience.

Cheers!

--
Reply all
Reply to author
Forward
0 new messages