magro / memcached-session-manager

A tomcat session manager that backups sessions in memcached and pulls them from there if asked for unknown sessions
Apache License 2.0
758 stars 348 forks source link

redis store : ERR invalid expire time in setex #400

Open scofier opened 5 years ago

scofier commented 5 years ago

Tomcat:7 Centos 64bit Oracle jdk 1.8.0_111 memcached-session-manager-2.3.0 memcached-session-manager-tc7-2.3.0 jedis-2.9.0

<Manager 
        className="de.javakaffee.web.msm.MemcachedBackupSessionManager" 
        copyCollectionsForSerialization="false"
        lockingMode="none"
        memcachedNodes="redis://127.0.0.1:6379"
        requestUriIgnorePattern=".*/.(png|gif|jpg|css|js)$"
        sessionBackupAsync="false"
        sessionBackupTimeout="1800000"
        sticky="true"
        transcoderFactoryClass="de.javakaffee.web.msm.JavaSerializationTranscoderFactory"/>

Could not store session 4494066960F0B6C83807DABD906B48FE in memcached. Note that this session was relocated to this node because the original node was not available. java.util.concurrent.ExecutionException: redis.clients.jedis.exceptions.JedisDataException: ERR invalid expire time in setex at java.util.concurrent.FutureTask.report(FutureTask.java:122) at java.util.concurrent.FutureTask.get(FutureTask.java:206) at de.javakaffee.web.msm.BackupSessionTask.storeSessionInMemcached(BackupSessionTask.java:235) at de.javakaffee.web.msm.BackupSessionTask.doBackupSession(BackupSessionTask.java:198) at de.javakaffee.web.msm.BackupSessionService.updateExpiration(BackupSessionService.java:132) at de.javakaffee.web.msm.MemcachedSessionService.updateExpirationInMemcached(MemcachedSessionService.java:1615) at de.javakaffee.web.msm.MemcachedBackupSessionManager.backgroundProcess(MemcachedBackupSessionManager.java:595) at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1351) at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1545) at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1555) at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1555) at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1523) at java.lang.Thread.run(Thread.java:748) Caused by: redis.clients.jedis.exceptions.JedisDataException: ERR invalid expire time in setex at redis.clients.jedis.Protocol.processError(Protocol.java:127) at redis.clients.jedis.Protocol.process(Protocol.java:161) at redis.clients.jedis.Protocol.read(Protocol.java:215) at redis.clients.jedis.Connection.readProtocolWithCheckingBroken(Connection.java:340) at redis.clients.jedis.Connection.getStatusCodeReply(Connection.java:239) at redis.clients.jedis.BinaryJedis.setex(BinaryJedis.java:616) at de.javakaffee.web.msm.storage.RedisStorageClient$2.execute(RedisStorageClient.java:112) at de.javakaffee.web.msm.storage.RedisStorageClient$2.execute(RedisStorageClient.java:107) at de.javakaffee.web.msm.storage.RedisStorageClient$RedisCommandCallable.call(RedisStorageClient.java:180) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ... 1 more

jkoorts commented 4 years ago

I have the same issue. did u resolve this?