[JBoss JIRA] Created: (JGRP-837) Add faulire simulation capabiliries to Simulator
by Richard Achmatowicz (JIRA)
Add faulire simulation capabiliries to Simulator
-------------------------------------------------
Key: JGRP-837
URL: https://jira.jboss.org/jira/browse/JGRP-837
Project: JGroups
Issue Type: Feature Request
Reporter: Richard Achmatowicz
Assignee: Richard Achmatowicz
Priority: Minor
The Simulator can be used to test protocol layers in isolation. Multiple Simulator instances can be configured so that they model a multicast group.
In its present state, messages are transported from one Simulator instance to another by the send_thread, which moves messages from send_queue to recv_queue in a reliable fashion. Futhermore, all Simulators perform at the same speed. I'd like to use the Simulator to additionally simulate failures, in order to check the robustness of the protocols. In particular, i'd like to model:
* dropped, reordered, corrupted messages
* failed processors ('crash' failure)
* network partitions
* slow processes
This JIRA issue will track progress on this and allow for discussion.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
16 years, 2 months
[JBoss JIRA] Created: (JBRULES-1982) NullPointerException when executing rule sample
by Hrvoje Habjanic (JIRA)
NullPointerException when executing rule sample
-----------------------------------------------
Key: JBRULES-1982
URL: https://jira.jboss.org/jira/browse/JBRULES-1982
Project: JBoss Drools
Issue Type: Bug
Security Level: Public (Everyone can see)
Affects Versions: 5.0.0.M5
Environment: Springsource DM Server v.1.0.1, all jar-s bundled together in single jar file, then converted to bundle using bnd utility
Reporter: Hrvoje Habjanic
Assignee: Mark Proctor
Hi!
I have somewhat non-standard running environment - springsource sever. Because spring requires everything to be provided as bundle, i created drools bundle. I unpacked (extract) all drools jar-s except drools-clips, drools-jsr94 and drools-process-enterprise into single directory, and then created one big jar. Then i converted this jar using bnd utility to bundle. Because springsource uses older antlr, i did copy antlr-runtime-3.1.1 into bundle, to classes inside use this version.
In eclipse i created new project, and created helloworld sample. I did manage successfully to execute RuleFlowTest! But, DroolsTest fails with:
[2009-02-25 16:43:19.892] server-dm-4 System.err E java.lang.NullPointerException
[2009-02-25 16:43:19.893] server-dm-4 System.err E at org.drools.rule.EvalCondition.createContext(EvalCondition.java:110)
[2009-02-25 16:43:19.893] server-dm-4 System.err E at org.drools.reteoo.EvalConditionNode.createMemory(EvalConditionNode.java:235)
[2009-02-25 16:43:19.893] server-dm-4 System.err E at org.drools.common.ConcurrentNodeMemories.createNodeMemory(ConcurrentNodeMemories.java:96)
[2009-02-25 16:43:19.893] server-dm-4 System.err E at org.drools.common.ConcurrentNodeMemories.getNodeMemory(ConcurrentNodeMemories.java:75)
[2009-02-25 16:43:19.893] server-dm-4 System.err E at org.drools.common.AbstractWorkingMemory.getNodeMemory(AbstractWorkingMemory.java:1441)
[2009-02-25 16:43:19.893] server-dm-4 System.err E at org.drools.reteoo.EvalConditionNode.assertLeftTuple(EvalConditionNode.java:178)
[2009-02-25 16:43:19.893] server-dm-4 System.err E at org.drools.reteoo.SingleLeftTupleSinkAdapter.doPropagateAssertLeftTuple(SingleLeftTupleSinkAdapter.java:120)
[2009-02-25 16:43:19.894] server-dm-4 System.err E at org.drools.reteoo.SingleLeftTupleSinkAdapter.createAndPropagateAssertLeftTuple(SingleLeftTupleSinkAdapter.java:81)
[2009-02-25 16:43:19.894] server-dm-4 System.err E at org.drools.reteoo.LeftInputAdapterNode.assertObject(LeftInputAdapterNode.java:142)
[2009-02-25 16:43:19.894] server-dm-4 System.err E at org.drools.reteoo.SingleObjectSinkAdapter.propagateAssertObject(SingleObjectSinkAdapter.java:42)
[2009-02-25 16:43:19.894] server-dm-4 System.err E at org.drools.reteoo.ObjectTypeNode.assertObject(ObjectTypeNode.java:184)
[2009-02-25 16:43:19.894] server-dm-4 System.err E at org.drools.reteoo.EntryPointNode.assertObject(EntryPointNode.java:146)
[2009-02-25 16:43:19.894] server-dm-4 System.err E at org.drools.reteoo.Rete.assertObject(Rete.java:111)
[2009-02-25 16:43:19.894] server-dm-4 System.err E at org.drools.reteoo.ReteooRuleBase.assertObject(ReteooRuleBase.java:212)
[2009-02-25 16:43:19.895] server-dm-4 System.err E at org.drools.reteoo.ReteooWorkingMemory$WorkingMemoryReteAssertAction.execute(ReteooWorkingMemory.java:275)
[2009-02-25 16:43:19.895] server-dm-4 System.err E at org.drools.common.AbstractWorkingMemory.executeQueuedActions(AbstractWorkingMemory.java:1404)
[2009-02-25 16:43:19.895] server-dm-4 System.err E at org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:1011)
[2009-02-25 16:43:19.895] server-dm-4 System.err E at org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:974)
[2009-02-25 16:43:19.895] server-dm-4 System.err E at org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:744)
[2009-02-25 16:43:19.895] server-dm-4 System.err E at org.drools.impl.StatefulKnowledgeSessionImpl.insert(StatefulKnowledgeSessionImpl.java:183)
[2009-02-25 16:43:19.895] server-dm-4 System.err E at com.sample.DroolsTest.main(DroolsTest.java:30)
[2009-02-25 16:43:19.896] server-dm-4 System.err E at com.sample.Runner.init(Runner.java:16)
[2009-02-25 16:43:19.896] server-dm-4 System.err E at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[2009-02-25 16:43:19.896] server-dm-4 System.err E at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
[2009-02-25 16:43:19.896] server-dm-4 System.err E at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[2009-02-25 16:43:19.896] server-dm-4 System.err E at java.lang.reflect.Method.invoke(Method.java:597)
[2009-02-25 16:43:19.896] server-dm-4 System.err E at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1414)
[2009-02-25 16:43:19.896] server-dm-4 System.err E at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1375)
[2009-02-25 16:43:19.896] server-dm-4 System.err E at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1335)
[2009-02-25 16:43:19.897] server-dm-4 System.err E at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:473)
[2009-02-25 16:43:19.897] server-dm-4 System.err E at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
[2009-02-25 16:43:19.897] server-dm-4 System.err E at java.security.AccessController.doPrivileged(Native Method)
[2009-02-25 16:43:19.897] server-dm-4 System.err E at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
[2009-02-25 16:43:19.897] server-dm-4 System.err E at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
[2009-02-25 16:43:19.897] server-dm-4 System.err E at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
[2009-02-25 16:43:19.897] server-dm-4 System.err E at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
[2009-02-25 16:43:19.897] server-dm-4 System.err E at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
[2009-02-25 16:43:19.898] server-dm-4 System.err E at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
[2009-02-25 16:43:19.898] server-dm-4 System.err E at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:429)
[2009-02-25 16:43:19.898] server-dm-4 System.err E at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:728)
[2009-02-25 16:43:19.898] server-dm-4 System.err E at org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.completeRefresh(AbstractDelegatedExecutionApplicationContext.java:288)
[2009-02-25 16:43:19.898] server-dm-4 System.err E at org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor$CompleteRefreshTask.run(DependencyWaiterApplicationContextExecutor.java:145)
[2009-02-25 16:43:19.898] server-dm-4 System.err E at com.springsource.server.kernel.dm.ContextPropagatingTaskExecutor$2.run(ContextPropagatingTaskExecutor.java:82)
[2009-02-25 16:43:19.898] server-dm-4 System.err E at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
[2009-02-25 16:43:19.899] server-dm-4 System.err E at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
[2009-02-25 16:43:19.899] server-dm-4 System.err E at java.lang.Thread.run(Thread.java:619)
Drools file which is executed is:
package com.sample
import com.sample.DroolsTest.Message;
rule "Hello World"
when
m : Message( status == Message.HELLO, message : message )
then
System.out.println( "Ssssss" );
m.setMessage( "Goodbye cruel world" );
m.setStatus( Message.GOODBYE );
update( m );
end
rule "GoodBye"
when
Message( status == Message.GOODBYE, message : message )
then
System.out.println( message );
end
And DroolsTest java is also unmodified:
package com.sample;
import org.drools.KnowledgeBase;
import org.drools.KnowledgeBaseFactory;
import org.drools.builder.KnowledgeBuilder;
import org.drools.builder.KnowledgeBuilderError;
import org.drools.builder.KnowledgeBuilderErrors;
import org.drools.builder.KnowledgeBuilderFactory;
import org.drools.builder.ResourceType;
import org.drools.io.ResourceFactory;
import org.drools.logger.KnowledgeRuntimeLogger;
import org.drools.logger.KnowledgeRuntimeLoggerFactory;
import org.drools.runtime.StatefulKnowledgeSession;
/**
* This is a sample class to launch a rule.
*/
public class DroolsTest {
public static final void main(String[] args) {
try {
// load up the knowledge base
KnowledgeBase kbase = readKnowledgeBase();
StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession();
KnowledgeRuntimeLogger logger = KnowledgeRuntimeLoggerFactory.newFileLogger(ksession, "test");
// go !
Message message = new Message();
message.setMessage("Hello World");
message.setStatus(Message.HELLO);
ksession.insert(message);
ksession.fireAllRules();
logger.close();
} catch (Throwable t) {
t.printStackTrace();
}
}
private static KnowledgeBase readKnowledgeBase() throws Exception {
KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
kbuilder.add(ResourceFactory.newClassPathResource("Sample.drl"), ResourceType.DRL);
KnowledgeBuilderErrors errors = kbuilder.getErrors();
if (errors.size() > 0) {
for (KnowledgeBuilderError error: errors) {
System.err.println(error);
}
throw new IllegalArgumentException("Could not parse knowledge.");
}
KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
kbase.addKnowledgePackages(kbuilder.getKnowledgePackages());
return kbase;
}
public static class Message {
public static final int HELLO = 0;
public static final int GOODBYE = 1;
private String message;
private int status;
public String getMessage() {
return this.message;
}
public void setMessage(String message) {
this.message = message;
}
public int getStatus() {
return this.status;
}
public void setStatus(int status) {
this.status = status;
}
}
}
I did try to browse trough source and try to find out what the problem could be, but at no avail.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
16 years, 2 months