Comments (7)
Does anyone know any way to update the KeyCloak cluster without losing all the sessions from 15.1.1 to a higher KeyCloak version? Have you figured it out?
Not me. I just down scaled my cluster, upgrade and restart all nodes. (it was acceptable for my use cases..)
from keycloak-containers.
What I understand from this issue is that Infinispan nodes from Keycloak 15 cannot coexist with the ones from Keycloak 16.
AFAIK keycloak does not support zero downtime upgrade yet.
It can be overcome by modifying the jgroups discovery policy.
For instance if you are using KUBE_PING protocol you can leverage Kubernetes labels to create a new Infinispan cluster along with the upgrade (see kube_ping discovery documentation).
That of course means all the data from the previous Infinispan cluster (e.g. the user sessions) will get lost with the upgrade.
from keycloak-containers.
I did such upgrade without any problems but to version 16.1.1 instead of 16.0.1. I had the same config you mentioned above regarding clustering. So maybe it is better to skip version 16.0.1.
from keycloak-containers.
I got the same error upgrading from 15.1.1 to 16.1.1
from keycloak-containers.
Does anyone know any way to update the KeyCloak cluster without losing all the sessions from 15.1.1 to a higher KeyCloak version? Have you figured it out?
from keycloak-containers.
Got the same kind of error upgrading from 17.0.1 to 18.0.2.
Workaround in kubernetes is to set replicas to 0 then set to previous scale again.
Log on a preexisting cluster member (17.0.1):
sso-keycloakx-0 keycloak 2022-07-03 17:27:03,869 ERROR [org.infinispan.CLUSTER] (jgroups-32,sso-keycloakx-0-46161) ISPN000474: Error processing request 5@sso-keycloakx-1-38522: java.io.EOFException
sso-keycloakx-0 keycloak at org.infinispan.marshall.core.AbstractBytesObjectInput.checkPosLength(AbstractBytesObjectInput.java:261)
sso-keycloakx-0 keycloak at org.infinispan.marshall.core.AbstractBytesObjectInput.readInt(AbstractBytesObjectInput.java:142)
sso-keycloakx-0 keycloak at org.infinispan.marshall.exts.ReplicableCommandExternalizer.readCommandParameters(ReplicableCommandExternalizer.java:119)
sso-keycloakx-0 keycloak at org.infinispan.marshall.exts.CacheRpcCommandExternalizer.readObject(CacheRpcCommandExternalizer.java:164)
sso-keycloakx-0 keycloak at org.infinispan.marshall.exts.CacheRpcCommandExternalizer.readObject(CacheRpcCommandExternalizer.java:86)
sso-keycloakx-0 keycloak at org.infinispan.marshall.core.GlobalMarshaller.readWithExternalizer(GlobalMarshaller.java:727)
sso-keycloakx-0 keycloak at org.infinispan.marshall.core.GlobalMarshaller.readNonNullableObject(GlobalMarshaller.java:708)
sso-keycloakx-0 keycloak at org.infinispan.marshall.core.GlobalMarshaller.readNullableObject(GlobalMarshaller.java:357)
sso-keycloakx-0 keycloak at org.infinispan.marshall.core.GlobalMarshaller.objectFromObjectInput(GlobalMarshaller.java:191)
sso-keycloakx-0 keycloak at org.infinispan.marshall.core.GlobalMarshaller.objectFromByteBuffer(GlobalMarshaller.java:220)
sso-keycloakx-0 keycloak at org.infinispan.remoting.transport.jgroups.JGroupsTransport.processRequest(JGroupsTransport.java:1440)
sso-keycloakx-0 keycloak at org.infinispan.remoting.transport.jgroups.JGroupsTransport.processMessage(JGroupsTransport.java:1380)
sso-keycloakx-0 keycloak at org.infinispan.remoting.transport.jgroups.JGroupsTransport.access$300(JGroupsTransport.java:138)
sso-keycloakx-0 keycloak at org.infinispan.remoting.transport.jgroups.JGroupsTransport$ChannelCallbacks.up(JGroupsTransport.java:1524)
sso-keycloakx-0 keycloak at org.jgroups.JChannel.up(JChannel.java:780)
sso-keycloakx-0 keycloak at org.jgroups.stack.ProtocolStack.up(ProtocolStack.java:913)
sso-keycloakx-0 keycloak at org.jgroups.protocols.FRAG3.up(FRAG3.java:165)
sso-keycloakx-0 keycloak at org.jgroups.protocols.FlowControl.up(FlowControl.java:355)
sso-keycloakx-0 keycloak at org.jgroups.protocols.FlowControl.up(FlowControl.java:363)
sso-keycloakx-0 keycloak at org.jgroups.protocols.pbcast.GMS.up(GMS.java:876)
sso-keycloakx-0 keycloak at org.jgroups.protocols.pbcast.STABLE.up(STABLE.java:254)
sso-keycloakx-0 keycloak at org.jgroups.protocols.UNICAST3.deliverMessage(UNICAST3.java:1048)
sso-keycloakx-0 keycloak at org.jgroups.protocols.UNICAST3.addMessage(UNICAST3.java:771)
sso-keycloakx-0 keycloak at org.jgroups.protocols.UNICAST3.handleDataReceived(UNICAST3.java:752)
sso-keycloakx-0 keycloak at org.jgroups.protocols.UNICAST3.up(UNICAST3.java:405)
sso-keycloakx-0 keycloak at org.jgroups.protocols.pbcast.NAKACK2.up(NAKACK2.java:592)
sso-keycloakx-0 keycloak at org.jgroups.protocols.VERIFY_SUSPECT.up(VERIFY_SUSPECT.java:132)
sso-keycloakx-0 keycloak at org.jgroups.protocols.FailureDetection.up(FailureDetection.java:186)
sso-keycloakx-0 keycloak at org.jgroups.protocols.FD_SOCK.up(FD_SOCK.java:254)
sso-keycloakx-0 keycloak at org.jgroups.protocols.MERGE3.up(MERGE3.java:281)
sso-keycloakx-0 keycloak at org.jgroups.protocols.Discovery.up(Discovery.java:300)
sso-keycloakx-0 keycloak at org.jgroups.protocols.TP.passMessageUp(TP.java:1400)
sso-keycloakx-0 keycloak at org.jgroups.util.SubmitToThreadPool$SingleMessageHandler.run(SubmitToThreadPool.java:98)
sso-keycloakx-0 keycloak at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
sso-keycloakx-0 keycloak at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
sso-keycloakx-0 keycloak at java.base/java.lang.Thread.run(Thread.java:829)
Log on the new (18.0.2) cluster member:
sso-keycloakx-1 keycloak 2022-07-03 17:27:03,948 WARN [org.infinispan.statetransfer.InboundTransferTask] (jgroups-6,sso-keycloakx-1-38522) ISPN000210: Failed to request state of cache authenticationSessions from node sso-keycloakx-0-46161, segments {0-255}: org.infinispan.commons.CacheException: ExceptionResponse(java.io.EOFException)
sso-keycloakx-1 keycloak at org.infinispan.statetransfer.InboundTransferTask.lambda$startTransfer$3(InboundTransferTask.java:167)
sso-keycloakx-1 keycloak at java.base/java.util.concurrent.CompletableFuture.uniHandle(CompletableFuture.java:930)
sso-keycloakx-1 keycloak at java.base/java.util.concurrent.CompletableFuture$UniHandle.tryFire(CompletableFuture.java:907)
sso-keycloakx-1 keycloak at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:506)
sso-keycloakx-1 keycloak at java.base/java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:2073)
sso-keycloakx-1 keycloak at org.infinispan.remoting.transport.AbstractRequest.complete(AbstractRequest.java:67)
sso-keycloakx-1 keycloak at org.infinispan.remoting.transport.impl.SingleTargetRequest.onResponse(SingleTargetRequest.java:46)
sso-keycloakx-1 keycloak at org.infinispan.remoting.transport.impl.RequestRepository.addResponse(RequestRepository.java:51)
sso-keycloakx-1 keycloak at org.infinispan.remoting.transport.jgroups.JGroupsTransport.processResponse(JGroupsTransport.java:1495)
sso-keycloakx-1 keycloak at org.infinispan.remoting.transport.jgroups.JGroupsTransport.processMessage(JGroupsTransport.java:1397)
sso-keycloakx-1 keycloak at org.infinispan.remoting.transport.jgroups.JGroupsTransport.access$300(JGroupsTransport.java:145)
sso-keycloakx-1 keycloak at org.infinispan.remoting.transport.jgroups.JGroupsTransport$ChannelCallbacks.up(JGroupsTransport.java:1582)
sso-keycloakx-1 keycloak at org.jgroups.JChannel.up(JChannel.java:780)
sso-keycloakx-1 keycloak at org.jgroups.stack.ProtocolStack.up(ProtocolStack.java:913)
sso-keycloakx-1 keycloak at org.jgroups.protocols.FRAG3.up(FRAG3.java:165)
sso-keycloakx-1 keycloak at org.jgroups.protocols.FlowControl.up(FlowControl.java:347)
sso-keycloakx-1 keycloak at org.jgroups.protocols.FlowControl.up(FlowControl.java:347)
sso-keycloakx-1 keycloak at org.jgroups.protocols.pbcast.GMS.up(GMS.java:876)
sso-keycloakx-1 keycloak at org.jgroups.protocols.pbcast.STABLE.up(STABLE.java:254)
sso-keycloakx-1 keycloak at org.jgroups.protocols.UNICAST3.deliverMessage(UNICAST3.java:1048)
sso-keycloakx-1 keycloak at org.jgroups.protocols.UNICAST3.addMessage(UNICAST3.java:771)
sso-keycloakx-1 keycloak at org.jgroups.protocols.UNICAST3.handleDataReceived(UNICAST3.java:752)
sso-keycloakx-1 keycloak at org.jgroups.protocols.UNICAST3.up(UNICAST3.java:405)
sso-keycloakx-1 keycloak at org.jgroups.protocols.pbcast.NAKACK2.up(NAKACK2.java:592)
sso-keycloakx-1 keycloak at org.jgroups.protocols.VERIFY_SUSPECT.up(VERIFY_SUSPECT.java:132)
sso-keycloakx-1 keycloak at org.jgroups.protocols.FailureDetection.up(FailureDetection.java:186)
sso-keycloakx-1 keycloak at org.jgroups.protocols.FD_SOCK.up(FD_SOCK.java:254)
sso-keycloakx-1 keycloak at org.jgroups.protocols.MERGE3.up(MERGE3.java:281)
sso-keycloakx-1 keycloak at org.jgroups.protocols.Discovery.up(Discovery.java:300)
sso-keycloakx-1 keycloak at org.jgroups.protocols.TP.passMessageUp(TP.java:1400)
sso-keycloakx-1 keycloak at org.jgroups.util.SubmitToThreadPool$SingleMessageHandler.run(SubmitToThreadPool.java:98)
sso-keycloakx-1 keycloak at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
sso-keycloakx-1 keycloak at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
sso-keycloakx-1 keycloak at java.base/java.lang.Thread.run(Thread.java:829)
from keycloak-containers.
With Keycloak 20 the WildFly based distribution is no longer supported. For the newer Quarkus distribution of Keycloak, check out the new documentation, or the updated container sources.
from keycloak-containers.
Related Issues (20)
- SSL_ERROR_RX_RECORD_TOO_LONG HOT 1
- Make more clear this is the deprecated repo HOT 1
- v17.0.1 and v18.0.0 are missing on hub.docker.com HOT 8
- Provide support for overwriting imported realms HOT 1
- base uri not available for proxy as a subfolder using traefik - Edited HOT 2
- X509_CA_BUNDLE for quarkus based image HOT 4
- Fix For Black Duck Security Risks HOT 1
- Manifest for jboss/keycloak:legacy not found: manifest unknown HOT 1
- Make arm64-builds available on dockerhub HOT 2
- Role/Group Names should display "Case Insensitive Name exists"
- tag 18.0.0 is not on any branches HOT 1
- forceBackendUrlToFrontendUrl HOT 3
- config version incompatibility between wizzn/keycloak:14 and jboss/keycloak:15.0.0 HOT 1
- /etc/x509/https in README is obsolete HOT 1
- Update MS SQL JDBC driver to 10.2.1
- Using older version on server Dockerfile breaks Keycloak release package download. HOT 1
- Wildfly Frontend URL issue HOT 1
- keycloak-init-container - "Extension downloaded successfully" with 0 bytes HOT 1
- Alternative DB_PORT or DB_NAME Mysql is not authorized by Keycloak HOT 1
- Expose administrative REST API & web console at separate port HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from keycloak-containers.