SLING-11805 : PROPERTIES_CHANGED should not stop slingId cleanup
diff --git a/src/main/java/org/apache/sling/discovery/oak/SlingIdCleanupTask.java b/src/main/java/org/apache/sling/discovery/oak/SlingIdCleanupTask.java
index 3316cbc..fb51070 100644
--- a/src/main/java/org/apache/sling/discovery/oak/SlingIdCleanupTask.java
+++ b/src/main/java/org/apache/sling/discovery/oak/SlingIdCleanupTask.java
@@ -273,12 +273,16 @@
             return;
         }
         final TopologyView newView = event.getNewView();
-        if (newView == null || event.getType() == Type.PROPERTIES_CHANGED) {
+        if (event.getType() == Type.PROPERTIES_CHANGED) {
+            // ignore those
+        } else if (newView == null) {
+            // that's a TOPOLOGY_CHANGING
             hasTopology = false; // stops potentially ongoing deletion
             currentView = null;
             // cancel cleanup schedule
             stop();
         } else {
+            // that's TOPOLOGY_INIT or TOPOLOGY_CHANGED
             hasTopology = true;
             currentView = newView;
             seenInstances.addAll(getActiveSlingIds(newView));
@@ -303,7 +307,11 @@
             return;
         }
         final boolean unscheduled = localScheduler.unschedule(SCHEDULE_NAME);
-        logger.debug("stop: unschedule result={}", unscheduled);
+        if (unscheduled) {
+            logger.info("stop: unscheduled");
+        } else {
+            logger.debug("stop: unschedule was not necessary");
+        }
     }
 
     /**
@@ -340,7 +348,7 @@
         }
         cal.add(Calendar.MILLISECOND, delayMillis);
         final Date scheduledDate = cal.getTime();
-        logger.debug(
+        logger.info(
                 "recreateSchedule: scheduling a cleanup in {} milliseconds from now, which is: {}",
                 delayMillis, scheduledDate);
         ScheduleOptions options = localScheduler.AT(scheduledDate);
diff --git a/src/test/java/org/apache/sling/discovery/oak/TestSlingIdCleanupTask.java b/src/test/java/org/apache/sling/discovery/oak/TestSlingIdCleanupTask.java
index b5d59cd..0a95df4 100644
--- a/src/test/java/org/apache/sling/discovery/oak/TestSlingIdCleanupTask.java
+++ b/src/test/java/org/apache/sling/discovery/oak/TestSlingIdCleanupTask.java
@@ -61,7 +61,6 @@
 import org.apache.sling.discovery.oak.its.setup.OakVirtualInstanceBuilder;
 import org.junit.After;
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.mockito.Mockito;
 import org.osgi.framework.BundleContext;
@@ -428,7 +427,6 @@
     }
 
     @Test
-    @Ignore(value = "currently fails")
     public void testTopologyThenPropertiesChanged() throws Exception {
         createCleanupTask(1000, 86400000);
         assertEquals(0, cleanupTask.getDeleteCount());