[JBoss JIRA] (WFLY-10094) [Artemis 2.x upgrade] libAIO does not get loaded on RHEL 6 x86_64
by Jeff Mesnil (JIRA)
[ https://issues.jboss.org/browse/WFLY-10094?page=com.atlassian.jira.plugin... ]
Jeff Mesnil updated WFLY-10094:
-------------------------------
Labels: activemq (was: )
> [Artemis 2.x upgrade] libAIO does not get loaded on RHEL 6 x86_64
> -----------------------------------------------------------------
>
> Key: WFLY-10094
> URL: https://issues.jboss.org/browse/WFLY-10094
> Project: WildFly
> Issue Type: Bug
> Components: JMS
> Reporter: Miroslav Novak
> Assignee: Jeff Mesnil
> Priority: Blocker
> Labels: activemq
>
> LibAIO does not get loaded on RHEL 6 x86_64:
> {code}
> [hudson@rhel6-large-2723 bin]$ sh standalone.sh -c standalone-full-ha.xml -Djboss.socket.binding.port-offset=1000
> =========================================================================
> JBoss Bootstrap Environment
> JBOSS_HOME: /tmp/jboss-eap
> JAVA: java
> JAVA_OPTS: -server -Xms64m -Xmx512m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=true -Djboss.modules.system.pkgs=org.jboss.byteman -Djava.awt.headless=true
> =========================================================================
> ...
> 10:14:31,918 INFO [org.wildfly.extension.messaging-activemq] (MSC service thread 1-1) WFLYMSGAMQ0075: AIO wasn't located on this platform, it will fall back to using pure Java NIO. Your platform is Linux, install LibAIO to enable the AIO journal and achieve optimal performance.
> 10:14:32,017 INFO [org.apache.activemq.artemis.core.server] (ServerService Thread Pool -- 75) AMQ221000: live Message Broker is starting with configuration Broker Configuration (clustered=true,journalDirectory=/tmp/jboss-eap/standalone/data/activemq/journal,bindingsDirectory=/tmp/jboss-eap/standalone/data/activemq/bindings,largeMessagesDirectory=/tmp/jboss-eap/standalone/data/activemq/largemessages,pagingDirectory=/tmp/jboss-eap/standalone/data/activemq/paging)
> 10:14:32,110 INFO [org.apache.activemq.artemis.core.server] (ServerService Thread Pool -- 75) AMQ221013: Using NIO Journal
> ...
> {code}
> libAIO in artemis journal module from WF branch. Not from Artemis 2.5.0.Final tag.
> Wildfly: https://github.com/jmesnil/wildfly/tree/WFLY-9407_upgrade_artemis_2.4.0_w... (06c878a313d3cad323889d017e60fd5533204d1a)
> Artemis: upstreadm master (577b62d5210cdcc0f86ab9bb1b24e944c877dfe7)
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
8 years
[JBoss JIRA] (WFLY-10131) [Artemis 2.x upgrade] Missing message JMS bridge with DUPS_OK quality of service
by Jeff Mesnil (JIRA)
[ https://issues.jboss.org/browse/WFLY-10131?page=com.atlassian.jira.plugin... ]
Jeff Mesnil updated WFLY-10131:
-------------------------------
Labels: activemq (was: )
> [Artemis 2.x upgrade] Missing message JMS bridge with DUPS_OK quality of service
> --------------------------------------------------------------------------------
>
> Key: WFLY-10131
> URL: https://issues.jboss.org/browse/WFLY-10131
> Project: WildFly
> Issue Type: Bug
> Components: JMS
> Reporter: Miroslav Novak
> Assignee: Jeff Mesnil
> Labels: activemq
>
> There is missing one message in scenario where JMS bridge (with DUPS_OK) resending messages from one server to another. Durint resending target server is killed and bridge does failover to backup.
> After failover in server logs there are lots of warns/errors:
> {code}
> 05:39:01,697 WARN [org.apache.activemq.artemis.jms.bridge] (Thread-144) AMQ342009: JMS Bridge N/A failed to send + acknowledge batch, closing JMS objects: javax.jms.JMSException: Duplicate message detected - me
> ssage will not be routed. Message information:LargeServerMessage[messageID=2147485500,durable=true,userID=d8ea8e0a-326b-11e8-b74b-fa163e64a220,priority=4, timestamp=Wed Mar 28 05:39:01 EDT 2018,expiration=0, dur
> able=true, address=jms.queue.OutQueue,size=410263,properties=TypedProperties[__AMQ_CID=bd95a355-326b-11e8-b74b-fa163e64a220,_AMQ_ROUTING_TYPE=1,AMQ_BRIDGE_MSG_ID_LIST=ID:c13a41dc-326b-11e8-949b-fa163e64a220,JMSX
> DeliveryCount=10,count=989,color=RED,counter=990,_AMQ_DUPL_ID=fde672e0-e858-4c50-a148-a0b7a4a223591522229901951,_AMQ_LARGE_SIZE=409615]]@1304406481
> at org.apache.activemq.artemis.core.protocol.core.impl.ChannelImpl.sendBlocking(ChannelImpl.java:423) [artemis-core-client-2.5.0.jar:2.5.0]
> at org.apache.activemq.artemis.core.protocol.core.impl.ChannelImpl.sendBlocking(ChannelImpl.java:319) [artemis-core-client-2.5.0.jar:2.5.0]
> at org.apache.activemq.artemis.core.protocol.core.impl.ActiveMQSessionContext.simpleCommit(ActiveMQSessionContext.java:381) [artemis-core-client-2.5.0.jar:2.5.0]
> at org.apache.activemq.artemis.core.client.impl.ClientSessionImpl.commit(ClientSessionImpl.java:862) [artemis-core-client-2.5.0.jar:2.5.0]
> at org.apache.activemq.artemis.core.client.impl.ClientSessionImpl.commit(ClientSessionImpl.java:835) [artemis-core-client-2.5.0.jar:2.5.0]
> at org.apache.activemq.artemis.jms.client.ActiveMQSession.commit(ActiveMQSession.java:231) [artemis-jms-client-2.5.0.jar:2.5.0]
> at org.apache.activemq.artemis.jms.bridge.impl.JMSBridgeImpl.sendBatchNonTransacted(JMSBridgeImpl.java:1338) [artemis-jms-server-2.5.0.jar:2.5.0]
> at org.apache.activemq.artemis.jms.bridge.impl.JMSBridgeImpl.sendBatch(JMSBridgeImpl.java:1298) [artemis-jms-server-2.5.0.jar:2.5.0]
> at org.apache.activemq.artemis.jms.bridge.impl.JMSBridgeImpl.access$1700(JMSBridgeImpl.java:74) [artemis-jms-server-2.5.0.jar:2.5.0]
> at org.apache.activemq.artemis.jms.bridge.impl.JMSBridgeImpl$SourceReceiver.run(JMSBridgeImpl.java:1694) [artemis-jms-server-2.5.0.jar:2.5.0]
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [rt.jar:1.8.0_162]
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [rt.jar:1.8.0_162]
> at java.lang.Thread.run(Thread.java:748) [rt.jar:1.8.0_162]
> Caused by: ActiveMQDuplicateIdException[errorType=DUPLICATE_ID_REJECTED message=Duplicate message detected - message will not be routed. Message information:LargeServerMessage[messageID=2147485500,durable=true,u
> serID=d8ea8e0a-326b-11e8-b74b-fa163e64a220,priority=4, timestamp=Wed Mar 28 05:39:01 EDT 2018,expiration=0, durable=true, address=jms.queue.OutQueue,size=410263,properties=TypedProperties[__AMQ_CID=bd95a355-326b
> -11e8-b74b-fa163e64a220,_AMQ_ROUTING_TYPE=1,AMQ_BRIDGE_MSG_ID_LIST=ID:c13a41dc-326b-11e8-949b-fa163e64a220,JMSXDeliveryCount=10,count=989,color=RED,counter=990,_AMQ_DUPL_ID=fde672e0-e858-4c50-a148-a0b7a4a2235915
> 22229901951,_AMQ_LARGE_SIZE=409615]]@1304406481]
> ... 13 more
> 05:39:01,699 WARN [org.apache.activemq.artemis.core.server] (Thread-23 (ActiveMQ-server-org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl$5@2076a02)) AMQ222149: Message Reference[3056]:RELIABLE:Co
> reMessage[messageID=3056,durable=true,userID=c1347573-326b-11e8-949b-fa163e64a220,priority=4, timestamp=Wed Mar 28 05:38:21 EDT 2018,expiration=0, durable=true, address=jms.queue.InQueue,size=10673,properties=Ty
> pedProperties[__AMQ_CID=be528a5c-326b-11e8-949b-fa163e64a220,_AMQ_ROUTING_TYPE=1,count=980,counter=981,_AMQ_DUPL_ID=13adf1ec-581f-42e4-835b-0e6e33a4e1191522229901913,color=GREEN]]@511432790 has reached maximum d
> elivery attempts, sending it to Dead Letter Address jms.queue.DLQ from jms.queue.InQueue
> 05:39:01,700 WARN [org.apache.activemq.artemis.core.server] (Thread-23 (ActiveMQ-server-org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl$5@2076a02)) AMQ222149: Message Reference[3058]:RELIABLE:CoreMessage[messageID=3058,durable=true,userID=c1349c84-326b-11e8-949b-fa163e64a220,priority=4, timestamp=Wed Mar 28 05:38:21 EDT 2018,expiration=0, durable=true, address=jms.queue.InQueue,size=20914,properties=TypedProperties[__AMQ_CID=be528a5c-326b-11e8-949b-fa163e64a220,_AMQ_ROUTING_TYPE=1,count=981,counter=982,_AMQ_DUPL_ID=6feb66cd-8616-4dff-8775-3f85a4b9bdbb1522229901914,color=RED]]@1150646585 has reached maximum delivery attempts, sending it to Dead Letter Address jms.queue.DLQ from jms.queue.InQueue
> ....
> 05:39:01,706 WARN [org.apache.activemq.artemis.core.server] (Thread-23 (ActiveMQ-server-org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl$5@2076a02)) AMQ222149: Message Reference[3082]:RELIABLE:CoreMessage[messageID=3082,durable=true,userID=c13d4f1d-326b-11e8-949b-fa163e64a220,priority=4, timestamp=Wed Mar 28 05:38:21 EDT 2018,expiration=0, durable=true, address=jms.queue.InQueue,size=10673,properties=TypedProperties[__AMQ_CID=be528a5c-326b-11e8-949b-fa163e64a220,_AMQ_ROUTING_TYPE=1,count=990,counter=991,_AMQ_DUPL_ID=f802f4b7-e0a1-4dee-acc7-0b11963bec401522229901971,color=GREEN]]@2708478 has reached maximum delivery attempts, sending it to Dead Letter Address jms.queue.DLQ from jms.queue.InQueue
> {code}
> So the missing message ended up in DLQ as it could not be delivered to target queue. It looks like that _AMQ_DUPL_ID might trigger dup message detection in target queueu however such message did not get there.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
8 years
[JBoss JIRA] (WFLY-10115) Regression in JMS bridge with network failures tests
by Jeff Mesnil (JIRA)
[ https://issues.jboss.org/browse/WFLY-10115?page=com.atlassian.jira.plugin... ]
Jeff Mesnil updated WFLY-10115:
-------------------------------
Labels: activemq (was: )
> Regression in JMS bridge with network failures tests
> ----------------------------------------------------
>
> Key: WFLY-10115
> URL: https://issues.jboss.org/browse/WFLY-10115
> Project: WildFly
> Issue Type: Bug
> Components: JMS
> Reporter: Martin Styk
> Assignee: Jeff Mesnil
> Priority: Blocker
> Labels: activemq
> Attachments: org.jboss.qa.hornetq.test.bridges.NetworkFailuresJMSBridgesTestCase.zip
>
>
> *Scenario*
> Node A and B are started. JMS bridge with {{once and only once}} delivery and 1 reconnect attempt is deployed on node A. Producer starts sending mix of normal and large messages to InQueue on node A. Jms bridge resends messages from A's InQueue to B's OutQueue. During this time short network failure sequence (network goes down and then up) is executed twice. Receiver receives messages from OutQueue(also from node A). After that, network stays disconnected. Another receiver receives remaining messages from A's InQueue.
> {noformat:title=Jms Bridge}
> <jms-bridge name="myBridge" module="org.apache.activemq.artemis" quality-of-service="ONCE_AND_ONLY_ONCE" failure-retry-interval="1000" max-retries="1" max-batch-size="10" max-batch-time="100" add-messageID-in-header="true">
> <source connection-factory="java:/ConnectionFactory" destination="jms/queue/InQueue"/>
> <target connection-factory="jms/BridgeConnectionFactory" destination="jms/queue/OutQueue">
> <target-context>
> <property name="java.naming.factory.initial" value="org.jboss.naming.remote.client.InitialContextFactory"/>
> <property name="java.naming.provider.url" value="http-remoting://127.0.0.1:9080"/>
> </target-context>
> </target>
> </jms-bridge>
> {noformat}
> *Issue*
> * node A's InQueue and node B's OutQueue is empty
> * There are no prepared transactions on node A
> * some messages *are missing* after test (multiply of 10, which is number of messages in one transaction)
> * this scenario fails *intermittently*
> Issue was hit with Artemis 2.5.0 with https://github.com/jmesnil/wildfly/tree/WFLY-9407_upgrade_artemis_2.4.0_w... (commit 51dd8102f103ccb0470a3cfc8713d3f9bdb1b65d)
> Logs are attached.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
8 years
[JBoss JIRA] (WFLY-10055) [Artemis 2.x Upgrade] Auto-create-queue creates runtime queue without jms.queue prefix
by Jeff Mesnil (JIRA)
[ https://issues.jboss.org/browse/WFLY-10055?page=com.atlassian.jira.plugin... ]
Jeff Mesnil commented on WFLY-10055:
------------------------------------
[~martyn-taylor] this one should go in your backlog, right?
One solution would be to configure the JMS connection-factory so that it adds prefix to destinations created on the client side.
However, for backwards compatibility, there might be 4 different types of prefix iirc (jms.queue, jms.topic, jms.tempqueue and jms.temptopic).
> [Artemis 2.x Upgrade] Auto-create-queue creates runtime queue without jms.queue prefix
> ---------------------------------------------------------------------------------------
>
> Key: WFLY-10055
> URL: https://issues.jboss.org/browse/WFLY-10055
> Project: WildFly
> Issue Type: Bug
> Components: JMS
> Reporter: Martin Styk
> Assignee: Martyn Taylor
>
> {{Auto-create-jms-queue}} feature of EAP 7.1 creates runtime queues with name pattern {{"jms.queue.<QUEUE_NAME>"}}.
> With Artemis 2.5, {{auto-create-queue}} is a successor of deprecated {{auto-create-jms-queue}} feature. {{Auto-create-queue}} creates queues with name pattern {{"<QUEUE_NAME>"}}.
> {code}
> session.createQueue("testQueue")
> --> "jms.queue.testQueue" (EAP 7.1 + Artemis 1.5, auto-create-jms-queue=true)
> --> "testQueue" (Artemis 2.5, auto-create-queue=true)
> {code}
> This feature is not supported.
> Issue was hit with Artemis 2.5.0 with https://github.com/jmesnil/wildfly/tree/WFLY-9407_upgrade_artemis_2.4.0_w... (commit 51dd8102f103ccb0470a3cfc8713d3f9bdb1b65d)
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
8 years
[JBoss JIRA] (WFLY-10143) Standalone JMS client is failing with: java.lang.ClassNotFoundException: javax.json.JsonValue with jboss-client.jar
by Jeff Mesnil (JIRA)
[ https://issues.jboss.org/browse/WFLY-10143?page=com.atlassian.jira.plugin... ]
Jeff Mesnil commented on WFLY-10143:
------------------------------------
How do you reproduce the issue?
Are you experiencing this with WildFly 12.0.0.Final or the master branch?
There were recent changes to the client shade after the 12.0.0.Final tag in https://issues.jboss.org/browse/WFLY-10063
> Standalone JMS client is failing with: java.lang.ClassNotFoundException: javax.json.JsonValue with jboss-client.jar
> --------------------------------------------------------------------------------------------------------------------
>
> Key: WFLY-10143
> URL: https://issues.jboss.org/browse/WFLY-10143
> Project: WildFly
> Issue Type: Bug
> Components: JMS
> Affects Versions: 12.0.0.Final
> Reporter: Miroslav Novak
> Assignee: Jeff Mesnil
> Priority: Blocker
>
> If standalone JMS client is using only jboss-client.jar on classpath then during look up of connection factory fails with:
> {code}
> Exception in thread "Thread-0" java.lang.NoClassDefFoundError: javax/json/JsonValue
> at org.apache.activemq.artemis.uri.schema.connector.TCPTransportConfigurationSchema.getTransportConfigurations(TCPTransportConfigurationSchema.java:68)
> at org.apache.activemq.artemis.uri.schema.serverLocator.TCPServerLocatorSchema.internalNewObject(TCPServerLocatorSchema.java:44)
> at org.apache.activemq.artemis.uri.schema.serverLocator.TCPServerLocatorSchema.internalNewObject(TCPServerLocatorSchema.java:33)
> at org.apache.activemq.artemis.utils.uri.URISchema.newObject(URISchema.java:86)
> at org.apache.activemq.artemis.utils.uri.URISchema.newObject(URISchema.java:30)
> at org.apache.activemq.artemis.utils.uri.URIFactory.newObject(URIFactory.java:59)
> at org.apache.activemq.artemis.core.client.impl.ServerLocatorImpl.newLocator(ServerLocatorImpl.java:411)
> at org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory.<init>(ActiveMQConnectionFactory.java:209)
> at org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory.<init>(ActiveMQConnectionFactory.java:202)
> at org.apache.activemq.artemis.jms.client.ActiveMQJMSConnectionFactory.<init>(ActiveMQJMSConnectionFactory.java:34)
> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
> at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
> at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
> at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
> at org.jboss.marshalling.reflect.SerializableClass.invokeConstructor(SerializableClass.java:340)
> at org.jboss.marshalling.reflect.SerializableClass.callNoArgConstructor(SerializableClass.java:292)
> at org.jboss.marshalling.river.RiverUnmarshaller.doReadNewObject(RiverUnmarshaller.java:1408)
> at org.jboss.marshalling.river.RiverUnmarshaller.doReadObject(RiverUnmarshaller.java:272)
> at org.jboss.marshalling.river.RiverUnmarshaller.doReadObject(RiverUnmarshaller.java:205)
> at org.jboss.marshalling.AbstractObjectInput.readObject(AbstractObjectInput.java:41)
> at org.wildfly.naming.client.remote.RemoteClientTransport.lookup(RemoteClientTransport.java:243)
> at org.wildfly.naming.client.remote.RemoteContext.lambda$lookupNative$0(RemoteContext.java:190)
> at org.wildfly.naming.client.NamingProvider.performExceptionAction(NamingProvider.java:222)
> at org.wildfly.naming.client.remote.RemoteContext.performWithRetry(RemoteContext.java:100)
> at org.wildfly.naming.client.remote.RemoteContext.lookupNative(RemoteContext.java:188)
> at org.wildfly.naming.client.AbstractFederatingContext.lookup(AbstractFederatingContext.java:74)
> at org.wildfly.naming.client.store.RelativeFederatingContext.lookupNative(RelativeFederatingContext.java:58)
> at org.wildfly.naming.client.AbstractFederatingContext.lookup(AbstractFederatingContext.java:74)
> at org.wildfly.naming.client.AbstractFederatingContext.lookup(AbstractFederatingContext.java:60)
> at org.wildfly.naming.client.AbstractFederatingContext.lookup(AbstractFederatingContext.java:66)
> at org.wildfly.naming.client.WildFlyRootContext.lookup(WildFlyRootContext.java:144)
> at javax.naming.InitialContext.lookup(InitialContext.java:417)
> at org.jboss.jms.client.ProducerTransAck.run(ProducerTransAck.java:78)
> Caused by: java.lang.ClassNotFoundException: javax.json.JsonValue
> at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
> at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
> ... 33 more
> {code}
> This is because javax.json-api jar is missing.
> Wildfly 12 jms-client-bom does not suffer by this issue.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
8 years
[JBoss JIRA] (WFCORE-3718) mvn versions:set -DnewVersion=xxxx does not replace component-matrix/pom.xml
by Kabir Khan (JIRA)
[ https://issues.jboss.org/browse/WFCORE-3718?page=com.atlassian.jira.plugi... ]
Kabir Khan commented on WFCORE-3718:
------------------------------------
I think the intent is that component-matrix does *not* have the wildfly-core-parent as its parent. This is so it pulls in less dependencies when used from boms and things like that. If your {{-DprocessAllModules=true}} fix works then I think we're good?
> mvn versions:set -DnewVersion=xxxx does not replace component-matrix/pom.xml
> ----------------------------------------------------------------------------
>
> Key: WFCORE-3718
> URL: https://issues.jboss.org/browse/WFCORE-3718
> Project: WildFly Core
> Issue Type: Bug
> Components: Domain Management
> Affects Versions: 5.0.0.Alpha2
> Reporter: Kabir Khan
> Assignee: Tomaz Cerar
>
> {quote}
> [2:26 PM] Kabir Khan: @ctomc following https://developer.jboss.org/wiki/WildFlyCoreReleaseProcess, and using
> mvn versions:set -DnewVersion=5.0.0.Alpha2
> [2:26 PM] Kabir Khan: it seems to keep component-matrix/pom.xml as -SNAPSHOT
> [2:26 PM] Kabir Khan: $git grep "\-SNAPSHOT"
> component-matrix/pom.xml: <version>5.0.0.Alpha2-SNAPSHOT</version>
> [2:27 PM] Tomaz Cerar: damn, that is not good
> [2:27 PM] Tomaz Cerar: versions plugin is bit stupid in some cases
> [2:27 PM] Kabir Khan: Should it be in the list of modules?
> [2:27 PM] Tomaz Cerar: it is
> {quote}
> All other versions are correctly replaced. I'd hazard a guess that this also happens in WF full.
> CC [~brian.stansberry] - for the 5.0.0.Alpha2 release I'm using the old find/sed way
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
8 years
[JBoss JIRA] (DROOLS-2440) API gap: KieBase.getGlobalType(String identifier) which returns the class of the global field
by Geoffrey De Smet (JIRA)
Geoffrey De Smet created DROOLS-2440:
----------------------------------------
Summary: API gap: KieBase.getGlobalType(String identifier) which returns the class of the global field
Key: DROOLS-2440
URL: https://issues.jboss.org/browse/DROOLS-2440
Project: Drools
Issue Type: Enhancement
Components: core engine
Affects Versions: 7.6.0.Final
Reporter: Geoffrey De Smet
Assignee: Mario Fusco
This is needed to avoid try-catching kieSession.setGlobal(...) in for example optaplanner.
This code
{code}
kieSession.setGlobal("scoreHolder", workingScoreHolder);
{code}
throws
{code}
Exception in thread "AWT-EventQueue-0" java.lang.RuntimeException: Illegal class for global. Expected [org.optaplanner.core.api.score.buildin.hardsoft.HardSoftScoreHolder], found [org.optaplanner.core.api.score.buildin.hardsoftlong.HardSoftLongScoreHolder].
at org.drools.core.impl.StatefulKnowledgeSessionImpl.setGlobal(StatefulKnowledgeSessionImpl.java:1189)
at org.optaplanner.core.impl.score.director.drools.DroolsScoreDirector.resetKieSession(DroolsScoreDirector.java:79)
at org.optaplanner.core.impl.score.director.drools.DroolsScoreDirector.setWorkingSolution(DroolsScoreDirector.java:69)
{code}
because the user didn't align his global field ScoreHolder type with his domain classes score type.
Instead they should get
{code}
IllegalStateException: your global field ScoreHolder type (...) does not align with your domain classes score type (...).
{code}
To do this, we need to have KieBase.getGlobalType("scoreHolder") return HardSoftScoreHolder.class, so I can check it's not equal HardSoftLongScoreHolder.class, during bootstrap, instead of try-catching every setGlobal() call.
Furthermore, I believe this should be added in the public api - it is clearly an api gap. But I can work with adding this in the internal api too.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
8 years