Information Analyzer Rule/Ruleset execution fails with an error "com.ascential.xmeta.persistence.PersistenceException: Can't get current session!"
Problem(Abstract)
Information Analyzer Rule/Ruleset execution fails with an error "com.ascential.xmeta.persistence.PersistenceException: Can't get current session!"
Cause
This error occurs if the Rule/Ruleset execution time is larger than the Session timeout
Diagnosing the problem
Check the log iasServer-<server_name>.log under <WebSphere_Install_Dir>/AppServer/profiles/<profile_name> for the following errors:
com.ascential.xmeta.repository.RepositoryException: Error loading objects from list of rids
at com.ascential.xmeta.repository.impl.AbstractDefaultRepository.loadByRid(AbstractDefaultRepository.java:683)
at com.ascential.xmeta.service.repository.core.impl.actions.LoadObjectsMethodAction.doAction(LoadObjectsMethodAction.java:61)
at com.ascential.xmeta.service.repository.core.impl.RepositoryMethodDispatcher.execute(RepositoryMethodDispatcher.java:161)
... 53 more
Caused by:
com.ascential.xmeta.persistence.PersistenceException: Can't get current session!
Also, you can check the job execution status in the same log file where the job run failed.
Here is an example of what the job log might contain:
2012-10-10 06:50:55,428 Warn [IBM-IA-SERVER] IA Job Status
----------------------------------------------------------------------------------------------
| Job Execution Status -> DataRulesJob70072876
| JOB TYPE : com.ascential.investigate.dr.job.DataRulesJob
| JOB PROCESSOR : com.ascential.investigate.utils.jobs.osh.PXProcessor
|--------------------------------------------------------------------------------------------|
| Data Stage> ANALYZERPROJECT@<MACHINE_NMAE>:31538, credentialMapping=false
| Scratch Data Source> iadb@<machine_name>:50000 (DB2)
| [] pre-process completed (3 sec)
| [] main-process completed (3371 sec)
| [] post-process failed (0 sec)
| |
| Job run *FAILURE* in 56 minute(s) 22 seconds.
----------------------------------------------------------------------------------------------
Resolving the problem
Change the session timeout to a value larger than the rule execution time.
In the "Diagnosing the problem" section above the log displays that the Rule execution took 56 minute(s) 22 seconds. Therefore, the session timeout should be larger than 56 minute(s) 22 seconds.
Follow these steps to change the session timeout value
1. Login to Information Server Administrator Console as Administrator
2. Navigate to Administration > Session Management > Active Sessions
3. Click on "Global Session Properties" on the right hand side
4. Change the value for the property Inactive Session Timeout to the desired value
5. Click "Save and Close"
Once the steps are completed re-run the Rule/Ruleset