https://bz.apache.org/bugzilla/show_bug.cgi?id=59735

            Bug ID: 59735
           Summary: Tomcat 8.5 breaks memcached-session-manager
           Product: Tomcat 8
           Version: 8.5.2
          Hardware: All
                OS: All
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Catalina
          Assignee: dev@tomcat.apache.org
          Reporter: joakim.edenh...@gmail.com

The removal of deprecated methods in
org.apache.catalina.session.StandardSession breaks memcached-session-manager.
At the very least, the method exclude(String) is needed. Others may be needed
as well, I have not investigated what happens when exclude is restored.

I have captured this stack trace:
20-Jun-2016 10:37:59.616 INFO
[ContainerBackgroundProcessor[StandardEngine[Catalina].StandardHost[localhost].StandardContext[]]]
de.javakaffee.web.msm.MemcachedSessionService.updateExpirationInMemcached Could
not update expiration in memcached for session
CFC46B06D3867A23FECF4A4042E43771-n2
 java.lang.NoSuchMethodError:
org.apache.catalina.session.StandardSession.exclude(Ljava/lang/String;)Z
    at
de.javakaffee.web.msm.MemcachedBackupSession.exclude(MemcachedBackupSession.java:597)
    at
de.javakaffee.web.msm.JavaSerializationTranscoder.writeAttributes(JavaSerializationTranscoder.java:121)
    at
de.javakaffee.web.msm.JavaSerializationTranscoder.serializeAttributes(JavaSerializationTranscoder.java:100)
    at
de.javakaffee.web.msm.TranscoderService.serializeAttributes(TranscoderService.java:151)
    at
de.javakaffee.web.msm.BackupSessionService.updateExpiration(BackupSessionService.java:132)
    at
de.javakaffee.web.msm.MemcachedSessionService.updateExpirationInMemcached(MemcachedSessionService.java:1606)
    at
de.javakaffee.web.msm.MemcachedBackupSessionManager.backgroundProcess(MemcachedBackupSessionManager.java:575)
    at
org.apache.catalina.core.StandardContext.backgroundProcess(StandardContext.java:5543)
    at
org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1374)
    at
org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1346)
    at java.lang.Thread.run(Thread.java:745)

I am filing this bug report because the following commit message mentions the
possibility of postponing removal of methods until Tomcat 9. If this problem is
insufficient reason to restore necessary methods, I will open a bug with
memcached-session-manager instead of this.

https://github.com/apache/tomcat80/commit/a5fe49b5f5003d9da41b2ce4cd4a1065f2214a49


Steps to reproduce:
1) Install and start memcached.
2) Install Tomcat 8.5.3
3) Place memcached-session-manager-1.9.3.jar and
memcached-session-manager-tc8-1.9.3.jar in $CATALINA_HOME/lib
4) Configure memcached-session-manager in your context.xml (substitute
localhost:11211 with your memcached host and port):
    <Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"
        memcachedNodes="n1:localhost:11211"
        requestUriIgnorePattern=".*\.(ico|png|gif|jpg|css|js)$"
        />
5) Visit a page which creates a new session and then wait a few seconds for the
background thread to trigger.

-- 
You are receiving this mail because:
You are the assignee for the bug.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to