Possible concurrency problem: Replicated version id X matches in-memory version for session ...
The message basically is saying that a replicated session is overriding an existing session in that node. Quite often the version id is 1 but regardless of the version id, the problem is the same. Here's an scenario:
Let's say you have a first request (r1) that lands on node x (x) and a second request (r2) land on node y (y). If r2 gets to y before r1 gets replicated to y, a new session will be created on y, which will get replicated to x overriding what r1 had created on x. Node x will them prompt the message that you're seeing because the replicated session from r2 is overriding the session created by r1 in x. This will only happen if a new session was created in y. There's also the possibility (remote) that y will log this message, for example if r1 created a new session in x and replicated it to y after r2 created a new session in y. Very unlikely but could still happen. There's even also the possibility of both nodes reporting it.
Whether this messages are something you should be concerned by depends on whether r1 or r2 store anything meaningful in the session. Basically, whichever server logged lost their copy of the session. So:
If r1 and r2 both store something meaningful, for sure a problem. One or the other is lost.
If r1 doesn't store data, but r2 does, it's probably OK. Not OK if y logs the message. OK if x logs the message.
If r2 doesn't store data, but r1 does, probably a problem. Not OK if x logs the message. OK if y logs the message.
The best way to completely avoid these messages is to use sticky sessions with mod_jk. When other load balancers are used, even if sticky sessions is used, these messages can still appear. For example, in the case of F5 BIG-IP load balancer, it provides sticky sessions using hash session persistence. This method hashes the JSESSIONID cookie and uses the value to determine a server for load balancing. Since there is no JESSSIONID cookie on the first request, but there are for subsequent requests, it is possible that the first request is being served by one server and subsequent requests are being served by another. This does not happen with mod_jk because it requires each Tomcat worker to configured to set a jvmRoute per node in the cluster which must match the worker (node) name in the mod_jk side. When Tomcat replies to the first request, it adds the jvmRoute value to the session id so that mod_jk later can redirect to the same node where the request landed first.
If you see these messages when using a Netscaler load balancer, see the following wiki to get advice on how to configure Netscaler to use sticky sessions.
I get "org.jboss.ha.framework.server.ClusterFileTransfer$ClusterFileTransferException: Did not receive response from remote machine..."
Possible concurrency problem: Replicated version id X matches in-memory version for session ...的更多相关文章
- Gradle version 2.10 is required. Current version is 2.8.
今天在网上下载了EasyPusher-master文件,日期是20160527版本的,但是在我的Android Studio上运行时报错: Error:(1, 1) A problem occurre ...
- Unity5.5.6 升级到 2018.4.1 打包出现的问题 : Gradle version 2.10 is required. Current version is 5.1.1
起因:最近要在googleplay上架新游戏,而谷歌要求新上架的应用要支持64位,鉴于老版本的unity不支持打包64位apk,所以决定升级unity版本到2018.4.1, 但打包过程中出现了几个问 ...
- bug--java访问hdfs (Server IPC version 9 cannot communicate with client version 4 错误)
1. 今天想做一个hdfs的java工具类,但是在连接hdfs的时候,报如下错误: Exception in thread "main" org.apache.hadoop.ipc ...
- AndroidStudio开发出现Warning:Gradle version 2.10 is required. Current version is 2.8. If u
Warning:Gradle version 2.10 is required. Current version is 2.8. If using the gradle wrapper, try ed ...
- 出现Warning:Gradle version 2.10 is required. Current version is 2.8.
Warning:Gradle version 2.10 is required. Current version is 2.8. If using the gradle wrapper, try ed ...
- Gradle sync failed: Gradle version 2.2 is required. Current version is 2.10.
Gradle sync failed: Gradle version 2.2 is required. Current version is 2.10. If using the gradle wra ...
- 解决CUDA driver version is insufficient for CUDA runtime version
问题 在服务器上安装mxne的GPU版本 sudo pip install mxnet-cu80==1.2.1 然后在gpu上创建数据 import mxnet as mx mx.nd.array([ ...
- CUDA driver version is insufficient for CUDA runtime version 解决
配置ubuntu17.1+CUDA9.2的caffe环境,CUDA sample编译完成,执行到./deviceQuery时报错:CUDA driver version is insufficient ...
- null id in entry (don't flush the Session after an exception occurs)
null id in entry (don't flush the Session after an exception occurs) 遇到这个异常实属不小心所致,最初看到异出的错误信息时我误认为是 ...
随机推荐
- 瑞星杀毒软件、奇虎360杀毒软件、360卫士、百度卫士联手,搞不定弹出广告 & 恶意广告图标
一位网友说他的电脑近期出了问题:开机后桌面和任务栏上的高速启动栏会出现恶意图标.删除了下次开机又会出现:使用电脑过程中每分钟都会弹出广告.他为电脑安装了瑞星杀毒软件.奇虎360杀毒软件.360卫士.百 ...
- Automatic Preferred Max Layout Width is not available on iOS versions prior to 8.0
今天在真机调试低版本系统的时候出现如题类似Layout Max Width在ios 8 之前不适用的问题, 初步估计是autolayout 所导致的 查找资料解决方法如下: 将label下Preffe ...
- Java Interface,反射
先看代码, package reflect; //Class Word public class Word implements OfficeAble{ public static void main ...
- Cin、Cout 加快效率方法
std::ios::sync_with_stdio(false); 在main 函数中加上这么一句话. 可以打消iostream的输入输出缓存,可以节省许多时间,使效率与scanf与printf相差无 ...
- 17.1.1.3 Creating a User for Replication
17.1.1.3 Creating a User for Replication 创建一个用户用于复制: 每个slave 连接到master 使用一个MySQL 用户名和密码, 因此必须有一个user ...
- 一步一步重写 CodeIgniter 框架 (6) —— 实现在控制器Controller中加载View
1. 控制器将模型类获得的数据,传递给视图进行显示,所以视图必须负责接收数据,另外重要的一点是当模型和视图分开后,多个模型的数据可以传递给一个视图进行展示,也可以说一个模型的数据在多个不同的视图中进行 ...
- Android中的Audio播放:控制Audio输出通道切换
Audio 输出通道有很多,Speaker.headset.bluetooth A2DP等.通话或播放音乐等使用Audio输出过程中,可能发生Audio输出通道的切换.比如,插入有线耳机播放音乐时,声 ...
- Android学习笔记之View(一):LayoutInflater
使用LayoutInflater加载布局的两种方式: 第一种: LayoutInflater inflater=LayoutInflater.from(context); inflater.infla ...
- [转载] iOS开发分辨率那点事
1 iOS设备的分辨率 iOS设备,目前最主要的有3种(Apple TV等不在此讨论),按分辨率分为两类 iPhone/iPod Touch 普屏分辨率 320像素 x 480像素 Retina ...
- printf格式控制详解
format 参数输出的格式,定义格式为 %[flags][width][.precision][length]specifier specifier在最后面.定义了数据类型. Where the s ...