wrong log error message when admin user goes into the Search tool admin UI on a search client server

Description

UMich implements search tool in a client-server mode. We have one dedicated server for search, and all other 7 servers are search clients.

If an admin user logs into those search-client servers, goes into the search tool, and click on the Admin link, a log like the following will be generated:

2012-07-25 14:20:15,860 [TP-Processor17] ERROR org.sakaiproject.search.index.impl.ClusterFSIndexStorage - There has been a major poblem with the Search Index which has become corrupted
java.io.IOException: No Index available to open
at org.sakaiproject.search.index.impl.ClusterFSIndexStorage.getIndexReader(ClusterFSIndexStorage.java:203)
at org.sakaiproject.search.index.impl.ClusterFSIndexStorage.getIndexSearcher(ClusterFSIndexStorage.java:280)
at org.sakaiproject.search.index.impl.BaseIndexStorage.getIndexSearcher(BaseIndexStorage.java:107)
at org.sakaiproject.search.index.impl.SearchIndexStorage.getIndexSearcher(SearchIndexStorage.java:287)
at org.sakaiproject.search.component.service.impl.BaseSearchServiceImpl.getIndexSearcher(BaseSearchServiceImpl.java:501)
at org.sakaiproject.search.component.service.impl.BaseSearchServiceImpl.getNDocs(BaseSearchServiceImpl.java:515)
at org.sakaiproject.search.component.service.impl.SearchServiceImpl.getSearchStatus(SearchServiceImpl.java:125)
at org.sakaiproject.search.tool.SearchAdminBeanImpl.getWorkerThreads(SearchAdminBeanImpl.java:640)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.velocity.runtime.parser.node.PropertyExecutor.execute(PropertyExecutor.java:142)
at org.apache.velocity.util.introspection.UberspectImpl$VelGetterImpl.invoke(UberspectImpl.java:533)
at org.apache.velocity.runtime.parser.node.ASTIdentifier.execute(ASTIdentifier.java:198)
at org.apache.velocity.runtime.parser.node.ASTReference.execute(ASTReference.java:262)
at org.apache.velocity.runtime.parser.node.ASTReference.value(ASTReference.java:507)
at org.apache.velocity.runtime.directive.Foreach.render(Foreach.java:282)
at org.apache.velocity.runtime.parser.node.ASTDirective.render(ASTDirective.java:175)
at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:336)
at org.apache.velocity.Template.merge(Template.java:328)
at org.apache.velocity.Template.merge(Template.java:235)
at org.apache.velocity.app.VelocityEngine.mergeTemplate(VelocityEngine.java:381)
at org.apache.velocity.app.VelocityEngine.mergeTemplate(VelocityEngine.java:345)
at org.sakaiproject.search.tool.ControllerServlet2.execute(ControllerServlet2.java:305)
at org.sakaiproject.search.tool.ControllerServlet2.doGet(ControllerServlet2.java:152)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:627)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)

However, the message is not correct. ClusterFSIndexStorage is the default impl for IndexStorage, however, we are using the FSIndexStorage instead. The override is done thorough properties file, but only on search server:

indexStorageName@org.sakaiproject.search.index.IndexStorage=filesystem

While there is no such overrides on search-client servers, this explains why the default value (ClusterFSIndexStorage) is shown in the error.

But the point is, there is no need or it is incorrect for the admin user to go to the Admin UI of search tool on a non-search-server. The link should be hidden for those servers.

In fact, if the admin user tries to do reindex or refresh of the index files, it could cause a non-forseeable consequences on the server.

Attachments

1
  • 31 Jul 2012, 09:00 PM

Activity

Show:

Hudson CI Server January 24, 2013 at 7:58 PM

Integrated in Search 1.3.x #40 (See http://builds.sakaiproject.org:8080/job/Search%201.3.x/40/)
https://sakaiproject.atlassian.net/browse/SRCH-96#icft=SRCH-96 merge trunk 110962 (Revision 118820)

Result = SUCCESS

Steve Swinsburg January 24, 2013 at 7:41 PM

1.3.x r118820

Steve Swinsburg January 24, 2013 at 7:29 PM
Edited

The setting is not in the default sakai props so the admin link will never show, and people won't know how to enable it. Filed and fixed in SAK-23166.

Hudson CI Server January 22, 2013 at 8:52 AM

Integrated in search 1.4.x #50 (See http://builds.sakaiproject.org:8080/job/search%201.4.x/50/)
https://sakaiproject.atlassian.net/browse/SRCH-96#icft=SRCH-96 merge r110962 from trunk (Revision 118572)

Result = SUCCESS

Sam Ottenhoff January 22, 2013 at 8:42 AM

1.4.x r118572

Fixed

Details

Priority

Affects versions

Fix versions

Components

Assignee

Reporter

Created July 25, 2012 at 11:31 AM
Updated July 28, 2014 at 1:23 PM
Resolved August 1, 2012 at 7:47 AM