WO2 Identity Server - 错误:会话高速缓存中的重复键值

时间:2015-12-18 14:16:28

标签: session wso2 wso2is

让WSO2 IS 5.0.0.SP1没有使用PostgreSQL进行HA部署我们偶尔会在日志中出现以下异常(我相信用户无法登录,他们需要关闭应用程序(web / mobile)并重试):

wso2carbon.log Error while storing session data {org.wso2.carbon.identity.application.authentication.framework.store.SessionDataStore} org.postgresql.util.PSQLException: ERROR: duplicate key value violates unique constraint "idn_auth_session_store_pkey" Detail: Key (session_id, session_type)=(315f9b01-6008-4794-b7d8-a76c7cc83102, SAMLSSOParticipantCache) already exists. at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2198) at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1927) at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:255) at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:562) at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:420) at org.postgresql.jdbc2.AbstractJdbc2Statement.executeUpdate(AbstractJdbc2Statement.java:366) at org.wso2.carbon.identity.application.authentication.framework.store.SessionDataStore.persistSessionData(SessionDataStore.java:363) at org.wso2.carbon.identity.application.authentication.framework.store.SessionDataPersistTask.run(SessionDataPersistTask.java:54) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)

identity.xml中的会话持久性配置:

        <SessionDataPersist>
                <Enable>true</Enable>
                <RememberMePeriod>780</RememberMePeriod>
                <CleanUp>
                        <Enable>true</Enable>
                        <Period>60</Period>
                        <TimeOut>781</TimeOut>
                </CleanUp>
                <Temporary>true</Temporary>
        </SessionDataPersist>

任何想法/提示都会受到赞赏..无法使用"返回"按钮?会话在缓存中持久存在吗?

提前谢谢大家

加布里埃尔

0 个答案:

没有答案