[JBoss JIRA] (WFLY-6654) Optimize live/backup replication after failback
by Clebert Suconic (JIRA)
[ https://issues.jboss.org/browse/WFLY-6654?page=com.atlassian.jira.plugin.... ]
Clebert Suconic closed WFLY-6654.
---------------------------------
Resolution: Rejected
I wish it was this simple... I added a comment saying why it would be impossible/ difficult to do it.
You would need to find the deltas of what's needed, and even then it's impossible to guarantee it's coming from the same journal.
You would need to invest a lot into something not worthy the investment.
> Optimize live/backup replication after failback
> -----------------------------------------------
>
> Key: WFLY-6654
> URL: https://issues.jboss.org/browse/WFLY-6654
> Project: WildFly
> Issue Type: Enhancement
> Components: JMS
> Affects Versions: 10.0.0.Final
> Reporter: Miroslav Novak
> Assignee: Clebert Suconic
> Priority: Critical
>
> Currently if there is master/slave pair configured using replicated journal then after each failback when master is starting, it copies the whole journal directory from slave.
> This seems to ineffective as master might have significant part of backups journal before it failed.
> If only differences between journals would be transfered then it would be effective especially in case when failback is completed and master starts to synchronize the whole journal back to slave. It copies the whole journal to backup again which is almost the same. This would greatly speed up synchronization of slave and safe network bandwidth.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 8 months
[JBoss JIRA] (DROOLS-1193) MemoryUtil's static constructor call to ManagementFactory.getMemoryPoolMXBeans() fails on Google App Engine
by Geoffrey De Smet (JIRA)
[ https://issues.jboss.org/browse/DROOLS-1193?page=com.atlassian.jira.plugi... ]
Geoffrey De Smet edited comment on DROOLS-1193 at 5/26/16 10:23 AM:
--------------------------------------------------------------------
After discussion we saw 3 alternatives:
* A) Disable the feature (such as jitting constraints) if BeanManager isn't available on JDK 7 or lower - Accepted
* B) Pessmistically guess the permGenspace value - Rejected because it's unreliabe/unstable. It's also impossible to ask later on how much is left.
* C) Allow enabling/disabling each feature individually through configuration - Rejected because it's inferior to A): too much painfully hoops for a user to jump through.
How do we detect GAE (and Android etc) best? Still under debate:
http://stackoverflow.com/questions/37463518/how-to-detect-google-app-engi...
was (Author: ge0ffrey):
After discussion we saw 3 alternative:
* A) Disable the feature (such as jitting constraints) if BeanManager isn't available on JDK 7 or lower - Accepted
* B) Pessmistically guess the permGenspace value - Rejected because it's unreliabe/unstable. It's also impossible to ask later on how much is left.
* C) Allow enabling/disabling each feature individually through configuration - Rejected because it's inferior to A): too much painfully hoops for a user to jump through.
How do we detect GAE (and Android etc) best? Still under debate:
http://stackoverflow.com/questions/37463518/how-to-detect-google-app-engi...
> MemoryUtil's static constructor call to ManagementFactory.getMemoryPoolMXBeans() fails on Google App Engine
> -----------------------------------------------------------------------------------------------------------
>
> Key: DROOLS-1193
> URL: https://issues.jboss.org/browse/DROOLS-1193
> Project: Drools
> Issue Type: Bug
> Components: core engine
> Affects Versions: 6.4.0.Final
> Reporter: Geoffrey De Smet
> Assignee: Mario Fusco
>
> {code}
> [INFO] java.lang.NoClassDefFoundError: java.lang.management.ManagementFactory is a restricted class. Please see the Google App Engine developer's guide for more details.
> [INFO] at com.google.appengine.tools.development.agent.runtime.Runtime.reject(Runtime.java:52)
> [INFO] at org.drools.core.util.MemoryUtil.<clinit>(MemoryUtil.java:33)
> [INFO] at java.lang.Class.forName0(Native Method)
> [INFO] at java.lang.Class.forName(Class.java:195)
> [INFO] at com.google.appengine.tools.development.agent.runtime.RuntimeHelper.checkRestricted(RuntimeHelper.java:70)
> [INFO] at com.google.appengine.tools.development.agent.runtime.Runtime.checkRestricted(Runtime.java:65)
> [INFO] at org.drools.core.RuleBaseConfiguration.setPermGenThreshold(RuleBaseConfiguration.java:583)
> [INFO] at org.drools.core.RuleBaseConfiguration.init(RuleBaseConfiguration.java:451)
> [INFO] at org.drools.core.RuleBaseConfiguration.init(RuleBaseConfiguration.java:429)
> [INFO] at org.drools.core.RuleBaseConfiguration.<init>(RuleBaseConfiguration.java:278)
> [INFO] at org.drools.compiler.kie.builder.impl.KieServicesImpl.newKieBaseConfiguration(KieServicesImpl.java:185)
> {code}
> the problem is in this code:
> {code}
> static {
> if (!hasPermGen() || ClassUtils.isAndroid()) { // hasPermGen is true because GAE doesn't support java 8 yet
> permGenStats = new DummyMemoryStats();
> } else {
> MemoryPoolMXBean permGenBean = null;
> for (MemoryPoolMXBean mx : ManagementFactory.getMemoryPoolMXBeans()) { // <=== EXCEPTION
> if (mx.getName() != null && mx.getName().contains("Perm")) {
> permGenBean = mx;
> break;
> }
> }
> permGenStats = new MBeanMemoryStats(permGenBean);
> }
> }
> {code}
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 8 months
[JBoss JIRA] (DROOLS-1193) MemoryUtil's static constructor call to ManagementFactory.getMemoryPoolMXBeans() fails on Google App Engine
by Geoffrey De Smet (JIRA)
[ https://issues.jboss.org/browse/DROOLS-1193?page=com.atlassian.jira.plugi... ]
Geoffrey De Smet commented on DROOLS-1193:
------------------------------------------
After discussion we saw 3 alternative:
* A) Disable the feature (such as jitting constraints) if BeanManager isn't available on JDK 7 or lower - Accepted
* B) Pessmistically guess the permGenspace value - Rejected because it's unreliabe/unstable. It's also impossible to ask later on how much is left.
* C) Allow enabling/disabling each feature individually through configuration - Rejected because it's inferior to A): too much painfully hoops for a user to jump through.
How do we detect GAE (and Android etc) best? Still under debate:
http://stackoverflow.com/questions/37463518/how-to-detect-google-app-engi...
> MemoryUtil's static constructor call to ManagementFactory.getMemoryPoolMXBeans() fails on Google App Engine
> -----------------------------------------------------------------------------------------------------------
>
> Key: DROOLS-1193
> URL: https://issues.jboss.org/browse/DROOLS-1193
> Project: Drools
> Issue Type: Bug
> Components: core engine
> Affects Versions: 6.4.0.Final
> Reporter: Geoffrey De Smet
> Assignee: Mario Fusco
>
> {code}
> [INFO] java.lang.NoClassDefFoundError: java.lang.management.ManagementFactory is a restricted class. Please see the Google App Engine developer's guide for more details.
> [INFO] at com.google.appengine.tools.development.agent.runtime.Runtime.reject(Runtime.java:52)
> [INFO] at org.drools.core.util.MemoryUtil.<clinit>(MemoryUtil.java:33)
> [INFO] at java.lang.Class.forName0(Native Method)
> [INFO] at java.lang.Class.forName(Class.java:195)
> [INFO] at com.google.appengine.tools.development.agent.runtime.RuntimeHelper.checkRestricted(RuntimeHelper.java:70)
> [INFO] at com.google.appengine.tools.development.agent.runtime.Runtime.checkRestricted(Runtime.java:65)
> [INFO] at org.drools.core.RuleBaseConfiguration.setPermGenThreshold(RuleBaseConfiguration.java:583)
> [INFO] at org.drools.core.RuleBaseConfiguration.init(RuleBaseConfiguration.java:451)
> [INFO] at org.drools.core.RuleBaseConfiguration.init(RuleBaseConfiguration.java:429)
> [INFO] at org.drools.core.RuleBaseConfiguration.<init>(RuleBaseConfiguration.java:278)
> [INFO] at org.drools.compiler.kie.builder.impl.KieServicesImpl.newKieBaseConfiguration(KieServicesImpl.java:185)
> {code}
> the problem is in this code:
> {code}
> static {
> if (!hasPermGen() || ClassUtils.isAndroid()) { // hasPermGen is true because GAE doesn't support java 8 yet
> permGenStats = new DummyMemoryStats();
> } else {
> MemoryPoolMXBean permGenBean = null;
> for (MemoryPoolMXBean mx : ManagementFactory.getMemoryPoolMXBeans()) { // <=== EXCEPTION
> if (mx.getName() != null && mx.getName().contains("Perm")) {
> permGenBean = mx;
> break;
> }
> }
> permGenStats = new MBeanMemoryStats(permGenBean);
> }
> }
> {code}
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 8 months