amazon-archives / aws-dynamodb-session-tomcat

ARCHIVED: Amazon DynamoDB based session store for Apache Tomcat
Apache License 2.0
95 stars 73 forks source link

Sticky Session Failover not working #41

Open prowave opened 8 years ago

prowave commented 8 years ago

We opened a ticket with AWS support today and they asked us to open an issue here regarding the SessionManager with DynamoDB.

The AWS Engineer was able to reproduce this on his end as well.

We have an ElasticBeanstalk App running Java8, Tomcat8 and aws-dynamo-session-tomcat 2.0.0. We are using this DynamoDB Session Manager, configured as you have specified in the documentation referenced in this project's README.md file.

The symptom is that when the application scales down, or we perform a rolling deployment or restart across the Beanstalk cluster; when a node drops and the end user is directed to a different node, the session state is not available on the new node. This is what provides the Session Replication feature that allows cluster maintenance and scaling. The user gets a new HttpSession and has to login again.

Are you aware of this issue, and can you work with me to find a resolution?

Thank you.

shorea commented 8 years ago

Can you share details about your configuration. Is your context marked as distributable with all attributes implementing serializable?

shorea commented 8 years ago

I think I've identified an issue. Would you be willing to try out a beta jar?

Our keys implementation doesn't seem to adhere to the contract. It only keeps track of sessions that come through this node.

https://github.com/aws/aws-dynamodb-session-tomcat/blob/master/src/main/java/com/amazonaws/services/dynamodb/sessionmanager/DynamoDBSessionStore.java#L81

carhensi commented 8 years ago

I'll give the beta a try. Where can I download the beta jar?

shorea commented 8 years ago

Can you try https://s3-us-west-2.amazonaws.com/dynamodb-tomcat-session-manager-beta/aws-dynamodb-session-tomcat-2.0.4.jar

hyandell commented 6 years ago

This project has been archived. Please see the README.md for more detail on alternative projects.