From 436b00326e22dbbe62dacd2065d6c1c9f6294e94 Mon Sep 17 00:00:00 2001 From: Matthew Helmke Date: Mon, 27 Nov 2017 17:24:56 -0600 Subject: [PATCH] KEYCLOAK-4188 Documentation for Cross DC --- .../keycloak-images/cross-dc-architecture.png | Bin 0 -> 92039 bytes .../rhsso-images/cross-dc-architecture.png | Bin 0 -> 90276 bytes server_installation/topics.adoc | 1 + .../topics/operating-mode/crossdc.adoc | 733 ++++++++++++++++++ tests/src/test/resources/ignored-links | 10 +- .../document-attributes-community.adoc | 21 + .../document-attributes-product.adoc | 21 + 7 files changed, 781 insertions(+), 5 deletions(-) create mode 100644 server_installation/keycloak-images/cross-dc-architecture.png create mode 100644 server_installation/rhsso-images/cross-dc-architecture.png create mode 100644 server_installation/topics/operating-mode/crossdc.adoc diff --git a/server_installation/keycloak-images/cross-dc-architecture.png b/server_installation/keycloak-images/cross-dc-architecture.png new file mode 100644 index 0000000000000000000000000000000000000000..16fc09c221d33ca136978b9b7d958175282b4be3 GIT binary patch literal 92039 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

4dlwB0Y|U9w3!-dGeA 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 literal 0 HcmV?d00001 diff --git a/server_installation/rhsso-images/cross-dc-architecture.png b/server_installation/rhsso-images/cross-dc-architecture.png new file mode 100644 index 0000000000000000000000000000000000000000..871c2118c10cd6b3d8d296810aedb3f365772ab2 GIT binary patch literal 90276 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

BSSW;S#mm=ohi*U^Mp>i`WauNT3`8jF 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 z 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ξSMz0MTKGVQa!chG)-YzJ}w2 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 w$%u2D972RZt8$5iUz@lbuRKorwXS4@zw05 + + + +``` ++ +.. Add a `relay` element to the end of the `udp` stack. We will configure it in a way that our site is `site1` and the other site, where we will backup, is `site2`: ++ +```xml + + ... + + + false + + +``` ++ +.. Configure the `tcp` stack to use `TCPPING` protocol instead of `MPING`. Remove the `MPING` element and replace it with the `TCPPING`. The `initial_hosts` element points to the hosts `jdg1` and `jdg2`: ++ +```xml + + + + jdg1[7600],jdg2[7600] + false + + + ... + +``` +NOTE: This is just an example setup to have things quickly running. In production, you are not required to use `tcp` stack for the JGroups `RELAY2`, but you can configure any other stack. For example, you could use the UDP protocol, if the network between your data centers is able to support multicast. Similarly, you are not required to use `TCPPING` as discovery protocol. And in production, you probably won't use `TCPPING` due it's static nature. Finally, site names are also configurable. +Details of this more-detailed setup are out-of-scope of the {project_name} documentation. See the JDG documentation and JGroups documentation for more details. + ++ + +. Add this into `JDG1_HOME/standalone/configuration/clustered.xml` under cache-container named `clustered`: ++ +```xml + + ... + + + + + + + + + + + + + + + + + + + +``` +NOTE: Details about the configuration options inside `replicated-cache-configuration` are explained in link:tuningcache[Tuning the JDG Cache Configuration], which includes information about tweaking some of those options. + ++ + +. Copy the server into the second location, which will be referred to later as `JDG2_HOME`. + +. In the `JDG2_HOME/standalone/configuration/clustered.xml` exchange `site1` with `site2` and viceversa in the configuration of `relay` in the JGroups subsystem and in configuration of `backups` in the cache-subsystem. For example: +.. The `relay` element should look like this: ++ +```xml + + + +``` ++ + +.. The `backups` element like this: ++ +```xml + + _jdg1:site1 +site2 --> _jdg2:site2 +``` +When you use the MBean `jgroups:type=protocol,cluster="cluster",protocol=GMS`, you should see that the attribute member contains just single member: +.. On `JDG1` it should be like this: ++ +``` +(1) jdg1 +``` ++ +.. And on JDG2 like this: ++ +``` +(1) jdg2 +``` ++ +NOTE: In production, you can have more JDG servers in every data center. You just need to ensure that JDG servers in same data center are using the same multicast address (In other words, the same `jboss.default.multicast.address` during startup). Then in jconsole in `GMS` protocol view, you will see all the members of current cluster. + + +[[serversetup]] +==== {project_name} servers setup + +. Unzip {project_name} server distribution to a location you choose. It will be referred to later as `NODE11`. + +. Configure a shared database for KeycloakDS datasource. It is recommended to use MySQL or MariaDB for testing purposes. See link:database[the Database section] for more details. ++ +In production you will likely need to have a separate database server in every data center and both database servers should be synchronously replicated to each other. In the example setup, we just use a single database and connect all 4 {project_name} servers to it. ++ +. Edit `NODE11/standalone/configuration/standalone-ha.xml` : + +.. Add the attribute `site` to the JGroups UDP protocol: ++ +```xml + + +``` ++ + +.. Add this `module` attribute under `cache-container` element of name `keycloak` : ++ +```xml + +``` ++ + +.. Add the `remote-store` under `work` cache: ++ +```xml + + + true + org.keycloak.cluster.infinispan.KeycloakHotRodMarshallerFactory + + +``` ++ + +.. Add the `remote-store` like this under `sessions` cache: ++ +```xml + + + true + org.keycloak.cluster.infinispan.KeycloakHotRodMarshallerFactory + + +``` ++ + +.. Do the same for `offlineSessions`, `clientSessions`, `offlineClientSessions`, `loginFailures`, and `actionTokens` caches (the only difference from `sessions` cache is that `cache` property value are different): ++ +```xml + + + true + org.keycloak.cluster.infinispan.KeycloakHotRodMarshallerFactory + + + + + + true + org.keycloak.cluster.infinispan.KeycloakHotRodMarshallerFactory + + + + + + true + org.keycloak.cluster.infinispan.KeycloakHotRodMarshallerFactory + + + + + + true + org.keycloak.cluster.infinispan.KeycloakHotRodMarshallerFactory + + + + + + + + true + org.keycloak.cluster.infinispan.KeycloakHotRodMarshallerFactory + + +``` ++ + +.. Add outbound socket binding for the remote store into `socket-binding-group` element configuration: ++ +```xml + + + +``` ++ + +.. The configuration of distributed cache `authenticationSessions` and other caches is left unchanged. + +.. Optionally enable DEBUG logging under the `logging` subsystem: ++ +```xml + + + + + + + + + + + + +``` ++ + +. Copy the `NODE11` to 3 other directories referred later as `NODE12`, `NODE21` and `NODE22`. + +. Start `NODE11` : ++ +``` +cd NODE11/bin +./standalone.sh -c standalone-ha.xml -Djboss.node.name=node11 -Djboss.site.name=site1 \ +-Djboss.default.multicast.address=234.56.78.1 -Dremote.cache.host=jdg1 -Djava.net.preferIPv4Stack=true +``` ++ + +. Start `NODE12` : ++ +```` +cd NODE12/bin +./standalone.sh -c standalone-ha.xml -Djboss.node.name=node12 -Djboss.site.name=site1 \ +-Djboss.default.multicast.address=234.56.78.1 -Dremote.cache.host=jdg1 -Djava.net.preferIPv4Stack=true +```` ++ +The cluster nodes should be connected. Something like this should be in the log of both NODE11 and NODE12: ++ +``` +Received new cluster view for channel keycloak: [node11|1] (2) [node11, node12] +``` +NOTE: The channel name in the log might be different. + +. Start `NODE21` : ++ +``` +cd NODE21/bin +./standalone.sh -c standalone-ha.xml -Djboss.node.name=node21 -Djboss.site.name=site2 \ +-Djboss.default.multicast.address=234.56.78.2 -Dremote.cache.host=jdg2 -Djava.net.preferIPv4Stack=true +``` ++ +It shouldn't be connected to the cluster with `NODE11` and `NODE12`, but to separate one: ++ +``` +Received new cluster view for channel keycloak: [node21|0] (1) [node21] +``` ++ + +. Start `NODE22` : ++ +``` +cd NODE22/bin +./standalone.sh -c standalone-ha.xml -Djboss.node.name=node22 -Djboss.site.name=site2 \ +-Djboss.default.multicast.address=234.56.78.2 -Dremote.cache.host=jdg2 -Djava.net.preferIPv4Stack=true +``` ++ +It should be in cluster with `NODE21` : ++ +``` +Received new cluster view for channel keycloak: [node21|1] (2) [node21, node22] +``` ++ + +NOTE: The channel name in the log might be different. + +. Test: + +.. Go to `http://node11:8080/auth/` and create the initial admin user. + +.. Go to `http://node11:8080/auth/admin` and login as admin to admin console. + +.. Open a second browser and go to any of nodes `http://node12:8080/auth/admin` or `http://node21:8080/auth/admin` or `http://node22:8080/auth/admin`. After login, you should be able to see +the same sessions in tab `Sessions` of particular user, client or realm on all 4 servers. + +.. After doing any change in Keycloak admin console (eg. update some user or some realm), the update +should be immediately visible on any of 4 nodes as caches should be properly invalidated everywhere. + +.. Check server.logs if needed. After login or logout, the message like this should be on all the nodes `NODEXY/standalone/log/server.log` : ++ +``` +2017-08-25 17:35:17,737 DEBUG [org.keycloak.models.sessions.infinispan.remotestore.RemoteCacheSessionListener] (Client-Listener-sessions-30012a77422542f5) Received event from remote store. +Event 'CLIENT_CACHE_ENTRY_REMOVED', key '193489e7-e2bc-4069-afe8-f1dfa73084ea', skip 'false' +``` ++ + + +[[administration]] +==== Administration of Cross DC deployment + +This section contains some tips and options related to Cross-Datacenter Replication. + +* When you run the {project_name} server inside a data center, it is required that the database referenced in `KeycloakDS` datasource is already running and available in that data center. It is also necessary that the JDG server referenced by the `outbound-socket-binding`, which is referenced from the Infinispan cache `remote-store` element, is already running. Otherwise the {project_name} server will fail to start. + +* Every data center can have more database nodes if you want to support database failover and better reliability. Refer to the documentation of your database and JDBC driver for the details how to set this up on the database side and how the `KeycloakDS` datasource on Keycloak side needs to be configured. + +* Every datacenter can have more JDG servers running in the cluster. This is useful if you want some failover and better fault tolerance. The HotRod protocol used for communication between JDG servers and {project_name} servers has a feature that JDG servers will automatically send new topology to the {project_name} servers about the change in the JDG cluster, so the remote store on {project_name} side will know to which JDG servers it can connect. Read the JDG/Infinispan and Wildfly documentation for more details. + +* It is highly recommended that a master JDG server is running in every site before the {project_name} servers in **any** site are started. As in our example, we started both `jdg1` and `jdg2` first, before all {project_name} servers. If you still need to run the {project_name} server and the backup site is offline, it is recommended to manually switch the backup site offline on the JDG servers on your site, as described in link:onoffline[Bringing sites offline and online]. If you do not manually switch the unavailable site offline, the first startup may fail or they may be some exceptions during startup until the backup site is taken offline automatically due the configured count of failed operations. + + +[[onoffline]] +==== Bringing sites offline and online + +For example, assume this scenario: + +. Site `site2` is entirely offline from the `site1` perspective. This means that all JDG servers on `site2` are off *or* the network between `site1` and `site2` is broken. +. You run {project_name} servers and JDG server `jdg1` in site `site1` +. Someone logs in on a {project_name} server on `site1`. +. The {project_name} server from `site1` will try to write the session to the remote cache on `jdg1` server, which is supposed to backup data to the `jdg2` server in the `site2`. See link:communication[Communication details] for more information. +. Server `jdg2` is offline or unreachable from `jdg1`. So the backup from `jdg1` to `jdg2` will fail. +. The exception is thrown in `jdg1` log and the failure will be propagated from `jdg1` server to {project_name} servers as well because the default `FAIL` backup failure policy is configured. See link:backupfailure[Backup failure policy] for details around the backup policies. +. The error will happen on {project_name} side too and user may not be able to finish his login. + +According to your environment, it may be more or less probable that the network between sites is unavailable or temporarily broken (split-brain). In case this happens, it is good that JDG servers on `site1` are aware of the fact that JDG servers on `site2` are unavailable, so they will stop trying to reach the servers in the `jdg2` site and the backup failures won't happen. This is called `Take site offline` . + +.Take site offline + +There are 2 ways to take the site offline. + +**Manually by admin** - Admin can use the `jconsole` or other tool and run some JMX operations to manually take the particular site offline. +This is useful especially if the outage is planned. With `jconsole` or CLI, you can connect to the `jdg1` server and take the `site2` offline. +More details about this are available in the link:https://access.redhat.com/documentation/en-us/red_hat_jboss_data_grid/7.1/html/administration_and_configuration_guide/set_up_cross_datacenter_replication#taking_a_site_offline[JDG documentation]. + +WARNING: This has turned off the backup to `site2` for the cache `sessions`. The same steps usually need to be done for all the other {project_name} caches mentioned in link:backups[SYNC or ASYNC backups]. + +**Automatically** - After some amount of failed backups, the `site2` will usually be taken offline automatically. This is done due the configuration of `take-offline` element inside the cache configuration as configured in link:jdgsetup[JDG server setup]. + +``` + +``` + +This example shows that the site will be taken offline automatically for the particular single cache if there are at least 3 subsequent failed backups and there is no any successful backup within 60 seconds. + +Automatically taking a site offline is useful especially if the broken network between sites is unplanned. The disadvantage is that there will be some failed backups until the network outage is detected, which could also mean failures on the application side. +For example, there will be failed logins for some users or big login timeouts. Especially if `failure-policy` with value `FAIL` is used. + +WARNING: The tracking of whether a site is offline is tracked separately for every cache. + + +.Take site online + +Once your network is back and `site1` and `site2` can talk to each other, you may need to put the site online. This needs to be done manually through JMX or CLI in similar way as taking a site offline. +Again, you may need to check all the caches and bring them online. + +Once the sites are put online, it's usually good to: + +* Do the link:statetransfer[state transfer]. +* Manually link:clearcache[clear the Keycloak caches]. + + +[[statetransfer]] +==== State transfer + +State transfer is a required, manual step. {jdgserver_name} does not do this automatically, for example during split-brain, it is only the admin who may decide which site has preference and hence if state transfer needs to be done bidirectionally between both sites or just unidirectionally, as in only from `site1` to `site2`, but not from `site2` to `site1`. + +A bidirectional state transfer will ensure that entities which were created *after* split-brain on `site1` will be transferred to `site2`. This is not an issue as they do not yet exist on `site2`. Similarly, entities created *after* split-brain on `site2` will be transferred to `site1`. Possibly problematic parts are those entities which exist *before* split-brain on both sites and which were updated during split-brain on both sites. When this happens, one of the sites will *win* and will overwrite the updates done during split-brain by the second site. + +Unfortunately, there is no any universal solution to this. Split-brains and network outages are just state, which is usually impossible to be handled 100% correctly with 100% consistent data between sites. In the case of {project_name}, it typically is not a critical issue. In the worst case, users will need to re-login again to their clients, or have the improper count of loginFailures tracked for brute force protection. See the JDG/JGroups/Infinispan documentation for more tips how to deal with split-brain. + +The state transfer can be also done on the {jdgserver_name} side through JMX. The operation name is `pushState`. There are few other operations to monitor status, cancel push state, and so on. +More info about state transfer is available in the link:https://access.redhat.com/documentation/en-us/red_hat_jboss_data_grid/7.1/html/administration_and_configuration_guide/set_up_cross_datacenter_replication#state_transfer_between_sites[{jdgserver_name} docs]. + + +[[clearcache]] +==== Clear caches + +After split-brain it is safe to manually clear caches in the {project_name} admin console. This is because there might be some data changed in the database on `site1` and because of the event, that the cache should be invalidated wasn't transferred during split-brain to `site2`. Hence {project_name} nodes on `site2` may still have some stale data in their caches. + +To clear the caches, see {adminguide_clearcache_link}[{adminguide_clearcache_name}]. + +When the network is back, it is sufficient to clear the cache just on one {project_name} node on any random site. The cache invalidation event will be sent to all the other {project_name} nodes in all sites. However, it needs to be done for all the caches (realms, users, keys). See link:{adminguide_clearcache_link}[{adminguide_clearcache_name}] for more information. + + +[[tuningcache]] +==== Tuning the JDG cache configuration + +This section contains tips and options for configuring your JDG cache. + +[[backupfailure]] +.Backup failure policy + +By default, the configuration of backup `failure-policy` in the Infinispan cache configuration in the JDG `clustered.xml` file is configured as `FAIL`. You may change it to `WARN` or `IGNORE`, as you prefer. + +The difference between `FAIL` and `WARN` is that when `FAIL` is used and the {jdgserver_name} server tries to back data up to the other site and the backup fails then the failure will be propagated back to the caller (the {project_name} server). The backup might fail because the second site is temporarily unreachable or there is a concurrent transaction which is trying to update same entity. In this case, the {project_name} server will then retry the operation a few times. However, if the retry fails, then the user might see the error after a longer timeout. + +When using `WARN`, the failed backups are not propagated from the {jdgserver_name} server to the {project_name} server. The user won't see the error and the failed backup will be just ignored. There will be a shorter timeout, typically 10 seconds as that's the default timeout for backup. It can be changed by the attribute `timeout` of `backup` element. There won't be retries. There will just be a WARNING message in the {jdgserver_name} server log. + +The potential issue is, that in some cases, there may be just some a short network outage between sites, where the retry (usage of the `FAIL` policy) may help, so with `WARN` (without retry), there will be some data inconsistencies across sites. This can also happen if there is an attempt to update the same entity concurrently on both sites. + +How bad are these inconsistencies? Usually only means that a user will need to re-authenticate. + +When using the `WARN` policy, it may happen that the single-use cache, which is provided by the `actionTokens` cache and which handles that particular key is really single use, but may "successfully" write the same key twice. But, for example, the OAuth2 specification link:https://tools.ietf.org/html/rfc6749#section-10.5[mentions] that code must be single-use. With the `WARN` policy, this may not be strictly guaranteed and the same code could be written twice if there is an attempt to write it concurrently in both sites. + +If there is a longer network outage or split-brain, then with both `FAIL` and `WARN`, the other site will be taken offline after some time and failures as described in link:onoffline[taking a site off and online]. With the default 1 minute timeout, it is usually 1-3 minutes until all the involved caches are taken offline. After that, all the operations will work fine from an end user perspective. +You only need to manually restore the site when it is back online as mentioned in link:onoffline[taking a site off and online]. + +In summary, if you expect frequent, longer outages between sites and it is acceptable for you to have some data inconsistencies and a not 100% accurate single-use cache, but you never want end-users to see the errors and long timeouts, then switch to `WARN`. + +The difference between `WARN` and `IGNORE` is, that with `IGNORE` warnings are not written in the JDG log. See more details in the Infinispan documentation. + + +.Lock acquisition timeout + +The default configuration is using transaction in NON_DURABLE_XA mode with acquire timeout 0. This means that transaction will fail-fast if there is another transaction in progress for the same key. + +The reason to switch this to 0 instead of default 10 seconds was to avoid possible deadlock issues. With {project_name}, it can happen that the same entity (typically session entity or loginFailure) is updated concurrently from both sites. This can cause deadlock under some circumstances, which will cause the transaction to be blocked for 10 seconds. See link:https://issues.jboss.org/browse/JDG-1318[this JIRA report] for details. + +With timeout 0, the transaction will immediately fail and then will be retried from {project_name} if backup `failure-policy` with the value `FAIL` is configured. As long as the second concurrent transaction is finished, the retry will usually be successful and the entity will have applied updates from both concurrent transactions. + +We see very good consistency and results for concurrent transaction with this configuration, and it is recommended to keep it. + +The only (non-functional) problem is the exception in the {jdgserver_name} log, which happens every time when the lock is not immediately available. + + +[[backups]] +==== SYNC or ASYNC backups + +An important part of the `backup` element is the `strategy` attribute. You must decide whether it needs to be `SYNC` or `ASYNC`. We have 7 caches which might be Cross-Datacenter Replication aware, and these can be configured in 3 different modes regarding cross-dc: + +. SYNC backup +. ASYNC backup +. No backup at all + +If the `SYNC` backup is used, then the backup is synchronous and operation is considered finished on the caller ({project_name} server) side once the backup is processed on the second site. This has worse performance than `ASYNC`, but on the other hand, you are sure that subsequent reads of the particular entity, such as user session, on `site2` will see the updates from `site1`. Also, it is needed if you want data consistency. As with `ASYNC` the caller is not notified at all if backup to the other site failed. + +For some caches, it is even possible to not backup at all and completely skip writing data to the JDG server. To set this up, do not use the `remote-store` element for the particular cache on the {project_name} side (file `KEYCLOAK_HOME/standalone/configuration/standalone-ha.xml`) and then the particular `replicated-cache` element is also not needed on the JDG side. + +By default, all 7 caches are configured with `SYNC` backup, which is the safest option. Here are a few things to consider: + +* If you are using active/passive mode (all {project_name} servers are in single site `site1` and the JDG server in `site2` is used purely as backup. More details [here](#modes)), then it is usually fine to use `ASYNC` strategy for all the caches to save the performance. + +* The `work` cache is used mainly to send some messages, such as cache invalidation events, to the other site. It is also used to ensure that some special events, such as userStorage synchronizations, happen only on single site. It is recommended to keep this set to `SYNC`. + +* The `actionTokens` cache is used as single-use cache to track that some tokens/tickets were used just once. For example link:cache[Action tokens] or OAuth2 codes. It is possible to set this to `ASYNC` to slightly improved performance, but then it is not guaranteed that particular ticket is really single-use. For example, if there is concurrent request for same ticket in both sites, then it is possible that both requests will be successful with the `ASYNC` strategy. So what you set here will depend on whether you prefer better security (`SYNC` strategy) or better performance (`ASYNC` strategy). + +* The `loginFailures` cache may be used in any of the 3 modes. If there is no backup at all, it means that count of login failures for a user will be counted separately for every site (See link:cache[Action tokens] for details). This has some security implications, however it has some performance advantages. Also it mitigates the possible risk of denial of service (DoS) attacks. For example, if an attacker simulates 1000 concurrent requests using the username and password of the user on both sites, it will mean lots of messages being passed between the sites, which may result in network congestion. The `ASYNC` strategy might be even worse as the attacker requests won't be blocked by waiting for the backup to the other site, resulting in potentially even more congested network traffic. +The count of login failures also will not be accurate with the `ASYNC` strategy. + +For the environments with slower network between data centers and probability of DoS, it is recommended to not backup the `loginFailures` cache at all. + +* It is recommended to keep the `sessions` and `clientSessions` caches in `SYNC`. Switching them to `ASYNC` is possible only if you are sure that user requests and backchannel requests (requests from client applications to {project_name} as described link:requestprocessing[here]) will be always processed on same site. This is true, for example, if: +** You use active/passive mode as described link:modes[here]. +** All your client applications are using the {project_name} link:http://www.keycloak.org/docs/latest/securing_apps/index.html#_javascript_adapter[Javascript Adapter]. The Javascript adapter sends the backchannel requests within the browser and hence they participate on the browser sticky session and will end on same cluster node (hence on same site) as the other browser requests of this user. +** Your load balancer is able to serve the requests based on client IP address (location) and the client applications are deployed on both sites. ++ +For example you have 2 sites LON and NYC. As long as your applications are deployed in both LON and NYC sites too, you can ensure that all the user requests from London users will be redirected to the applications in LON site and also to the {project_name} servers in LON site. Backchannel requests from the LON site client deployments will end on {project_name} servers in LON site too. On the other hand, for the American users, all the {project_name} requests, application requests and backchannel requests will be processed on NYC site. ++ +* For `offlineSessions` and `offlineClientSessions` it is similar, with the difference that you even don't need to backup them at all if you never plan to use offline tokens for any of your client applications. + +Generally, if you are in doubt and performance is not a blocker for you, it's safer to keep the caches in `SYNC` strategy. + +WARNING: Regarding the switch to SYNC/ASYNC backup, make sure that you edit the `strategy` attribute of the the `backup` element. For example like this: +```xml + +``` +Note the `mode` attribute of cache-configuration element. + + +[[troubleshooting]] +==== Troubleshooting + +The following tips are intended to assist you should you need to troubleshoot: + +* It is recommended to go through the link:setup[example setup] and have this one working first, so that you have some understanding of how things work. It is also wise to read this entire document to have some understanding of things. + +* Check in jconsole cluster status (GMS) and the JGroups status (RELAY) of JDG as described in link:jdgsetup[JDG server setup]. If things do not look as expected, then the issue is likely in the setup of {jdgserver_name} servers. + +* For the {project_name} servers, you should see a message like this during the server startup: ++ +``` +18:09:30,156 INFO [org.keycloak.connections.infinispan.DefaultInfinispanConnectionProviderFactory] (ServerService Thread Pool -- 54) +Node name: node11, Site name: site1 +``` ++ +Check that the site name and the node name looks as expected during the startup of {project_name} server. + +* Check that {project_name} servers are in cluster as expected, including that only the {project_name} servers from the same data center are in cluster with each other. +This can be also checked in JConsole through the GMS view. See link:{installguide_troubleshooting_link}[cluster troubleshooting] for additional details. + +* If there are exceptions during startup of {project_name} server like this: ++ +``` +17:33:58,605 ERROR [org.infinispan.client.hotrod.impl.operations.RetryOnFailureOperation] (ServerService Thread Pool -- 59) ISPN004007: Exception encountered. Retry 10 out of 10: org.infinispan.client.hotrod.exceptions.TransportException:: Could not fetch transport +... +Caused by: org.infinispan.client.hotrod.exceptions.TransportException:: Could not connect to server: 127.0.0.1:12232 + at org.infinispan.client.hotrod.impl.transport.tcp.TcpTransport.(TcpTransport.java:82) + +``` ++ +it usually means that {project_name} server is not able to reach the {jdgserver_name} server in his own datacenter. Make sure that firewall is set as expected and {jdgserver_name} server is possible to connect. + +* If there are exceptions during startup of {project_name} server like this: ++ +``` +16:44:18,321 WARN [org.infinispan.client.hotrod.impl.protocol.Codec21] (ServerService Thread Pool -- 57) ISPN004005: Error received from the server: javax.transaction.RollbackException: ARJUNA016053: Could not commit transaction. + ... +``` ++ +then check the log of corresponding {jdgserver_name} server of your site and check if has failed to backup to the other site. If the backup site is unavailable, then it is recommended to switch it offline, so that {jdgserver_name} server won't try to backup to the offline site causing the operations to pass successfully on {project_name} server side as well. See link:administration[Administration of Cross-DC Deployment] for more. + +* Check the Infinispan statistics, which are available through JMX. For example, try to login and then see if the new session was successfully written to both JDG servers and is available in the `sessions` cache there. This can be done indirectly by checking the count of elements in the `sessions` cache for the MBean `jboss.datagrid-infinispan:type=Cache,name="sessions(repl_sync)",manager="clustered",component=Statistics` and attribute `numberOfEntries`. After login, there should be one more entry for `numberOfEntries` on both JDG servers on both sites. + +* Enable DEBUG logging as described link:serversetup[here]. For example, if you log in and you think that the new session is not available on the second site, it's good to check the {project_name} server logs and check that listeners were triggered as described in the link:serversetup[the setup section]. If you do not know and want to ask on keycloak-user mailing list, it is helpful to send the log files from {project_name} servers on both datacenters in the email. Either add the log snippets to the mails or put the logs somewhere and reference them in the email. + +* If you updated the entity, such as `user`, on {project_name} server on `site1` and you do not see that entity updated on the {project_name} server on `site2`, then the issue can be either in the replication of the synchronous database itself or that {project_name} caches are not properly invalidated. You may try to temporarily disable the {project_name} caches as described link:{installguide_disablingcaching_link}[here] to nail down if the issue is at the database replication level. Also it may help to manually connect to the database and check if data are updated as expected. This is specific to every database, so you will need to consult the documentation for your database. + +* Sometimes you may see the exceptions related to locks like this in JDG log: ++ +``` +(HotRodServerHandler-6-35) ISPN000136: Error executing command ReplaceCommand, +writing keys [[B0x033E243034396234..[39]]: org.infinispan.util.concurrent.TimeoutException: ISPN000299: Unable to acquire lock after +0 milliseconds for key [B0x033E243034396234..[39] and requestor GlobalTx:jdg1:4353. Lock is held by GlobalTx:jdg1:4352 +``` ++ +Those exceptions are not necessarily an issue. They may happen anytime when concurrent edit of same entity is triggered on both DCs. This can be the often case in a deployment. Usually the {project_name} server is notified about the failed operation and will retry it, so from the user's point of view, there is usually not any issue. + +* If you try to authenticate with {project_name} to your application, but it failed with the infinite number +of redirects in your browser and you see the errors like this in the {project_name} server log: ++ +``` +2017-11-27 14:50:31,587 WARN [org.keycloak.events] (default task-17) type=LOGIN_ERROR, realmId=master, clientId=null, userId=null, ipAddress=37.188.148.81, error=expired_code, restart_after_timeout=true +``` ++ +it probably means that your load balancer needs to be set to support sticky sessions. Make sure that the provided route name used during startup of {project_name} server (Property `jboss.node.name`) contains the correct name used by the load balancer server to identify the current server. diff --git a/tests/src/test/resources/ignored-links b/tests/src/test/resources/ignored-links index 85185927d9..cda45e9f80 100644 --- a/tests/src/test/resources/ignored-links +++ b/tests/src/test/resources/ignored-links @@ -8,8 +8,8 @@ https://host:port* http://broker-keycloak:8180* https://expressjs.com/ https://github.com/keycloak/keycloak/tree/* -http://node11:8080/auth -http://node11:8080/auth/admin -http://node12:8080/auth/admin -http://node21:8080/auth/admin -http://node22:8080/auth/admin +http://node11:8080* +http://node11:8080/auth/ +http://node12:8080* +http://node21:8080* +http://node22:8080* \ No newline at end of file diff --git a/topics/templates/document-attributes-community.adoc b/topics/templates/document-attributes-community.adoc index ba7943220f..4654e5f401 100644 --- a/topics/templates/document-attributes-community.adoc +++ b/topics/templates/document-attributes-community.adoc @@ -19,18 +19,36 @@ :adapterguide_link: {project_doc_base_url}/securing_apps/ :adminguide_name: Server Administration Guide :adminguide_link: {project_doc_base_url}/server_admin/ +:adminguide_bruteforce_name: Password guess: brute force attacks +:adminguide_bruteforce_link: {adminguide_link}#password-guess-brute-force-attacks +:adminguide_clearcache_name: Clearing Server Caches +:adminguide_clearcache_link: {adminguide_link}#_clear-cache :apidocs_name: API Documentation :apidocs_link: {project_doc_base_url}/api_documentation/ :developerguide_name: Server Developer Guide :developerguide_link: {project_doc_base_url}/server_development/ +:developerguide_actiontoken_name: Action Token SPI +:developerguide_actiontoken_link: {developerguide_link}#_action_token_spi :gettingstarted_name: Getting Started Guide :gettingstarted_link: {project_doc_base_url}/getting_started/ :upgradingguide_name: Upgrading Guide :upgradingguide_link: {project_doc_base_url}/upgrading/ :installguide_name: Server Installation and Configuration Guide :installguide_link: {project_doc_base_url}/server_installation/ +:installguide_clustering_name: Clustering +:installguide_clustering_link: {installguide_link}#_clustering +:installguide_database_name: Database +:installguide_database_link: {installguide_link}#_database +:installguide_disablingcaching_name: Disabling caching +:installguide_disablingcaching_link: {installguide_link}#disabling-caching +:installguide_loadbalancer_name: Setting Up a Load Balancer or Proxy +:installguide_loadbalancer_link: {installguide_link}#_setting-up-a-load-balancer-or-proxy :installguide_profile_name: Profiles :installguide_profile_link: {installguide_link}#_profiles +:installguide_stickysessions_name: Sticky sessions +:installguide_stickysessions_link: {installguide_link}#sticky-sessions +:installguide_troubleshooting_name: Troubleshooting +:installguide_troubleshooting_link: {installguide_link}#troubleshooting :apidocs_javadocs_name: JavaDocs Documentation :apidocs_javadocs_link: http://www.keycloak.org/docs-api/{project_versionDoc}/javadocs/ @@ -58,6 +76,9 @@ :appserver_loadbalancer_link: {appserver_doc_base_url}/High+Availability+Guide :appserver_loadbalancer_name: {appserver_name} {appserver_version} Documentation +:jdgserver_name: Infinispan +:jdgserver_version: 8.2.8 + :fuseVersion: JBoss Fuse 6.3.0 Rollup 5 :fuseHawtioEAPVersion: JBoss EAP 6.4 :fuseHawtioWARVersion: hawtio-wildfly-1.4.0.redhat-630254.war diff --git a/topics/templates/document-attributes-product.adoc b/topics/templates/document-attributes-product.adoc index 90e1d13737..f20f3cc020 100644 --- a/topics/templates/document-attributes-product.adoc +++ b/topics/templates/document-attributes-product.adoc @@ -19,18 +19,36 @@ :adapterguide_link: {project_doc_base_url}/securing_applications_and_services_guide/ :adminguide_name: Server Administration Guide :adminguide_link: {project_doc_base_url}/server_administration_guide/ +:adminguide_bruteforce_name: Password guess: brute force attacks +:adminguide_bruteforce_link: {adminguide_link}#password-guess-brute-force-attacks +:adminguide_clearcache_name: Clearing Server Caches +:adminguide_clearcache_link: {adminguide_link}#_clear-cache :apidocs_name: API Documentation :apidocs_link: {project_doc_base_url}/api-documentation/ :developerguide_name: Server Developer Guide :developerguide_link: {project_doc_base_url}/server_developer_guide/ +:developerguide_actiontoken_name: Action Token SPI +:developerguide_actiontoken_link: {developerguide_link}#_action_token_spi :gettingstarted_name: Getting Started Guide :gettingstarted_link: {project_doc_base_url}/getting_started_guide/ :upgradingguide_name: Upgrading Guide :upgradingguide_link: {project_doc_base_url}/upgrading_guide/ :installguide_name: Server Installation and Configuration Guide :installguide_link: {project_doc_base_url}/server_installation_and_configuration_guide/ +:installguide_clustering_name: Clustering +:installguide_clustering_link: {installguide_link}#_clustering +:installguide_database_name: Database +:installguide_database_link: {installguide_link}#_database +:installguide_disablingcaching_name: Disabling caching +:installguide_disablingcaching_link: {installguide_link}#disabling-caching +:installguide_loadbalancer_name: Setting Up a Load Balancer or Proxy +:installguide_loadbalancer_link: {installguide_link}#_setting-up-a-load-balancer-or-proxy :installguide_profile_name: Profiles :installguide_profile_link: {installguide_link}#_profiles +:installguide_stickysessions_name: Sticky sessions +:installguide_stickysessions_link: {installguide_link}#sticky-sessions +:installguide_troubleshooting_name: Troubleshooting +:installguide_troubleshooting_link: {installguide_link}#troubleshooting :apidocs_javadocs_name: JavaDocs Documentation :apidocs_javadocs_link: https://access.redhat.com/webassets/avalon/d/red-hat-single-sign-on/version-{project_versionDoc}/javadocs/ @@ -61,6 +79,9 @@ :appserver_managementcli_link: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/configuration_guide/#management_cli_overview :appserver_managementconsole_link: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/configuration_guide/#management_console_overview +:jdgserver_name: JDG +:jdgserver_version: 7.1.0 + :fuseVersion: JBoss Fuse 6.3.0 Rollup 5 :fuseHawtioEAPVersion: JBoss EAP 6.4 :fuseHawtioWARVersion: hawtio-wildfly-1.4.0.redhat-630254.war