[JBoss JIRA] (ISPN-7550) Remove TriangleAckInterceptor
by Pedro Ruivo (JIRA)
Pedro Ruivo created ISPN-7550:
---------------------------------
Summary: Remove TriangleAckInterceptor
Key: ISPN-7550
URL: https://issues.jboss.org/browse/ISPN-7550
Project: Infinispan
Issue Type: Bug
Components: Core
Reporter: Pedro Ruivo
Assignee: Pedro Ruivo
Fix For: 9.0.0.Final
{{TriangleAckInterceptor}} has 2 main goals
1. sends the from backup/primary to originator
2. in originator, waits for the acks
... and has 2 issues:
1. if an exception occurs before it, the ack will not be sent!
2. waiting for the acks here will add more complexity to the following interceptor if they need the operation outcome.
So, by removing the interceptor will have:
1. acks are sent in inbound handler (where the replies are sent too)
2. waiting for ack will happen on {{TriangleDistributionInterceptor}}.
Other changes:
* before sending the ack, notify the {{TriangleOrderManager}} that the next command can proceed.
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
8 years
[JBoss JIRA] (ISPN-7549) Cluster resize helper API
by Gustavo Fernandes (JIRA)
[ https://issues.jboss.org/browse/ISPN-7549?page=com.atlassian.jira.plugin.... ]
Gustavo Fernandes updated ISPN-7549:
------------------------------------
Description:
Given a topology we should be able to calculate a subset of nodes that can be safely removed from the cluster without incurring data loss; those nodes should not include both a primary owner and all replicas for any segment.
This API can be used as an aid for cloud environments when doing scale down operation, and also for non-cloud environments in order to kill the right nodes.
was:
Given a topology we should be able to calculate a subset of nodes that can be safely removed from the cluster without incurring data loss; those nodes should not include both a primary owner and all replicas.
This API can be used as an aid for cloud environments when doing scale down operation, and also for non-cloud environments in order to kill the right nodes.
> Cluster resize helper API
> -------------------------
>
> Key: ISPN-7549
> URL: https://issues.jboss.org/browse/ISPN-7549
> Project: Infinispan
> Issue Type: Enhancement
> Components: Cloud Integrations, Core
> Reporter: Gustavo Fernandes
>
> Given a topology we should be able to calculate a subset of nodes that can be safely removed from the cluster without incurring data loss; those nodes should not include both a primary owner and all replicas for any segment.
> This API can be used as an aid for cloud environments when doing scale down operation, and also for non-cloud environments in order to kill the right nodes.
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
8 years
[JBoss JIRA] (ISPN-7488) Node tries to register component after stopping
by Ryan Emerson (JIRA)
[ https://issues.jboss.org/browse/ISPN-7488?page=com.atlassian.jira.plugin.... ]
Ryan Emerson resolved ISPN-7488.
--------------------------------
Fix Version/s: 9.0.0.Final
Resolution: Done
> Node tries to register component after stopping
> -----------------------------------------------
>
> Key: ISPN-7488
> URL: https://issues.jboss.org/browse/ISPN-7488
> Project: Infinispan
> Issue Type: Bug
> Components: Cloud Integrations, Core, Server
> Affects Versions: 9.0.0.Beta2
> Environment: * OpenShift {{v1.5.0-alpha.2+e4b43ee}}
> * Custom Infinispan Server build (based on [these instructions|https://github.com/slaskawi/infinispan-1/tree/custom_image]). SHA1 {{2b0731b21649a88a75ed71d21b9cc06ba365e947}}
> Reporter: Sebastian Łaskawiec
> Assignee: Sebastian Łaskawiec
> Priority: Blocker
> Fix For: 9.0.0.Final
>
>
> When I was performing [Spring Session and Kubernetes Rolling Update demo|https://bluejeans.com/s/pYKUg/] I encountered a couple of problems.
> One of the is this:
> {noformat}
> [transactions-repository-1-4z05w] 18:09:06,122 WARN [org.infinispan.remoting.inboundhandler.GlobalInboundInvocationHandler] (remote-thread--p2-t5) ISPN000071: Caught exception when handling command CacheTopologyControlCommand{cache=___script_cache, type=REBALANCE_CONFIRM, sender=transactions-repository-1-1f8dx, joinInfo=null, topologyId=9, rebalanceId=0, currentCH=null, pendingCH=null, availabilityMode=null, actualMembers=null, throwable=null, viewId=4}: org.infinispan.commons.CacheConfigurationException: Unable to configure component (type: class org.infinispan.topology.CacheTopologyControlCommand, instance CacheTopologyControlCommand{cache=___script_cache, type=REBALANCE_CONFIRM, sender=transactions-repository-1-1f8dx, joinInfo=null, topologyId=9, rebalanceId=0, currentCH=null, pendingCH=null, availabilityMode=null, actualMembers=null, throwable=null, viewId=4})
> [transactions-repository-1-4z05w] at org.infinispan.factories.AbstractComponentRegistry.wireDependencies(AbstractComponentRegistry.java:152)
> [transactions-repository-1-4z05w] at org.infinispan.remoting.inboundhandler.GlobalInboundInvocationHandler$2.run(GlobalInboundInvocationHandler.java:160)
> [transactions-repository-1-4z05w] at org.infinispan.util.concurrent.BlockingTaskAwareExecutorServiceImpl$RunnableWrapper.run(BlockingTaskAwareExecutorServiceImpl.java:203)
> [transactions-repository-1-4z05w] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> [transactions-repository-1-4z05w] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> [transactions-repository-1-4z05w] at java.lang.Thread.run(Thread.java:745)
> [transactions-repository-1-4z05w] Caused by: org.infinispan.IllegalLifecycleStateException: Trying to register a component after stopping: org.infinispan.topology.LocalTopologyManagerFactory
> [transactions-repository-1-4z05w] at org.infinispan.factories.AbstractComponentRegistry.registerComponentInternal(AbstractComponentRegistry.java:185)
> [transactions-repository-1-4z05w] at org.infinispan.factories.AbstractComponentRegistry.registerComponent(AbstractComponentRegistry.java:172)
> [transactions-repository-1-4z05w] at org.infinispan.factories.AbstractComponentRegistry.registerComponent(AbstractComponentRegistry.java:168)
> [transactions-repository-1-4z05w] at org.infinispan.factories.AbstractComponentRegistry.createComponentFactoryInternal(AbstractComponentRegistry.java:349)
> [transactions-repository-1-4z05w] at org.infinispan.factories.AbstractComponentRegistry.getFactory(AbstractComponentRegistry.java:328)
> [transactions-repository-1-4z05w] at org.infinispan.factories.AbstractComponentRegistry.getOrCreateComponent(AbstractComponentRegistry.java:294)
> [transactions-repository-1-4z05w] at org.infinispan.factories.AbstractComponentRegistry.invokeInjectionMethod(AbstractComponentRegistry.java:247)
> [transactions-repository-1-4z05w] at org.infinispan.factories.AbstractComponentRegistry.wireDependencies(AbstractComponentRegistry.java:148)
> [transactions-repository-1-4z05w] ... 5 more
> {noformat}
> Full logs from Rolling Update process might be found here: https://gist.github.com/slaskawi/530241bb695f1f490bcb25eabaf9d676
> Steps to reproduce:
> * Start local OpenShift Cluster
> * invoke `./init_infrastructure.sh` from https://github.com/slaskawi/presentations/tree/ISPN-7487-reproducer
> * invoke `cd transaction-creator && mvn fabric8:run`
> * Do the rolling update: `oc deploy transactions-repository --latest -n myproject`
> * Observe logs `kubetail -l environment=infrastructure`
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
8 years
[JBoss JIRA] (ISPN-6673) Implement Rolling Upgrades with Kubernetes
by Gustavo Fernandes (JIRA)
[ https://issues.jboss.org/browse/ISPN-6673?page=com.atlassian.jira.plugin.... ]
Gustavo Fernandes updated ISPN-6673:
------------------------------------
Status: Resolved (was: Pull Request Sent)
Resolution: Done
> Implement Rolling Upgrades with Kubernetes
> ------------------------------------------
>
> Key: ISPN-6673
> URL: https://issues.jboss.org/browse/ISPN-6673
> Project: Infinispan
> Issue Type: Feature Request
> Components: Cloud Integrations
> Reporter: Sebastian Łaskawiec
> Assignee: Sebastian Łaskawiec
> Priority: Blocker
>
> There are 2 mechanisms which seems to do the same but are totally different:
> * [Kubernetes Rolling Update|http://kubernetes.io/docs/user-guide/rolling-updates/] - replaces Pods in controllable fashon
> * [Infinispan Rolling Updgrate|http://infinispan.org/docs/stable/user_guide/user_guide.html#_Ro...] - a procedure for upgrading Infinispan or changing the configuration
> Kubernetes Rolling Updates can be used very easily for changing the configuration however if changes are not runtime-compatible, one might loss data. Potential way to avoid this is to use a Cache Store. All other changes must be propagated using Infinispan Rolling Upgrade procedure.
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
8 years
[JBoss JIRA] (ISPN-7549) Cluster resize helper API
by Gustavo Fernandes (JIRA)
[ https://issues.jboss.org/browse/ISPN-7549?page=com.atlassian.jira.plugin.... ]
Gustavo Fernandes updated ISPN-7549:
------------------------------------
Description:
Given a topology we should be able to calculate a subset of nodes that can be safely removed from the cluster without incurring data loss; those nodes should not include both a primary owner and all replicas.
This API can be used as an aid for cloud environments when doing scale down operation, and also for non-cloud environments in order to kill the right nodes.
was:
Given a topology we should be able to calculate a subset of nodes that can be safely removed from the cluster without incurring data loss; those nodes should not include both a primary owner and a replica.
This API can be used as an aid for cloud environments when doing scale down operation, and also for non-cloud environments in order to kill the right nodes.
> Cluster resize helper API
> -------------------------
>
> Key: ISPN-7549
> URL: https://issues.jboss.org/browse/ISPN-7549
> Project: Infinispan
> Issue Type: Enhancement
> Components: Cloud Integrations, Core
> Reporter: Gustavo Fernandes
>
> Given a topology we should be able to calculate a subset of nodes that can be safely removed from the cluster without incurring data loss; those nodes should not include both a primary owner and all replicas.
> This API can be used as an aid for cloud environments when doing scale down operation, and also for non-cloud environments in order to kill the right nodes.
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
8 years