java/code/src/com/redhat/rhn/manager/errata/ErrataManager.java | 43 +++++++++-
search-server/rhn_search_daemon_dev.conf | 9 +-
search-server/run.sh | 2
3 files changed, 49 insertions(+), 5 deletions(-)
New commits:
commit 01efd4c9fb0023cf47c19b19b31e36eddb1e95fb
Author: jesus m. rodriguez <jesusr(a)redhat.com>
Date: Mon Jun 1 16:20:52 2009 -0400
496933 - update the errata index when publishing an errata.
diff --git a/java/code/src/com/redhat/rhn/manager/errata/ErrataManager.java
b/java/code/src/com/redhat/rhn/manager/errata/ErrataManager.java
index 8b42266..2535b63 100644
--- a/java/code/src/com/redhat/rhn/manager/errata/ErrataManager.java
+++ b/java/code/src/com/redhat/rhn/manager/errata/ErrataManager.java
@@ -63,6 +63,9 @@ import java.util.List;
import java.util.Map;
import java.util.Set;
+import redstone.xmlrpc.XmlRpcClient;
+import redstone.xmlrpc.XmlRpcFault;
+
/**
* ErrataManager is the singleton class used to provide business operations
* on Errata, where those operations interact with other top tier business
@@ -125,7 +128,7 @@ public class ErrataManager extends BaseManager {
/**
* Takes an unpublished errata and returns a published errata into the
* channels we pass in. NOTE: This method does NOT update the errata cache for
- * the channels. THat is done when packages are pushed as part of the errata
+ * the channels. That is done when packages are pushed as part of the errata
* publication process (which is not done here)
*
* @param unpublished The errata to publish
@@ -140,6 +143,9 @@ public class ErrataManager extends BaseManager {
retval = addChannelsToErrata(retval, channelIds, user);
log.debug("publish - updateErrataCacheForChannelsAsync called");
+
+ // update the search server
+ updateSearchIndex();
return retval;
}
@@ -153,6 +159,9 @@ public class ErrataManager extends BaseManager {
//pass on to the factory
Errata retval = ErrataFactory.publish(unpublished);
log.debug("publish - errata published");
+
+ // update the search server
+ updateSearchIndex();
return retval;
}
@@ -1197,5 +1206,35 @@ public class ErrataManager extends BaseManager {
return m.execute(params);
}
-
+ /**
+ * update the errata search index.
+ * @return true if index was updated, false otherwise.
+ */
+ private static boolean updateSearchIndex() {
+ boolean flag = false;
+
+ try {
+ XmlRpcClient client = new XmlRpcClient(Config.get().getSearchServerUrl(),
true);
+ List args = new ArrayList();
+ args.add("errata");
+ Boolean rc = (Boolean)client.invoke("admin.updateIndex", args);
+ flag = rc.booleanValue();
+ }
+ catch (XmlRpcFault e) {
+ // right now updateIndex doesn't throw any faults.
+ log.error("Errata index not updated. Search server unavailable." +
+ "ErrorCode = " + e.getErrorCode(), e);
+ e.printStackTrace();
+ }
+ catch (Exception e) {
+ // if the search server is down, folks will know when they
+ // attempt to search. If this call failed the errata in
+ // question won't be searchable immediately, but will get picked
+ // up the next time the search server runs the job (after being
+ // restarted.
+ log.error("Errata index not updated. Search server unavailable.",
e);
+ }
+
+ return flag;
+ }
}
commit 8e99400b19fa5241ee5a3b4dfbe76c7f1d7553a7
Author: jesus m. rodriguez <jesusr(a)redhat.com>
Date: Mon Jun 1 16:13:41 2009 -0400
added java debugger options for local dev config
diff --git a/search-server/rhn_search_daemon_dev.conf
b/search-server/rhn_search_daemon_dev.conf
index d9f12ac..964fe46 100644
--- a/search-server/rhn_search_daemon_dev.conf
+++ b/search-server/rhn_search_daemon_dev.conf
@@ -34,7 +34,12 @@ wrapper.console.format=PM
wrapper.console.loglevel=INFO
wrapper.logfile=%PWD%/rhn_search_daemon.log
wrapper.logfile.format=LPTM
-wrapper.logfile.loglevel=INFO
+wrapper.logfile.loglevel=DEBUG
wrapper.logfile.maxsize=5m
wrapper.logfile.maxfiles=0
-wrapper.syslog.loglevel=NONE
+wrapper.syslog.loglevel=DEBUG
+
+wrapper.java.additional.1=-Dsearch.config.dir=%PWD%/src/config/search
+wrapper.java.additional.2=-Xdebug
+wrapper.java.additional.3=-Xnoagent
+wrapper.java.additional.4=-Xrunjdwp:transport=dt_socket,address=9999,server=y,suspend=n
commit 25cae0c660aaf2ffd1b0c967469f94d7035c9788
Author: jesus m. rodriguez <jesusr(a)redhat.com>
Date: Mon Jun 1 16:13:13 2009 -0400
store pid file locally.
diff --git a/search-server/run.sh b/search-server/run.sh
index 7689518..0bbf58a 100755
--- a/search-server/run.sh
+++ b/search-server/run.sh
@@ -14,4 +14,4 @@ fi
echo "starting server"
export CLASSPATH=`pwd`/build
#java -Djava.library.path=/usr/lib -classpath `build-classpath-directory lib dist`
com.redhat.satellite.search.Main
-/usr/sbin/tanukiwrapper `pwd`/rhn_search_daemon_dev.conf wrapper.pidfile=rhn-search.pid
wrapper.daemonize=FALSE
+/usr/sbin/tanukiwrapper `pwd`/rhn_search_daemon_dev.conf
wrapper.pidfile=`pwd`/rhn-search.pid wrapper.daemonize=FALSE
Show replies by date