SLING-7811 - NPE when repository is starting up
Make sure that each repository startup thread has an individual name.
This makes it easier to distinguish repository restart issues during
startup.
diff --git a/src/main/java/org/apache/sling/jcr/base/AbstractSlingRepositoryManager.java b/src/main/java/org/apache/sling/jcr/base/AbstractSlingRepositoryManager.java
index bedb9e7..002d8bc 100644
--- a/src/main/java/org/apache/sling/jcr/base/AbstractSlingRepositoryManager.java
+++ b/src/main/java/org/apache/sling/jcr/base/AbstractSlingRepositoryManager.java
@@ -85,6 +85,8 @@
@ProviderType
public abstract class AbstractSlingRepositoryManager {
+ private static final AtomicInteger startupCounter = new AtomicInteger();
+
/** default log */
private final Logger log = LoggerFactory.getLogger(getClass());
@@ -452,7 +454,7 @@
// start repository asynchronously to allow LoginAdminWhitelist to become available
// NOTE: making this conditional allows tests to register a mock whitelist before
// activating the RepositoryManager, so they don't need to deal with async startup
- startupThread = new Thread("Apache Sling Repository Startup Thread") {
+ startupThread = new Thread("Apache Sling Repository Startup Thread #" + startupCounter.incrementAndGet()) {
@Override
public void run() {
try {