tracker issue : CF-4126479

select a category, or use search below
(searches all categories and all time range)
Title:

Using Redis for Session Management Fails

| View in Tracker

Status/Resolution/Reason: Closed/Fixed/

Reporter/Name(from Bugbase): Peter Freitag / Peter Freitag (Peter Freitag)

Created: 03/09/2016

Components: Core Runtime, Session Management

Versions: 2016

Failure Type:

Found In Build/Fixed In Build: Beta2_v12 /

Priority/Frequency: Major / Some users will encounter

Locale/System: English / Win All

Vote Count: 0

Problem Description: Set session management to Redis server installed locally, restarted the server and unable to login to CF Administrator due to session issues.


Steps to Reproduce:

Installed Redis 3.0.500 for Windows on Windows 2012R2. 
Set a password for the redis server using requirepass 
Tested connection to redis server, working fine able to connect using a third party redis client.
Set session management to use the local redis server. 
Restart CF
Try to login to CF, get exception on sessionRotate call.


Actual Result:

"Error","http-nio-8500-exec-3","01/07/16","21:14:23","cfadmin","Enable SessionManagement to use Session manipulation methods. The specific sequence of files included or processed is: C:\ColdFusion2016\cfusion\wwwroot\CFIDE\administrator\enter.cfm, line: 182 "
coldfusion.security.SecurityUtils$SessionManipulationException: Enable SessionManagement to use Session manipulation methods.
	at coldfusion.runtime.AppHelper.sessionRotate(AppHelper.java:1619)
	at coldfusion.security.SecurityUtils.sessionRotate(SecurityUtils.java:311)
	at coldfusion.runtime.CFPage.SessionRotate(CFPage.java:11366)
	at cfApplication2ecfm1195485646._factor4(/CFIDE/administrator/Application.cfm:182)
	at cfApplication2ecfm1195485646._factor9(/CFIDE/administrator/Application.cfm:176)
	at cfApplication2ecfm1195485646.runPage(/CFIDE/administrator/Application.cfm:1)
	at coldfusion.runtime.CfJspPage.invoke(CfJspPage.java:251)
	at coldfusion.tagext.lang.IncludeTag.handlePageInvoke(IncludeTag.java:736)
	at coldfusion.tagext.lang.IncludeTag.doStartTag(IncludeTag.java:572)
	at coldfusion.filter.CfincludeFilter.invoke(CfincludeFilter.java:65)
	at coldfusion.filter.CfincludeFilter.include(CfincludeFilter.java:33)
	at coldfusion.filter.ApplicationFilter.invoke(ApplicationFilter.java:401)
	at coldfusion.filter.RequestMonitorFilter.invoke(RequestMonitorFilter.java:43)
	at coldfusion.filter.MonitoringFilter.invoke(MonitoringFilter.java:40)
	at coldfusion.filter.PathFilter.invoke(PathFilter.java:142)
	at coldfusion.filter.ExceptionFilter.invoke(ExceptionFilter.java:94)
	at coldfusion.filter.ClientScopePersistenceFilter.invoke(ClientScopePersistenceFilter.java:28)
	at coldfusion.filter.BrowserFilter.invoke(BrowserFilter.java:38)
	at coldfusion.filter.NoCacheFilter.invoke(NoCacheFilter.java:60)
	at coldfusion.filter.GlobalsFilter.invoke(GlobalsFilter.java:38)
	at coldfusion.filter.DatasourceFilter.invoke(DatasourceFilter.java:22)
	at coldfusion.filter.CachingFilter.invoke(CachingFilter.java:62)
	at coldfusion.filter.RequestThrottleFilter.invoke(RequestThrottleFilter.java:151)
	at coldfusion.CfmServlet.service(CfmServlet.java:219)
	at coldfusion.bootstrap.BootstrapServlet.service(BootstrapServlet.java:89)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at coldfusion.monitor.event.MonitoringServletFilter.doFilter(MonitoringServletFilter.java:42)
	at coldfusion.bootstrap.BootstrapFilter.doFilter(BootstrapFilter.java:46)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at coldfusion.filter.ClickjackingProtectionFilter.doFilter(ClickjackingProtectionFilter.java:75)
	at coldfusion.bootstrap.BootstrapFilter.doFilter(BootstrapFilter.java:46)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:218)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:532)
	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1091)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:673)
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1500)
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1456)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	at java.lang.Thread.run(Thread.java:745)


Expected Result: Should work.

Any Workarounds: None.

----------------------------- Additional Watson Details -----------------------------

Watson Bug ID:	4126479

External Customer Info:
External Company: Foundeo Inc.
External Customer Name: Peter Freitag
External Customer Email: PETE@FOUNDEO.COM
External Test Config:

Attachments:

Comments:

Adding BUG AUDIT TRAIL ********action: updated fieldName: Closed By newValue: prk oldValue: Blank oprid: prk recordName: RQ_DEFECT timpestamp: 2016-01-13 03:26:57.0 action: updated fieldName: Owner newValue: Blank oldValue: prk oprid: prk recordName: RQ_DEFECT timpestamp: 2016-01-13 03:26:57.0 action: updated fieldName: State newValue: Closed oldValue: Open oprid: prk recordName: RQ_DEFECT timpestamp: 2016-01-13 03:26:57.0 action: updated fieldName: Status newValue: Fixed oldValue: ToTest oprid: prk recordName: RQ_DEFECT timpestamp: 2016-01-13 03:26:57.0 action: updated fieldName: Reason newValue: Blank oldValue: Fixed oprid: prk recordName: RQ_DEFECT timpestamp: 2016-01-13 03:26:57.0 action: updated fieldName: Date Closed newValue: 2016-01-12 19:26:57.0 oldValue: Blank oprid: prk recordName: RQ_DEFECT timpestamp: 2016-01-13 03:26:57.0 action: updated fieldName: Date Fixed newValue: 2016-01-11 08:13:00.0 oldValue: Blank oprid: sanniset recordName: RQ_DEFECT timpestamp: 2016-01-11 16:13:00.0 action: updated fieldName: Reason newValue: Fixed oldValue: HaveNewInfo oprid: sanniset recordName: RQ_DEFECT timpestamp: 2016-01-11 16:13:00.0 action: updated fieldName: Owner newValue: prk oldValue: sanniset oprid: sanniset recordName: RQ_DEFECT timpestamp: 2016-01-11 16:13:00.0 action: updated fieldName: Fixed By newValue: sanniset oldValue: Blank oprid: sanniset recordName: RQ_DEFECT timpestamp: 2016-01-11 16:13:00.0 action: updated fieldName: Changelist newValue: 297372,297383,297384,297452 oldValue: 297372,297383,297384 oprid: sanniset recordName: RQ_DEFECT timpestamp: 2016-01-11 16:13:00.0 action: updated fieldName: Status newValue: ToTest oldValue: ToFix oprid: sanniset recordName: RQ_DEFECT timpestamp: 2016-01-11 16:13:00.0 action: updated fieldName: Date Fixed newValue: null oldValue: 08-JAN-16 06.55.00.000000000 AM oprid: prk recordName: RQ_DEFECT timpestamp: 2016-01-11 14:00:42.0 action: updated fieldName: Fixed By newValue: Blank oldValue: sanniset oprid: prk recordName: RQ_DEFECT timpestamp: 2016-01-11 14:00:42.0 action: updated fieldName: Owner newValue: sanniset oldValue: prk oprid: prk recordName: RQ_DEFECT timpestamp: 2016-01-11 14:00:42.0 action: updated fieldName: Status newValue: ToFix oldValue: ToTest oprid: prk recordName: RQ_DEFECT timpestamp: 2016-01-11 14:00:41.0 action: updated fieldName: Reason newValue: HaveNewInfo oldValue: Fixed oprid: prk recordName: RQ_DEFECT timpestamp: 2016-01-11 14:00:41.0 action: updated fieldName: Changelist newValue: 297372,297383,297384 oldValue: 297372,297383 oprid: sanniset recordName: RQ_DEFECT timpestamp: 2016-01-08 15:07:37.0 action: updated fieldName: Date Fixed newValue: 2016-01-08 06:55:00.0 oldValue: Blank oprid: sanniset recordName: RQ_DEFECT timpestamp: 2016-01-08 14:55:00.0 action: updated fieldName: Fixed By newValue: sanniset oldValue: Blank oprid: sanniset recordName: RQ_DEFECT timpestamp: 2016-01-08 14:55:00.0 action: updated fieldName: Owner newValue: prk oldValue: sanniset oprid: sanniset recordName: RQ_DEFECT timpestamp: 2016-01-08 14:55:00.0 action: updated fieldName: Reason newValue: Fixed oldValue: BugVerified oprid: sanniset recordName: RQ_DEFECT timpestamp: 2016-01-08 14:55:00.0 action: updated fieldName: Changelist newValue: 297372,297383 oldValue: 297372 oprid: sanniset recordName: RQ_DEFECT timpestamp: 2016-01-08 14:55:00.0 action: updated fieldName: Status newValue: ToTest oldValue: ToFix oprid: sanniset recordName: RQ_DEFECT timpestamp: 2016-01-08 14:55:00.0 action: updated fieldName: Changelist newValue: 297372 oldValue: Blank oprid: sanniset recordName: RQ_DEFECT timpestamp: 2016-01-08 09:58:56.0 action: updated fieldName: Fix By Product Milestone newValue: Gold Master oldValue: Blank oprid: prk recordName: RQ_DEFECT timpestamp: 2016-01-08 07:00:30.0 action: updated fieldName: Owner newValue: sanniset oldValue: prk oprid: prk recordName: RQ_DEFECT timpestamp: 2016-01-08 07:00:30.0 action: updated fieldName: Priority newValue: 3 oldValue: 0 oprid: prk recordName: RQ_DEFECT timpestamp: 2016-01-08 07:00:30.0 action: updated fieldName: Status newValue: ToFix oldValue: Unverified oprid: prk recordName: RQ_DEFECT timpestamp: 2016-01-08 07:00:30.0 action: updated fieldName: Reason newValue: BugVerified oldValue: Blank oprid: prk recordName: RQ_DEFECT timpestamp: 2016-01-08 07:00:30.0 action: updated fieldName: Fix By Milestone newValue: Gold Master oldValue: Blank oprid: prk recordName: RQ_DEFECT timpestamp: 2016-01-08 07:00:30.0 action: updated fieldName: Dev Assigned newValue: sanniset oldValue: uogra oprid: sanniset recordName: RQ_DEFECT timpestamp: 2016-01-08 04:41:22.0 action: updated fieldName: Owner newValue: prk oldValue: nimsharm oprid: sanniset recordName: RQ_DEFECT timpestamp: 2016-01-08 04:41:22.0 action: updated fieldName: QE Assigned newValue: prk oldValue: nimsharm oprid: sanniset recordName: RQ_DEFECT timpestamp: 2016-01-08 04:41:22.0
Comment by CFwatson U.
4009 | March 09, 2016 02:15:48 AM GMT
Added By: PreRelease User User Name:Peter Freitag Note Added: Good call on always using in-memory storage for CF administrator - is there an Application.cfc setting to control this? Date Added :2016-01-14 16:41:09.0 Added By:sanniset Note Added: Now verifying the redis connection when settings were changed. Also, added a verify connection button to check the connection status of CF with redis. Also, Now CF Admin will always use in-memory storage even if the external session storage is configured as redis. This change was added because We don't want CF Admins to be locked out of the admin when external storage configured is down for reasons and then modify the configuration files manually. Thanks, Pavan. Date Added :2016-01-08 15:00:21.0 Added By: PreRelease User User Name:Peter Freitag Note Added: Just wanted to add that it might be a good idea to Verify the connection to the Redis server when the setting is changed in CF administrator so that you don't have a case where the user is unable to login to CF administrator incase they entered incorrect redis connection info or something like that. Date Added :2016-01-07 21:31:07.0 Added By: PreRelease User User Name:Peter Freitag Note Added: Entered Bug. Date Added :2016-01-07 21:24:15.0
Comment by CFwatson U.
4010 | March 09, 2016 02:15:50 AM GMT