Environment
Novell Log Manager 1.0
Novell Log Manager 1.1
Novell Log Manager 1.2
Novell Log Manager 1.1
Novell Log Manager 1.2
Situation
Restoring a Sentinel Log Manager's partition on a different system by importing it with the Data Restoration tool works just fine, but you get an error when you try to search for events which are contained in that partition. An error similar to the following is generated into the server0.0.log log file:
Tue Mar 29 09:45:26 CEST 2011|SEVERE|Thread-94|esecurity.ccs.comp.event.indexedlog.IndexedLogSearchJob.run
IO Error performing search.; Exception directory '/archive/696080E0-9A20-1029-ADDD-0003BAC9707D/eventdata_archive/20110303_408E7E50-C02E-4325-B7C5-2B9FE4853476/index' exists and is a directory, but cannot be listed: list() returned null; java.io.IOException;
Tue Mar 29 09:45:26 CEST 2011|SEVERE|Thread-94|esecurity.ccs.comp.event.indexedlog.IndexedLogSearchJob.run
java.io.IOException: directory '/archive/696080E0-9A20-1029-ADDD-0003BAC9707D/eventdata_archive/20110303_408E7E50-C02E-4325-B7C5-2B9FE4853476/index' exists and is a directory, but cannot be listed: list() returned null
at org.apache.lucene.store.FSDirectory.listAll(FSDirectory.java:516)
at org.apache.lucene.store.FSDirectory.listAll(FSDirectory.java:531)
at esecurity.ccs.comp.event.indexedlog.SquashFSDirectory.listAll(SquashFSDirectory.java:331)
at org.apache.lucene.index.SegmentInfos$FindSegmentsFile.run(SegmentInfos.java:585)
at org.apache.lucene.index.DirectoryReader.open(DirectoryReader.java:68)
at org.apache.lucene.index.IndexReader.open(IndexReader.java:476)
at org.apache.lucene.index.IndexReader.open(IndexReader.java:403)
at esecurity.ccs.comp.event.indexedlog.IndexedLogSearcher.open(IndexedLogSearcher.java:215)
at esecurity.ccs.comp.event.indexedlog.IndexedLogSearcher.<init>(IndexedLogSearcher.java:177)
at esecurity.ccs.comp.event.indexedlog.IndexedLogPartitionManager.getIndexedLogSearcher(IndexedLogPartitionManager.java:693)
at esecurity.ccs.comp.event.indexedlog.IndexedLogSearchJob.run(IndexedLogSearchJob.java:493)
at esecurity.base.ccs.comp.threadpool.TaskThreadPool$RunWrapper.run(TaskThreadPool.java:89)
at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:732)
at java.lang.Thread.run(Thread.java:619)
On the original system the same partition seems to be read correctly. Also, trying mounting the squashed File System manually works just fine.
Tue Mar 29 09:45:26 CEST 2011|SEVERE|Thread-94|esecurity.ccs.comp.event.indexedlog.IndexedLogSearchJob.run
IO Error performing search.; Exception directory '/archive/696080E0-9A20-1029-ADDD-0003BAC9707D/eventdata_archive/20110303_408E7E50-C02E-4325-B7C5-2B9FE4853476/index' exists and is a directory, but cannot be listed: list() returned null; java.io.IOException;
Tue Mar 29 09:45:26 CEST 2011|SEVERE|Thread-94|esecurity.ccs.comp.event.indexedlog.IndexedLogSearchJob.run
java.io.IOException: directory '/archive/696080E0-9A20-1029-ADDD-0003BAC9707D/eventdata_archive/20110303_408E7E50-C02E-4325-B7C5-2B9FE4853476/index' exists and is a directory, but cannot be listed: list() returned null
at org.apache.lucene.store.FSDirectory.listAll(FSDirectory.java:516)
at org.apache.lucene.store.FSDirectory.listAll(FSDirectory.java:531)
at esecurity.ccs.comp.event.indexedlog.SquashFSDirectory.listAll(SquashFSDirectory.java:331)
at org.apache.lucene.index.SegmentInfos$FindSegmentsFile.run(SegmentInfos.java:585)
at org.apache.lucene.index.DirectoryReader.open(DirectoryReader.java:68)
at org.apache.lucene.index.IndexReader.open(IndexReader.java:476)
at org.apache.lucene.index.IndexReader.open(IndexReader.java:403)
at esecurity.ccs.comp.event.indexedlog.IndexedLogSearcher.open(IndexedLogSearcher.java:215)
at esecurity.ccs.comp.event.indexedlog.IndexedLogSearcher.<init>(IndexedLogSearcher.java:177)
at esecurity.ccs.comp.event.indexedlog.IndexedLogPartitionManager.getIndexedLogSearcher(IndexedLogPartitionManager.java:693)
at esecurity.ccs.comp.event.indexedlog.IndexedLogSearchJob.run(IndexedLogSearchJob.java:493)
at esecurity.base.ccs.comp.threadpool.TaskThreadPool$RunWrapper.run(TaskThreadPool.java:89)
at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:732)
at java.lang.Thread.run(Thread.java:619)
On the original system the same partition seems to be read correctly. Also, trying mounting the squashed File System manually works just fine.
Resolution
This most likely happens because the user ID of the novell user is different between the source and the destination system, where the source is the system where the partition has been created, and the destination is the system where the partition has been restored.
To resolution is to set both the user ID (UID) and the group ID (GID) of the novell user on the destination system to be the same of the source system. This can be accomplished either using YaST or via command line.
More details can be found in the documentation "SLES 11 Deployment Guide", section 12.2 "Managing User Accounts" at the following link:
https://www.novell.com/documentation/sles11/book_sle_deployment/?page=/documentation/sles11/book_sle_deployment/data/sec_y2_userman_users.html
To resolution is to set both the user ID (UID) and the group ID (GID) of the novell user on the destination system to be the same of the source system. This can be accomplished either using YaST or via command line.
More details can be found in the documentation "SLES 11 Deployment Guide", section 12.2 "Managing User Accounts" at the following link:
https://www.novell.com/documentation/sles11/book_sle_deployment/?page=/documentation/sles11/book_sle_deployment/data/sec_y2_userman_users.html