[JBoss JIRA] Created: (JGRP-1167) Invalid MERGE_VIEW causes subgroups isolation
by vivek v (JIRA)
Invalid MERGE_VIEW causes subgroups isolation
---------------------------------------------
Key: JGRP-1167
URL: https://jira.jboss.org/jira/browse/JGRP-1167
Project: JGroups
Issue Type: Bug
Affects Versions: 2.9
Environment: Linux
Reporter: vivek v
Assignee: Bela Ban
We are using WANem to test latest JGroups 2.9 branch. In one of our test we noticed the following behavior,
1) Three nodes: Manager, Collector and Probe
2) Manager has the Gossip Router running
3) There is a WANem between Manager and Collector. The WANem rule randomly makes host/network unreachable for 30-45 sec every 3-5 minutes.
4) Before the disconnect we had view V1 {manager, collector, probe} on all the nodes
5) After disconnect here are the view changes,
a) On Manager - V2{manager, probe}
b) On Collector - V3{collector, probe}
c) On Probe - V3{collector, probe}
- note they all have the same view ids - 3
6) After 20 sec we get a MERGE_VIEW on Manager,
a) On Manager - V4{probe, manager} - but, there is only one subgroup in it (V3)
7) Now even after connection is established between Manager and Database (WANen rules deleted), we don't get new merge view on nodes. All nodes stay with whatever they had. All of them throw NAKACK error (see attached log)
Now, the problem seems to be view (V2) has Probe as its coordinator and view (V3) has Collector as its coordinator. Probe itself has V3 - so Collector asks Probe what view you got and it says it has the same view as Collector - so no merge is sent out to Manager. So, basically we got a broken group /w isolated subgroups.
Questions
--------
1) How is it possible to get a MERGE_VIEW /w only one subgroup in it?
2) How can coordinator of a view (on Node A) have a different view itself (on Node B - say Node B is coordinator)?
3) What's causing this node isolation - what protocol (GMS, MERGE2)?
Attached is the log showing the view changes on each node and our protocol stack.
--
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, 1 month
[JBoss JIRA] Created: (JBRULES-2245) Guided Editor in BRMS always shows DSL sentences completely separated from fact patterns - but original input order is required in certain situations.
by Gunnar von der Beck (JIRA)
Guided Editor in BRMS always shows DSL sentences completely separated from fact patterns - but original input order is required in certain situations.
------------------------------------------------------------------------------------------------------------------------------------------------------
Key: JBRULES-2245
URL: https://jira.jboss.org/jira/browse/JBRULES-2245
Project: Drools
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: drools-guvnor
Affects Versions: 5.0.1.FINAL
Reporter: Gunnar von der Beck
Assignee: Mark Proctor
Priority: Minor
When building custom DSL snippets for expressions like {{over window:time(...)}} or {{over window:length(...)}} i would like to give the user the option to mix these DSL snippets with facts by using the guided editor in the BRMS. Especially these DSL snippets must be placed directly after a fact pattern, e.g. {{Product( ... ) over window:time(30d)}}. Therefore they only make sense in a context behind a fact definition.
But the guided editor in Guvnor always places DSL sentences on the bottom of the left hand side - totally separated from the rest (not in the generated code, but in the GUI-View). So in more complex situations the user might loose the context of his DSL-like-input.
Anyway I think that the preferred way of presenting the users input would be to leave the original input order as is.
So here is my solution - a minor change in org.drools.guvnor.client.modeldriven.ui.RuleModeller. You might want to adopt it if you think this is a good idea.
{code:title=RuleModeller.java|borderStyle=solid}
package org.drools.guvnor.client.modeldriven.ui;
...
public class RuleModeller extends DirtyableComposite {
...
/**
* Builds all the condition widgets.
*/
private Widget renderLhs(final RuleModel model) {
DirtyableVerticalPane vert = new DirtyableVerticalPane();
IPattern lastPattern = null;
for ( int i = 0; i < model.lhs.length; i++ ) {
IPattern pattern = model.lhs[i];
// start new code
// insert spacer when switching from DSL sentence to other pattern
if (lastPattern != null &&
(lastPattern instanceof DSLSentence)
&& (!(pattern instanceof DSLSentence))) {
vert.add( spacerWidget() );
}
lastPattern = pattern;
// end new code
Widget w = null;
if (pattern instanceof FactPattern) {
w = new FactPatternWidget(this, pattern, completions, true) ;
vert.add( wrapLHSWidget( model,
i,
w ) );
vert.add( spacerWidget() );
} else if (pattern instanceof CompositeFactPattern) {
w = new CompositeFactPatternWidget(this, (CompositeFactPattern) pattern, completions) ;
vert.add( wrapLHSWidget( model, i, w ));
vert.add( spacerWidget() );
} else if (pattern instanceof DSLSentence) {
// start new code: do not ignore DSL sentences any more
w = new DSLSentenceWidget((DSLSentence) pattern,completions);
vert.add( wrapLHSWidget( model, i, w ) );
vert.setStyleName( "model-builderInner-Background" ); //NON-NLS
// end new code
} else if (pattern instanceof FreeFormLine){
final FreeFormLine ffl = (FreeFormLine) pattern;
final TextBox tb = new TextBox();
tb.setText(ffl.text);
tb.setTitle(constants.ThisIsADrlExpressionFreeForm());
tb.addChangeListener(new ChangeListener() {
public void onChange(Widget arg0) {
ffl.text = tb.getText();
}
});
vert.add(wrapLHSWidget(model, i, tb));
vert.add( spacerWidget() );
} else {
throw new RuntimeException("I don't know what type of pattern that is.");
}
// removed the second extra loop for DSLSentence patterns: integrated above
}
return vert;
}
...
}
{code}
This would give the end user a lot more options building rules with the guided editor - especially when mixing prepared DSL sentences with Fact patterns.
--
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, 1 month
[JBoss JIRA] Created: (JBRULES-2132) Patch: Docs: Expert: Rule Language chapter: DSL Section
by Prem Stephen (JIRA)
Patch: Docs: Expert: Rule Language chapter: DSL Section
-------------------------------------------------------
Key: JBRULES-2132
URL: https://jira.jboss.org/jira/browse/JBRULES-2132
Project: JBoss Drools
Issue Type: Feature Request
Security Level: Public (Everyone can see)
Affects Versions: 5.0.1.FINAL
Reporter: Prem Stephen
Assignee: Edson Tirelli
Priority: Critical
Fix For: 5.0.1.FINAL
In the following DSL
[when]There is a Contact with=Contact()
[when]- age is greater than or equal to {age}=age > {age}
[when]- age is greater than {age}=age > {age}
[when]- age is less than or equal to {age}=age <= {age}
[when]- age is less than {age}=age < {age}
Now, if I had 10 attributes of type int, then currently from what I could read in my documentation I need to recreate these lines for each of these 10 attributes.
Hope about a DSL that is more granular, similar to the one below ( i am just putting this up )
[when][operator]is less than="<"
[when][operator]is less than or equal to ="<="
[when][operator]is greater than=">"
[when][operator]is greater than or equal to =">="
then, I should be able to state that since age is a int, it can use the above operators.
A country, being a String, should not be able to use these operators.
--
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, 1 month
[JBoss JIRA] Created: (JBMICROCONT-130) Array part of the Javassist reflection implementation is broken
by Adrian Brock (JIRA)
Array part of the Javassist reflection implementation is broken
---------------------------------------------------------------
Key: JBMICROCONT-130
URL: http://jira.jboss.com/jira/browse/JBMICROCONT-130
Project: JBoss MicroContainer
Issue Type: Task
Components: BeanInfo
Affects Versions: JBossMC_2_0_0 Beta
Reporter: Adrian Brock
Javassist is returning wrong values for interfaces of arrays and modifiers of array classes.
These errors have been suppressed in org.jboss.test.classinfo.test.JavassistArrayUnitTestCase
by subclassling the tests to do nothing:
protected void assertInterfaces(Class<?> clazz, ClassInfo classInfo) throws Throwable
{
// TODO this is broken for javassist
}
protected void assertModifiers(Class<?> clazz, ClassInfo classInfo) throws Throwable
{
// TODO this is broken for javassist
}
This needs fixing in javassist
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
16 years, 1 month