[OPENAM-5505] Setting openam-session-timeout-handler-list= in ssoadm set-attr-defs ends up creating a list with one empty item Created: 09/Feb/15 Updated: 20/Nov/16 Resolved: 21/Apr/15 |
|
Status: | Resolved |
Project: | OpenAM |
Component/s: | session |
Affects Version/s: | 10.0.0, 10.0.1, 10.0.2, 11.0.0, 11.0.1, 11.0.2, 12.0.0 |
Fix Version/s: | 10.0.3, 11.0.4, 12.0.3, 13.0.0 |
Type: | Bug | Priority: | Minor |
Reporter: | Mark de Reeper | Assignee: | Mark de Reeper |
Resolution: | Fixed | Votes: | 0 |
Labels: | EDISON, release-notes | ||
Remaining Estimate: | 5h | ||
Time Spent: | 3h | ||
Original Estimate: | 8h |
Target Version/s: | |
Rank: | 1|hzlom7: |
Sprint: | Sprint 80 - Sustaining, Sprint 81 - Sustaining |
Support Ticket IDs: |
Description |
As a result of calling set-attr-defs --servicename iPlanetAMSessionService --schematype global -a openam-session-timeout-handler-list= results in an schema entry like <AttributeSchema cosQualifier="default" i18nKey="a123" isSearchable="no" name="openam-session-timeout-handler-list" syntax="string" type="list" > <DefaultValues><Value></Value></DefaultValues></AttributeSchema> which can lead to a ClassNotFoundException in the OpenAM Session debug log when SessionService.execSessionTimeoutHandlers() is called. amSession:01/27/2015 04:15:54:008 AM NZDT: Thread[pool-2-thread-91,5,main] ERROR: Error while executing the following session timeout handler: java.lang.ClassNotFoundException: at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:190) at com.iplanet.dpro.session.service.SessionService$2.run(SessionService.java:2266) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745) Proposed fix is to add an additional isEmpty check to the class name before trying to do the Class.forName() call. The ssoadm remove-attr-defs command can be used to restore the default schema empty value, for example: remove-attr-defs --servicename iPlanetAMSessionService --schematype global -a openam-session-timeout-handler-list |
Comments |
Comment by Mark de Reeper [ 21/Apr/15 ] |
Fixed in R13520,R13521,R13522 and R13523. |