search-server/spacewalk-search/spacewalk-search.spec
| 34 +++++++++-
search-server/spacewalk-search/src/config/search/rhn_search.conf
| 2
search-server/spacewalk-search/src/java/com/redhat/satellite/search/index/IndexManager.java
| 2
search-server/spacewalk-search/src/java/com/redhat/satellite/search/index/tests/IndexManagerTest.java
| 2
4 files changed, 35 insertions(+), 5 deletions(-)
New commits:
commit 971e0b9b1357f4e77ea9ee194ea5ae0f4f5d5f4b
Author: Jan Pazdziora <jpazdziora(a)redhat.com>
Date: Fri Nov 23 14:07:45 2012 +0100
Store search indexes in /var.
diff --git a/search-server/spacewalk-search/spacewalk-search.spec
b/search-server/spacewalk-search/spacewalk-search.spec
index 6258904..ad532a7 100644
--- a/search-server/spacewalk-search/spacewalk-search.spec
+++ b/search-server/spacewalk-search/spacewalk-search.spec
@@ -83,8 +83,10 @@ rm -fr ${RPM_BUILD_ROOT}
ant -Djar.version=%{version} install
install -d -m 755 $RPM_BUILD_ROOT%{_prefix}/share/rhn/config-defaults
install -d -m 755 $RPM_BUILD_ROOT%{_prefix}/share/rhn/search
-install -d -m 755 $RPM_BUILD_ROOT%{_prefix}/share/rhn/search/indexes
install -d -m 755 $RPM_BUILD_ROOT%{_prefix}/share/rhn/search/lib
+install -d -m 755 $RPM_BUILD_ROOT%{_var}/lib/rhn/search
+install -d -m 755 $RPM_BUILD_ROOT%{_var}/lib/rhn/search/indexes
+ln -s -f %{_prefix}/share/rhn/search/indexes/docs
$RPM_BUILD_ROOT%{_var}/lib/rhn/search/indexes/docs
install -d -m 755 $RPM_BUILD_ROOT%{_initrddir}
install -d -m 755 $RPM_BUILD_ROOT%{_bindir}
install -d -m 755 $RPM_BUILD_ROOT%{_var}/log/rhn/search
@@ -107,6 +109,32 @@ rm -rf $RPM_BUILD_ROOT
# This adds the proper /etc/rc*.d links for the script
/sbin/chkconfig --add rhn-search
+was_running=0
+if /sbin/service rhn-search status > /dev/null 2>&1 ; then
+ was_running=1
+fi
+
+# Migrate original /usr/share/rhn/search/indexes/*
+# to /var/lib/rhn/search/indexes
+cd %{_prefix}/share/rhn/search/indexes && /bin/ls | /bin/grep -v docs | while
read i ; do
+ if [ ! -e %{_var}/lib/rhn/search/indexes/$i ] ; then
+ if [ $was_running -eq 1 ] ; then
+ /sbin/service rhn-search stop > /dev/null 2>&1
+ was_running=2
+ fi
+ /bin/mv $i %{_var}/lib/rhn/search/indexes/$i
+ # If the mv failed for whatever reason, symlink
+ if [ -e $i ] ; then
+ /bin/rm -rf %{_var}/lib/rhn/search/indexes/$i
+ /bin/ln -s -f %{_prefix}/share/rhn/search/indexes/$i
%{_var}/lib/rhn/search/indexes/$i
+ fi
+ fi
+done
+
+if [ $was_running -eq 1 ] ; then
+ /sbin/service rhn-search status > /dev/null 2>&1 || /sbin/service
rhn-search start > /dev/null 2>&1
+fi
+
%preun
if [ $1 = 0 ] ; then
/sbin/service rhn-search stop >/dev/null 2>&1
@@ -116,12 +144,14 @@ fi
%files
%attr(755, root, root) %{_var}/log/rhn/search
%{_prefix}/share/rhn/search/lib/*
-%attr(755, root, root) %{_prefix}/share/rhn/search/indexes
%attr(755, root, root) %{_initrddir}/rhn-search
%attr(755, root, root) %{_bindir}/rhnsearchd
%{_prefix}/share/rhn/config-defaults/rhn_search.conf
%{_prefix}/share/rhn/config-defaults/rhn_search_daemon.conf
%{_sysconfdir}/logrotate.d/rhn-search
+%dir %attr(755, root, root) %{_var}/lib/rhn/search
+%dir %attr(755, root, root) %{_var}/lib/rhn/search/indexes
+%attr(755, root, root) %{_var}/lib/rhn/search/indexes/docs
%changelog
* Tue Oct 30 2012 Jan Pazdziora 1.8.6-1
diff --git a/search-server/spacewalk-search/src/config/search/rhn_search.conf
b/search-server/spacewalk-search/src/config/search/rhn_search.conf
index d6f0b64..34dd771 100644
--- a/search-server/spacewalk-search/src/config/search/rhn_search.conf
+++ b/search-server/spacewalk-search/src/config/search/rhn_search.conf
@@ -1,4 +1,4 @@
-search.index_work_dir=/usr/share/rhn/search/indexes
+search.index_work_dir=/var/lib/rhn/search/indexes
search.rpc_handlers=index:com.redhat.satellite.search.rpc.handlers.IndexHandler,db:com.redhat.satellite.search.rpc.handlers.DatabaseHandler,admin:com.redhat.satellite.search.rpc.handlers.AdminHandler
search.max_hits_returned=500
search.connection.driver_class=oracle.jdbc.driver.OracleDriver
diff --git
a/search-server/spacewalk-search/src/java/com/redhat/satellite/search/index/IndexManager.java
b/search-server/spacewalk-search/src/java/com/redhat/satellite/search/index/IndexManager.java
index 547066b..ff61b3e 100644
---
a/search-server/spacewalk-search/src/java/com/redhat/satellite/search/index/IndexManager.java
+++
b/search-server/spacewalk-search/src/java/com/redhat/satellite/search/index/IndexManager.java
@@ -189,7 +189,7 @@ public class IndexManager {
// this exception is thrown, when there're no packages or errata on the
system
// and the user performs a search
// if this is the case, just return 0 results, otherwise rethrow the
exception
- if (!e.getMessage().contains("no segments* file found in
org.apache.lucene.store.FSDirectory@/usr/share/rhn/search/indexes")) {
+ if (!e.getMessage().contains("no segments* file found in
org.apache.lucene.store.FSDirectory@/var/lib/rhn/search/indexes")) {
throw new IndexingException(e);
}
log.error(e.getMessage());
diff --git
a/search-server/spacewalk-search/src/java/com/redhat/satellite/search/index/tests/IndexManagerTest.java
b/search-server/spacewalk-search/src/java/com/redhat/satellite/search/index/tests/IndexManagerTest.java
index dec346b..c0f0a98 100644
---
a/search-server/spacewalk-search/src/java/com/redhat/satellite/search/index/tests/IndexManagerTest.java
+++
b/search-server/spacewalk-search/src/java/com/redhat/satellite/search/index/tests/IndexManagerTest.java
@@ -65,7 +65,7 @@ public class IndexManagerTest extends BaseTestCase {
throws IOException, IndexingException, QueryParseException {
Configuration config = TestUtil.makeConfiguration();
- config.setString("search.index_work_dir",
"/usr/share/rhn/search/indexes/");
+ config.setString("search.index_work_dir",
"/var/lib/rhn/search/indexes/");
IndexManager indexMgr = new IndexManager(config);
//
// TODO: Revisit how docs data gets injected for testing.
Show replies by date