You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by ch...@apache.org on 2017/07/18 06:16:26 UTC
svn commit: r1802242 - in
/jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/index:
IndexCommand.java LoggingInitializer.java
Author: chetanm
Date: Tue Jul 18 06:16:26 2017
New Revision: 1802242
URL: http://svn.apache.org/viewvc?rev=1802242&view=rev
Log:
OAK-6409 - Oak-run indexing: improved (user friendly) output
Ensure that Logback is stopped otherwise some threads keep command running
even after completion
Modified:
jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/index/IndexCommand.java
jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/index/LoggingInitializer.java
Modified: jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/index/IndexCommand.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/index/IndexCommand.java?rev=1802242&r1=1802241&r2=1802242&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/index/IndexCommand.java (original)
+++ jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/index/IndexCommand.java Tue Jul 18 06:16:26 2017
@@ -76,15 +76,28 @@ public class IndexCommand implements Com
setupDirectories(indexOpts);
setupLogging(indexOpts);
- if (indexOpts.isReindex() && opts.getCommonOpts().isReadWrite()) {
- performReindexInReadWriteMode(indexOpts);
- } else {
- try (Closer closer = Closer.create()) {
- NodeStoreFixture fixture = NodeStoreFixtureProvider.create(opts);
- closer.register(fixture);
- execute(fixture, indexOpts, closer);
- tellReportPaths();
+ boolean success = false;
+ try {
+ if (indexOpts.isReindex() && opts.getCommonOpts().isReadWrite()) {
+ performReindexInReadWriteMode(indexOpts);
+ } else {
+ try (Closer closer = Closer.create()) {
+ NodeStoreFixture fixture = NodeStoreFixtureProvider.create(opts);
+ closer.register(fixture);
+ execute(fixture, indexOpts, closer);
+ tellReportPaths();
+ }
}
+ success = true;
+ } catch (Throwable e) {
+ log.error("Error occurred while performing index tasks", e);
+ e.printStackTrace(System.err);
+ } finally {
+ shutdownLogging();
+ }
+
+ if (!success) {
+ System.exit(1);
}
}
@@ -272,6 +285,10 @@ public class IndexCommand implements Com
new LoggingInitializer(indexOpts.getWorkDir()).init();
}
+ private void shutdownLogging() {
+ LoggingInitializer.shutdownLogging();
+ }
+
private static String now() {
return ISO8601.format(Calendar.getInstance());
}
Modified: jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/index/LoggingInitializer.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/index/LoggingInitializer.java?rev=1802242&r1=1802241&r2=1802242&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/index/LoggingInitializer.java (original)
+++ jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/index/LoggingInitializer.java Tue Jul 18 06:16:26 2017
@@ -64,6 +64,11 @@ public class LoggingInitializer {
log.info("Logs would be written to {}", new File(workDir, "indexing.log"));
}
+ public static void shutdownLogging(){
+ LoggerContext context = (LoggerContext) LoggerFactory.getILoggerFactory();
+ context.stop();
+ }
+
private void configureLogback(File config) {
LoggerContext context = (LoggerContext) LoggerFactory.getILoggerFactory();