[JBoss JIRA] (DROOLS-4397) Make drools-model-compiler dialect agnostic
by Luca Molteni (Jira)
[ https://issues.jboss.org/browse/DROOLS-4397?page=com.atlassian.jira.plugi... ]
Luca Molteni commented on DROOLS-4397:
--------------------------------------
so just to re-iterate the goal. 1) we want to kill the MVEL dialect, to only have the Java dialect impl. 2) we need to rewrite all valid MVEL stateements and blocks to Java, so we can force a rule to java dialect. 3) this means all stateemnt rewitting (for valid java statements) is done at the dialect level, and not canonical model.
> Make drools-model-compiler dialect agnostic
> -------------------------------------------
>
> Key: DROOLS-4397
> URL: https://issues.jboss.org/browse/DROOLS-4397
> Project: Drools
> Issue Type: Task
> Components: executable model
> Reporter: Luca Molteni
> Assignee: Luca Molteni
> Priority: Major
>
> By preprocessing it with the mvel compiler before going into the drools-executable-model
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
6 years, 9 months
[JBoss JIRA] (DROOLS-4397) Make drools-model-compiler dialect agnostic
by Luca Molteni (Jira)
[ https://issues.jboss.org/browse/DROOLS-4397?page=com.atlassian.jira.plugi... ]
Luca Molteni commented on DROOLS-4397:
--------------------------------------
Braindump:
@Luca Molteni ok there?
look at AbstractASMConsequenceBuilder
we rewrite the java string here - String fixedConsequence = KnowledgeHelperFixer.fix( DialectUtil.fixBlockDescr(context, analysis, decls) );
but also see this line above - JavaAnalysisResult analysis = JavaRuleBuilderHelper.createJavaAnalysisResult(context, consequenceName, decls);
this does a full java parse, with antlr.
see JavaDialect.analyzeBlock
@Luca Molteni clearly this is pointless. we can parse with JavaParser once. keep the AST around.
in fact you have to reverse the order too.
so parse with JavaParser first. rewrite it to pure java. then get the analyser.
analyser just returns the variables. which javaparser can do for you.
but you can do this one step at a time. first just replace this line. String fixedConsequence = KnowledgeHelperFixer.fix( DialectUtil.fixBlockDescr(context, analysis, decls) );
> Make drools-model-compiler dialect agnostic
> -------------------------------------------
>
> Key: DROOLS-4397
> URL: https://issues.jboss.org/browse/DROOLS-4397
> Project: Drools
> Issue Type: Task
> Components: executable model
> Reporter: Luca Molteni
> Assignee: Luca Molteni
> Priority: Major
>
> By preprocessing it with the mvel compiler before going into the drools-executable-model
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
6 years, 9 months
[JBoss JIRA] (JGRP-2356) RpcDispatcher#callRemoteMethods does not work while calling MembershipListener#viewAccepted when using ForkChannel.
by Bela Ban (Jira)
[ https://issues.jboss.org/browse/JGRP-2356?page=com.atlassian.jira.plugin.... ]
Bela Ban commented on JGRP-2356:
--------------------------------
I cannot reproduce the issue; this works for me!
Looking at your log, this also works for *you*:
{noformat}
MessageDispatcher - dests=null, method_call=boeee(), options=mode=GET_ALL, timeout=0, anycasting=true, flags=OOB, responses: [IM9072-5099: received=true, suspected=false]
[INFO ] 2019-07-01 18:15:24.529 [main] JChannelRunner - viewAccepted:end
{noformat}, otherwise you wouldn't see {{viewAccepted:end}}, would you?
Having said that, it is still a bad idea to invoke a blocking RPC in a {{viewAccepted()}} callback!
> RpcDispatcher#callRemoteMethods does not work while calling MembershipListener#viewAccepted when using ForkChannel.
> -------------------------------------------------------------------------------------------------------------------
>
> Key: JGRP-2356
> URL: https://issues.jboss.org/browse/JGRP-2356
> Project: JGroups
> Issue Type: Bug
> Affects Versions: 4.1.0
> Environment: Java: jdk1.8.0_212
> OS: Windows 7 / Linux(ubuntu)
> Reporter: Ziro Tanaka
> Assignee: Bela Ban
> Priority: Major
> Fix For: 4.1.3
>
> Attachments: JChannelRunner.java, coordinator_log.txt, coordinator_threaddump.txt, joinner_log.txt
>
>
> Create RpcDispatcher that works with ForkChannel and set MembershipListener.
> If you make a synchronous call with RpcDispatcher in MembershipListener#viewAccepted, no response will be returned.
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
6 years, 9 months
[JBoss JIRA] (JGRP-2335) Code for determining the coordinator hangs in certain conditions
by Bela Ban (Jira)
[ https://issues.jboss.org/browse/JGRP-2335?page=com.atlassian.jira.plugin.... ]
Bela Ban updated JGRP-2335:
---------------------------
Fix Version/s: 4.1.3
(was: 4.1.2)
> Code for determining the coordinator hangs in certain conditions
> ----------------------------------------------------------------
>
> Key: JGRP-2335
> URL: https://issues.jboss.org/browse/JGRP-2335
> Project: JGroups
> Issue Type: Bug
> Reporter: Aieksiei Illarionov
> Assignee: Bela Ban
> Priority: Major
> Fix For: 4.1.3
>
>
> Affected version:
> {code:xml}
> <dependency>
> <groupId>org.jgroups</groupId>
> <artifactId>jgroups</artifactId>
> <version>4.0.0.Final</version>
> </dependency>
> {code}
> ClientGmsImpl#joinInternal hangs because #firstOfAllClients always returns false when all of the following conditions are satisfied:
> - using JDBC_PING for discovery protocol
> - JGROUPSPING table contains data from previous sessions
> - all of the previous sessions were killed (kill -9)
> - AddressGenerator is not customized
> The sorted set
> {code:java}
> SortedSet<Address> clients=new TreeSet<>();
> {code}
> contains the dead servers discovered from JGROUPSPING. When the new server is added to the sorted set, it never becomes the first in the sorted set.
> Suggestions: either
> a) somehow involve MembershipChangePolicy in ordering strategy, or
> b) make the new server (joiner) the first in the sorted set, or
> c) make UUID addresses to sort depending on their time of creation.
> I've used the following config:
> {code:xml}
> <!--
> TCP based stack, with flow control and message bundling. This is usually used when IP
> multicasting cannot be used in a network, e.g. because it is disabled (routers discard multicast).
> Note that TCP.bind_addr and TCPPING.initial_hosts should be set, possibly via system properties, e.g.
> -Djgroups.bind_addr=192.168.5.2 and -Djgroups.tcpping.initial_hosts=192.168.5.2[7800]
> author: Bela Ban
> -->
> <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xmlns="urn:org:jgroups"
> xmlns:fork="fork"
> xsi:schemaLocation="urn:org:jgroups http://www.jgroups.org/schema/jgroups.xsd fork http://www.jgroups.org/schema/fork-stacks.xsd">
> <TCP bind_port="7800"
> port_range="10"
> bind_addr="<placeholder here>"
> recv_buf_size="${tcp.recv_buf_size:130k}"
> send_buf_size="${tcp.send_buf_size:130k}"
> max_bundle_size="64K"
> sock_conn_timeout="300"
> thread_pool.min_threads="0"
> thread_pool.max_threads="20"
> thread_pool.keep_alive_time="30000"/>
> <JDBC_PING
> remove_all_data_on_view_change="true"
> connection_driver="com.microsoft.sqlserver.jdbc.SQLServerDriver"
> connection_url="jdbc:sqlserver://localhost:1433;databaseName=mydatabase"
> connection_username="user"
> connection_password="password"
> />
> <MERGE3 min_interval="10000"
> max_interval="30000"/>
> <FD_SOCK/>
> <FD timeout="3000" max_tries="3" />
> <VERIFY_SUSPECT timeout="1500" />
> <BARRIER />
> <pbcast.NAKACK2 use_mcast_xmit="false"
> discard_delivered_msgs="true"/>
> <UNICAST3
> conn_close_timeout="240000"
> xmit_interval="5000"/>
> <pbcast.STABLE desired_avg_gossip="50000"
> max_bytes="4M"/>
> <pbcast.GMS print_local_addr="true" join_timeout="2000"
> view_bundling="true"
> membership_change_policy="ru.illar.AppMembershipChangePolicy"/>
> <MFC max_credits="2M"
> min_threshold="0.4"/>
> <FRAG2 frag_size="60K" />
> <!--RSVP resend_interval="2000" timeout="10000"/-->
> <pbcast.STATE_TRANSFER/>
> </config>
> {code}
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
6 years, 9 months