Uploaded image for project: 'Sakai'
  1. Sakai
  2. SAK-27617

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

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Verified
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 2.7.2, 2.8.0, 2.8.1, 2.8.2
    • Fix Version/s: 2.8.3, 2.9.1
    • Component/s: Search
    • Labels:
    • Previous Issue Keys:
      SRCH-96

      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.

        Gliffy Diagrams

          Zeplin

            Attachments

              Issue Links

                Activity

                  People

                  Assignee:
                  zqian Zhen Qian
                  Reporter:
                  zqian Zhen Qian
                  Votes:
                  0 Vote for this issue
                  Watchers:
                  4 Start watching this issue

                    Dates

                    Created:
                    Updated:
                    Resolved:

                      Git Integration