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