Merge pull request #502 from bcarrier/keyword_search_exception

Keyword search exception
This commit is contained in:
Richard Cordovano 2014-02-26 15:31:08 -05:00
commit 60f3bf260c
3 changed files with 19 additions and 12 deletions

View File

@ -66,9 +66,9 @@ class Installer extends ModuleInstall {
int serverStopPort = server.getCurrentSolrStopPort();
logger.log(Level.SEVERE, "There's already a server running on "
+ serverPort + " port that can't be shutdown.");
if (!Server.available(serverPort)) {
if (!Server.isPortAvailable(serverPort)) {
reportPortError(serverPort);
} else if (!Server.available(serverStopPort)) {
} else if (!Server.isPortAvailable(serverStopPort)) {
reportStopPortError(serverStopPort);
} else {
//some other reason
@ -95,7 +95,7 @@ class Installer extends ModuleInstall {
//TODO move some of this logic to Server class
for (int i = 0; i <= 3; i++) {
logger.log(Level.INFO, "Checking if port available.");
if (Server.available(server.getCurrentSolrServerPort())) {
if (Server.isPortAvailable(server.getCurrentSolrServerPort())) {
logger.log(Level.INFO, "Port available, trying to start server.");
server.start();
break;
@ -165,9 +165,9 @@ class Installer extends ModuleInstall {
//check if port is taken or some other reason
int serverPort = server.getCurrentSolrServerPort();
int serverStopPort = server.getCurrentSolrStopPort();
if (!Server.available(serverPort)) {
if (!Server.isPortAvailable(serverPort)) {
reportPortError(serverPort);
} else if (!Server.available(serverStopPort)) {
} else if (!Server.isPortAvailable(serverStopPort)) {
reportStopPortError(serverStopPort);
} else {
//some other reason

View File

@ -44,6 +44,7 @@ import org.netbeans.api.progress.aggregate.AggregateProgressFactory;
import org.netbeans.api.progress.aggregate.AggregateProgressHandle;
import org.netbeans.api.progress.aggregate.ProgressContributor;
import org.openide.util.Cancellable;
import org.openide.util.Exceptions;
import org.sleuthkit.autopsy.casemodule.Case;
import org.sleuthkit.autopsy.coreutils.EscapeUtil;
import org.sleuthkit.autopsy.coreutils.MessageNotifyUtil;
@ -361,8 +362,7 @@ public final class KeywordSearchIngestModule extends IngestModuleAbstractFile {
logger.log(Level.SEVERE, msg);
String details = NbBundle.getMessage(this.getClass(), "KeywordSearchIngestModule.init.tryStopSolrMsg", msg);
services.postMessage(IngestMessage.createErrorMessage(++messageID, instance, msg, details));
return;
throw new IngestModuleException(msg);
}
} catch (KeywordSearchModuleException ex) {
logger.log(Level.WARNING, "Error checking if Solr server is running while initializing ingest", ex);
@ -370,9 +370,15 @@ public final class KeywordSearchIngestModule extends IngestModuleAbstractFile {
String msg = NbBundle.getMessage(this.getClass(), "KeywordSearchIngestModule.init.badInitMsg");
String details = NbBundle.getMessage(this.getClass(), "KeywordSearchIngestModule.init.tryStopSolrMsg", msg);
services.postMessage(IngestMessage.createErrorMessage(++messageID, instance, msg, details));
return;
throw new IngestModuleException(msg);
}
try {
// make an actual query to verify that server is responding
// we had cases where getStatus was OK, but the connection resulted in a 404
server.queryNumIndexedDocuments();
} catch (KeywordSearchModuleException | NoOpenCoreException ex) {
throw new IngestModuleException("Error connecting to SOLR server: " + ex.getMessage());
}
//initialize extractors
stringExtractor = new AbstractFileStringExtract();
@ -415,7 +421,7 @@ public final class KeywordSearchIngestModule extends IngestModuleAbstractFile {
curDataSourceIds = new HashSet<Long>();
indexer = new Indexer();
final int updateIntervalMs = KeywordSearchSettings.getUpdateFrequency().getTime() * 60 * 1000;
logger.log(Level.INFO, "Using commit interval (ms): " + updateIntervalMs);
logger.log(Level.INFO, "Using searcher interval (ms): " + updateIntervalMs);

View File

@ -350,7 +350,7 @@ public class Server {
*/
void start() throws KeywordSearchModuleException, SolrServerNoPortException {
logger.log(Level.INFO, "Starting Solr server from: " + solrFolder.getAbsolutePath());
if (available(currentSolrServerPort)) {
if (isPortAvailable(currentSolrServerPort)) {
logger.log(Level.INFO, "Port [" + currentSolrServerPort + "] available, starting Solr");
try {
final String MAX_SOLR_MEM_MB_PAR = "-Xmx" + Integer.toString(MAX_SOLR_MEM_MB) + "m";
@ -419,7 +419,7 @@ public class Server {
*
* @param port the port to check for availability
*/
static boolean available(int port) {
static boolean isPortAvailable(int port) {
ServerSocket ss = null;
try {
@ -524,6 +524,7 @@ public class Server {
//TODO handle timeout in cases when some other type of server on that port
CoreAdminRequest.getStatus(null, solrServer);
logger.log(Level.INFO, "Solr server is running");
} catch (SolrServerException ex) {