Unable to Save Changes in LSA Federated System

, ,

When making a change via the Lawson Security Administrator (LSA) tool like adding or removing a role for example, saving the changes make get an error saying it cannot make the change.


“Unable to change object(RMidValue), change failed. Original Exception: null”


How can I resolve this?


Steps To Reproduce:


Duplicate this in a “Federated” setup, Lawson System Foundation (LSF) is federated with Landmark


You would need to have a lock situation with the write.lock file for the Infor Security Services (ISS) Search index (Lucene Index), example message from the LAWDIR/system/security_search.log:


org.apache.lucene.store.LockObtainFailedException: Lock obtain timed out: NativeFSLock@/lsfprod1/law/system/search/index/resource/DEFAULT/index_2/write.lock




at org.apache.lucene.store.Lock.obtain(Lock.java:84)


at org.apache.lucene.index.IndexWriter.init(IndexWriter.java:1060)


at org.apache.lucene.index.IndexWriter.<init>(IndexWriter.java:882)


at com.lawson.lawsec.search.lucene.LuceneIndexManager.<init>(LuceneIndexManager.java:45)


at com.lawson.lawsec.search.lucene.IndexWriterRegistry.initForTenant(IndexWriterRegistry.java:131)


at com.lawson.lawsec.search.lucene.IndexWriterRegistry.lookup(IndexWriterRegistry.java:196)


at com.lawson.lawsec.search.lucene.LuceneIndexServiceFactory.createLucenenServiceForRM(LuceneIndexServiceFactory.java:69)


at com.lawson.lawsec.search.lucene.LuceneIndexServiceFactory.createIndexServiceForRM(LuceneIndexServiceFactory.java:34)


at com.lawson.lawrm.search.RMIndexManager.updateIndex(RMIndexManager.java:244)


at com.lawson.lawsec.server.events.ServerRMDataAccessEvent.processRMResource(ServerRMDataAccessEvent.java:699)


at com.lawson.lawsec.server.events.ServerRMDataAccessEvent.processRMDataEvent(ServerRMDataAccessEvent.java:173)


at com.lawson.lawsec.server.events.ServerRMDataAccessEvent.process(ServerRMDataAccessEvent.java:92)


at com.lawson.lawsec.server.SecurityEventHandler.processEvent(SecurityEventHandler.java:634)


at com.lawson.lawsec.server.SecurityEventHandler.run(SecurityEventHandler.java:377)




Log into the LSA tool


Go to User Management


Go to User Maintenance


Search for a user


Right click on the user’s record and choose “Edit RM Information”


double click the Role field to show the roles available and assigned


add or remove a role from the list and hit finish.


Go to the Edit menu and choose “Change”


You should receive the error in the status bar of the LSA tool


“Unable to change object(RMidValue), change failed. Original Exception: null”


Work Around:


Try rebuilding the ISS Search Index, this is not guaranteed to work;


ssoconfig -c


enter your password for ssoconfig


option 20 –  Manage Search Index


option 2   –  Build Monitoring Full Index


When this finishes, then next;


option 1   –  Build Resources Full Index


This step may take a while, you can monitor the status of the rebuild in the LAWDIR/system/security_search.log file. When this finishes then;


option 4   –  Refresh Server Index