You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by st...@apache.org on 2016/11/15 12:38:36 UTC

svn commit: r1769802 [3/3] - in /sling/trunk/bundles/extensions/discovery: base/ base/src/main/java/org/apache/sling/discovery/base/connectors/announcement/ base/src/test/java/org/apache/sling/discovery/base/its/ base/src/test/java/org/apache/sling/dis...

Modified: sling/trunk/bundles/extensions/discovery/impl/src/test/java/org/apache/sling/discovery/impl/cluster/voting/VotingHandlerTest.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/discovery/impl/src/test/java/org/apache/sling/discovery/impl/cluster/voting/VotingHandlerTest.java?rev=1769802&r1=1769801&r2=1769802&view=diff
==============================================================================
--- sling/trunk/bundles/extensions/discovery/impl/src/test/java/org/apache/sling/discovery/impl/cluster/voting/VotingHandlerTest.java (original)
+++ sling/trunk/bundles/extensions/discovery/impl/src/test/java/org/apache/sling/discovery/impl/cluster/voting/VotingHandlerTest.java Tue Nov 15 12:38:35 2016
@@ -72,7 +72,7 @@ public class VotingHandlerTest {
     VotingHandler votingHandler3;
     VotingHandler votingHandler4;
     VotingHandler votingHandler5;
-    
+
     String slingId1;
     String slingId2;
     String slingId3;
@@ -84,7 +84,7 @@ public class VotingHandlerTest {
     TestConfig config;
 
     DefaultThreadPool threadPool;
-    
+
     private void resetRepo() throws Exception {
         Session l = RepositoryProvider.instance().getRepository()
                 .loginAdministrative(null);
@@ -97,7 +97,7 @@ public class VotingHandlerTest {
         l.save();
         l.logout();
     }
-    
+
     @Before
     public void setUp() throws Exception {
         slingId1 = UUID.randomUUID().toString();
@@ -105,7 +105,7 @@ public class VotingHandlerTest {
         slingId3 = UUID.randomUUID().toString();
         slingId4 = UUID.randomUUID().toString();
         slingId5 = UUID.randomUUID().toString();
-        
+
         factory = new DummyResourceResolverFactory();
         resetRepo();
         config = new TestConfig("/var/discovery/impltesting/");
@@ -117,26 +117,26 @@ public class VotingHandlerTest {
         votingHandler3 = VotingHandler.testConstructor(new DummySlingSettingsService(slingId3), factory, config);
         votingHandler4 = VotingHandler.testConstructor(new DummySlingSettingsService(slingId4), factory, config);
         votingHandler5 = VotingHandler.testConstructor(new DummySlingSettingsService(slingId5), factory, config);
-        
-        resourceResolver = factory.getAdministrativeResourceResolver(null);
-        
+
+        resourceResolver = factory.getServiceResourceResolver(null);
+
         ModifiableThreadPoolConfig tpConfig = new ModifiableThreadPoolConfig();
         tpConfig.setMinPoolSize(80);
         tpConfig.setMaxPoolSize(80);
         threadPool = new DefaultThreadPool("testing", tpConfig);
     }
-    
+
     @After
     public void tearDown() throws Exception {
         if (resourceResolver != null) {
             resourceResolver.close();
         }
-        
+
         if (threadPool != null) {
             threadPool.shutdown();
         }
     }
-    
+
     @Test
     public void testActivateDeactivate() throws Exception {
         assertFalse((Boolean)PrivateAccessor.getField(votingHandler1, "activated"));
@@ -145,20 +145,20 @@ public class VotingHandlerTest {
         votingHandler1.deactivate();
         assertFalse((Boolean)PrivateAccessor.getField(votingHandler1, "activated"));
     }
-    
+
     @Test
     public void testNoVotings() throws Exception {
         votingHandler1.analyzeVotings(resourceResolver);
     }
-    
+
     private VotingView newVoting2(String newViewId, String initiatorId, String... liveInstances) throws Exception {
         return VotingView.newVoting(resourceResolver, config, newViewId, initiatorId, new HashSet<String>(Arrays.asList(liveInstances)));
     }
-    
+
     private VotingView newVoting(String initiatorId, String... liveInstances) throws Exception {
         return newVoting2(UUID.randomUUID().toString(), initiatorId, liveInstances);
     }
-    
+
     @Test
     public void testPromotion() throws Exception {
         VotingView voting = newVoting(slingId1, slingId1);
@@ -173,7 +173,7 @@ public class VotingHandlerTest {
         assertNotNull(result);
         assertEquals(0, result.size());
     }
-    
+
     @Test
     public void testVotingYesTwoNodes() throws Exception {
         VotingView voting = newVoting(slingId2, slingId1, slingId2);
@@ -272,7 +272,7 @@ public class VotingHandlerTest {
         OSGiMock.activate(hh);
         HeartbeatHelper.issueClusterLocalHeartbeat(hh);
     }
-    
+
     @Test
     public void testTimedout() throws Exception {
         config.setHeartbeatTimeout(1);
@@ -288,7 +288,7 @@ public class VotingHandlerTest {
         assertNotNull(result);
         assertEquals(0, result.size());
     }
-    
+
     private void asyncVote(final String debugInfo, final VotingHandler votingHandler, final List<VotingDetail> votingDetails, final Semaphore ready, final Semaphore go, final Semaphore done, final Set<Throwable> exceptions) throws Exception {
         Runnable r = new Runnable() {
 
@@ -302,7 +302,7 @@ public class VotingHandlerTest {
                     int retries = 0;
                     while(true) {
                         try{
-                            rr = factory.getAdministrativeResourceResolver(null);
+                            rr = factory.getServiceResourceResolver(null);
                             if (retries == 0) {
                                 logger.info("asyncVote["+debugInfo+"] marking ready...");
                                 ready.release();
@@ -421,24 +421,24 @@ public class VotingHandlerTest {
     public void doTestConcurrentVotes(int votingsLoopCnt, int perVotingInnerLoopCnt, VotingHandler... votingHandler) throws Exception {
         config.setHeartbeatInterval(999);
         config.setHeartbeatTimeout(120);
-        
+
         for (VotingHandler handler : votingHandler) {
             handler.activate(null);
         }
-        
+
         int[] totals = new int[votingHandler.length];
-        
+
         List<Map<VotingDetail,Integer>> totalDetails = new LinkedList<Map<VotingDetail,Integer>>();
         for(int i=0; i<votingHandler.length; i++) {
             HashMap<VotingDetail, Integer> d = new HashMap<VotingHandler.VotingDetail, Integer>();
             totalDetails.add(d);
         }
-        
+
         String[] slingIds = new String[votingHandler.length];
         for(int k=0; k<votingHandler.length; k++) {
             slingIds[k] = (String) PrivateAccessor.getField(votingHandler[k], "slingId");
         }
-        
+
         for(int i=0; i<votingsLoopCnt; i++) { // large voting loop
             logger.info("testConcurrentVotes: loop i="+i+", votingHandler.cnt="+votingHandler.length);
 
@@ -455,12 +455,12 @@ public class VotingHandlerTest {
             Semaphore done = new Semaphore(0);
             Set<Throwable> e = new ConcurrentHashSet<Throwable>();
             boolean success = false;
-            
+
             List<List<VotingDetail>> detailList = new LinkedList<List<VotingDetail>>();
             for(int k=0; k<votingHandler.length; k++) {
                 detailList.add(new LinkedList<VotingHandler.VotingDetail>());
             }
-            
+
             for(int j=0; j<perVotingInnerLoopCnt; j++) {
                 logger.info("testConcurrentVotes: loop i="+i+", votingHandler.cnt="+votingHandler.length+", j="+j);
                 for(int k=0; k<votingHandler.length; k++) {
@@ -478,7 +478,7 @@ public class VotingHandlerTest {
                 if (e.size()!=0) {
                     fail("Got exceptions: "+e.size()+", first: "+e.iterator().next());
                 }
-                
+
                 int promotionTotalCount = 0;
                 int noTotalCount = 0;
                 for(int k=0; k<votingHandler.length; k++) {
@@ -513,7 +513,7 @@ public class VotingHandlerTest {
             sb.append(": ");
             sb.append(totals[k]);
         }
-        
+
         logger.info("testConcurrentVotes: promoted "+sb);
         int totalPromotion = 0;
         for(int k=0; k<votingHandler.length; k++) {
@@ -525,7 +525,7 @@ public class VotingHandlerTest {
             // that is the case when the instance that does not initiate the vote comes first, then
             // the initiator - in that case the initiator finds an already completed vote - and it
             // will then not do any no-votes ..
-            // so .. this check is a) not possible and b) just also not necessary, cos 
+            // so .. this check is a) not possible and b) just also not necessary, cos
             // we already make sure that we at least get 'votingHandler.length-1' no votes in the j-loop
             // and that is precise enough. so as unfortuante as it is, we can't make below assertion..
             // unless we do more white-box-assertions into analyzeVotings, which is probably not helping
@@ -541,7 +541,7 @@ public class VotingHandlerTest {
                 totalPromotion += i;
             }
         }
-        assertEquals((int)votingsLoopCnt, totalPromotion);
+        assertEquals(votingsLoopCnt, totalPromotion);
     }
 
 }

Modified: sling/trunk/bundles/extensions/discovery/impl/src/test/java/org/apache/sling/discovery/impl/common/heartbeat/HeartbeatTest.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/discovery/impl/src/test/java/org/apache/sling/discovery/impl/common/heartbeat/HeartbeatTest.java?rev=1769802&r1=1769801&r2=1769802&view=diff
==============================================================================
--- sling/trunk/bundles/extensions/discovery/impl/src/test/java/org/apache/sling/discovery/impl/common/heartbeat/HeartbeatTest.java (original)
+++ sling/trunk/bundles/extensions/discovery/impl/src/test/java/org/apache/sling/discovery/impl/common/heartbeat/HeartbeatTest.java Tue Nov 15 12:38:35 2016
@@ -35,7 +35,7 @@ import java.util.Set;
 import javax.jcr.Property;
 
 import org.apache.log4j.Level;
-import org.apache.log4j.LogManager;
+import org.apache.log4j.spi.RootLogger;
 import org.apache.sling.api.resource.ModifiableValueMap;
 import org.apache.sling.api.resource.Resource;
 import org.apache.sling.api.resource.ResourceResolver;
@@ -60,7 +60,7 @@ import org.slf4j.LoggerFactory;
 import junitx.util.PrivateAccessor;
 
 public class HeartbeatTest {
-    
+
     private final Logger logger = LoggerFactory.getLogger(this.getClass());
 
     class SimpleTopologyEventListener implements TopologyEventListener {
@@ -73,7 +73,7 @@ public class HeartbeatTest {
         public SimpleTopologyEventListener(String name) {
             this.name = name;
         }
-        
+
         @Override
         public void handleTopologyEvent(TopologyEvent event) {
             events.add(event);
@@ -107,30 +107,30 @@ public class HeartbeatTest {
             lastEvent = event;
             eventCount++;
         }
-        
+
         public int getEventCount() {
             return eventCount;
         }
-        
+
         public TopologyEvent getLastEvent() {
             return lastEvent;
         }
-        
+
     }
-    
+
     Set<VirtualInstance> instances = new HashSet<VirtualInstance>();
     private Level logLevel;
-    
+
     @Before
     public void setup() throws Exception {
-        final org.apache.log4j.Logger discoveryLogger = LogManager.getRootLogger().getLogger("org.apache.sling.discovery");
+        final org.apache.log4j.Logger discoveryLogger = RootLogger.getLogger("org.apache.sling.discovery");
         logLevel = discoveryLogger.getLevel();
         discoveryLogger.setLevel(Level.TRACE);
     }
-    
+
     @After
     public void tearDown() throws Exception {
-        final org.apache.log4j.Logger discoveryLogger = LogManager.getRootLogger().getLogger("org.apache.sling.discovery");
+        final org.apache.log4j.Logger discoveryLogger = RootLogger.getLogger("org.apache.sling.discovery");
         discoveryLogger.setLevel(logLevel);
 
         Iterator<VirtualInstance> it = instances.iterator();
@@ -172,7 +172,7 @@ public class HeartbeatTest {
         Thread.sleep(10); // wait 10ms to ensure 'slowMachine' has the lowerst leaderElectionId (to become leader)
         SimpleTopologyEventListener slowListener = new SimpleTopologyEventListener("slow");
         slowMachine.bindTopologyEventListener(slowListener);
-        
+
         logger.info("doTestPartitioning: creating fastMachine1...");
         FullJR2VirtualInstanceBuilder fastBuilder1 = newBuilder();
         fastBuilder1.setDebugName("fast1")
@@ -233,7 +233,7 @@ public class HeartbeatTest {
         instances.add(fastMachine4);
         SimpleTopologyEventListener fastListener4 = new SimpleTopologyEventListener("fast4");
         fastMachine4.bindTopologyEventListener(fastListener4);
-        
+
         logger.info("doTestPartitioning: --------------------------------");
         logger.info("doTestPartitioning: letting heartbeats be sent by all instances for a few loops...");
         logger.info("doTestPartitioning: --------------------------------");
@@ -278,7 +278,7 @@ public class HeartbeatTest {
             }
             Thread.sleep(1000);
         }
-        
+
         // at this stage the 4 fast plus the slow instance should all see each other
         logger.info("doTestPartitioning: all 4 instances should have agreed on seeing each other");
         assertNotNull(fastListener1.getLastEvent());
@@ -301,7 +301,7 @@ public class HeartbeatTest {
         assertEquals(TopologyEvent.Type.TOPOLOGY_INIT, slowListener.getLastEvent().getType());
         assertEquals(5, slowListener.getLastEvent().getNewView().getInstances().size());
         assertTrue(slowListener.getLastEvent().getNewView().getLocalInstance().isLeader());
-        
+
         // after 12sec the slow instance' heartbeat should have timed out
         logger.info("doTestPartitioning: letting slowMachine NOT send any heartbeats for 12sec, only the fast ones do...");
         for(int i=0; i<12; i++) {
@@ -326,7 +326,7 @@ public class HeartbeatTest {
             Thread.sleep(1000);
         }
         logger.info("doTestPartitioning: this should now have decoupled slowMachine from the other 4...");
-        
+
         // so the fast listeners should only see 4 instances remaining
         for(int i=0; i<7; i++) {
             logger.info("doTestPartitioning: sleeping 2sec...");
@@ -340,7 +340,7 @@ public class HeartbeatTest {
             assertEquals(4, fastListener3.getLastEvent().getNewView().getInstances().size());
             assertEquals(TopologyEvent.Type.TOPOLOGY_CHANGED, fastListener4.getLastEvent().getType());
             assertEquals(4, fastListener4.getLastEvent().getNewView().getInstances().size());
-            
+
             assertTrue(fastListener1.getLastEvent().getNewView().getLocalInstance().isLeader());
             assertFalse(fastListener2.getLastEvent().getNewView().getLocalInstance().isLeader());
             assertFalse(fastListener3.getLastEvent().getNewView().getLocalInstance().isLeader());
@@ -412,7 +412,7 @@ public class HeartbeatTest {
             }
             Thread.sleep(1000);
         }
-        
+
         // now all should be in one cluster again
         assertEquals(TopologyEvent.Type.TOPOLOGY_CHANGED, fastListener1.getLastEvent().getType());
         assertEquals(5, fastListener1.getLastEvent().getNewView().getInstances().size());
@@ -424,7 +424,7 @@ public class HeartbeatTest {
         assertEquals(5, fastListener4.getLastEvent().getNewView().getInstances().size());
         assertEquals(TopologyEvent.Type.TOPOLOGY_CHANGED, slowListener.getLastEvent().getType());
         assertEquals(5, slowListener.getLastEvent().getNewView().getInstances().size());
-        
+
         // SLING-5030 part 2 : after rejoin-after-partitioning the slowMachine1 should again be leader
         slowMachine.dumpRepo();
         assertFalse(slowListener.getLastEvent().getNewView().getLocalInstance().isLeader());
@@ -433,12 +433,12 @@ public class HeartbeatTest {
         assertFalse(fastListener3.getLastEvent().getNewView().getLocalInstance().isLeader());
         assertFalse(fastListener4.getLastEvent().getNewView().getLocalInstance().isLeader());
     }
-    
+
     /**
      * This tests the case where one machine is slow with sending heartbeats
      * and should thus trigger the second, fast machine to kick it out of the topology.
      * But the slow one should also get a TOPOLOGY_CHANGING but just not get a
-     * TOPOLOGY_CHANGED until it finally sends heartbeats again and the voting can 
+     * TOPOLOGY_CHANGED until it finally sends heartbeats again and the voting can
      * happen again.
      */
     @Category(Slow.class) //TODO: takes env 25sec
@@ -480,7 +480,7 @@ public class HeartbeatTest {
         fastMachine.bindTopologyEventListener(fastListener);
         HeartbeatHandler hhSlow = slowMachine.getHeartbeatHandler();
         HeartbeatHandler hhFast = fastMachine.getHeartbeatHandler();
-        
+
         Thread.sleep(1000);
         logger.info("doTestSlowAndFastMachine: no event should have been triggered yet");
         assertFalse(fastMachine.getDiscoveryService().getTopology().isCurrent());
@@ -503,14 +503,14 @@ public class HeartbeatTest {
         }
         logger.info("doTestSlowAndFastMachine: now the two instances should be connected.");
         slowMachine.dumpRepo();
-        
+
         assertEquals(2, slowMachine.getDiscoveryService().getTopology().getInstances().size());
         assertEquals(2, fastMachine.getDiscoveryService().getTopology().getInstances().size());
         assertEquals(TopologyEvent.Type.TOPOLOGY_INIT, fastListener.getLastEvent().getType());
         assertEquals(1, fastListener.getEventCount());
         assertEquals(TopologyEvent.Type.TOPOLOGY_INIT, slowListener.getLastEvent().getType());
         assertEquals(1, slowListener.getEventCount());
-        
+
         // now let the slow machine be slow while the fast one updates as expected
         logger.info("doTestSlowAndFastMachine: last heartbeat of slowMachine.");
         synchronized(lock(hhSlow)) {
@@ -535,10 +535,10 @@ public class HeartbeatTest {
         assertEquals(TopologyEvent.Type.TOPOLOGY_CHANGED, fastListener.getLastEvent().getType());
         assertEquals(3, fastListener.getEventCount());
         assertEquals(1, fastMachine.getDiscoveryService().getTopology().getInstances().size());
-        
+
         TopologyView topo = slowMachine.getDiscoveryService().getTopology();
         assertFalse(topo.isCurrent());
-        
+
         // after those 6 sec, hhSlow does the check (6sec between heartbeat and check)
         logger.info("doTestSlowAndFastMachine: slowMachine is going to do a checkView next - and will detect being decoupled");
         hhSlow.doCheckView();
@@ -560,7 +560,7 @@ public class HeartbeatTest {
         assertEquals(TopologyEvent.Type.TOPOLOGY_CHANGED, fastListener.getLastEvent().getType());
         assertEquals(1, fastMachine.getDiscoveryService().getTopology().getInstances().size());
         assertEquals(3, fastListener.getEventCount());
-        
+
         // make few rounds of heartbeats so that the two instances see each other again
         logger.info("doTestSlowAndFastMachine: now let both fast and slow issue heartbeats...");
         for(int i=0; i<4; i++) {
@@ -575,7 +575,7 @@ public class HeartbeatTest {
             Thread.sleep(1000);
         }
         logger.info("doTestSlowAndFastMachine: by now the two should have joined");
-        
+
         // this should have put the two together again
         // even after 8 sec the slow lsitener did not send a TOPOLOGY_CHANGED yet
         assertEquals(TopologyEvent.Type.TOPOLOGY_CHANGED, fastListener.getLastEvent().getType());
@@ -587,7 +587,7 @@ public class HeartbeatTest {
         assertEquals(2, slowMachine.getDiscoveryService().getTopology().getInstances().size());
         assertEquals(3, slowListener.getEventCount());
     }
-    
+
     private Object lock(HeartbeatHandler heartbeatHandler) throws NoSuchFieldException {
         //TODO: refactor HeartbeatHandler to provide such a synchronized method
         // rather having the test rely on this
@@ -611,7 +611,7 @@ public class HeartbeatTest {
         instances.add(slowMachine1);
         SimpleTopologyEventListener slowListener1 = new SimpleTopologyEventListener("slow1");
         slowMachine1.bindTopologyEventListener(slowListener1);
-        
+
         logger.info("testVotingLoop: creating slowMachine2...");
         FullJR2VirtualInstanceBuilder slowBuilder2 = newBuilder();
         slowBuilder2.setDebugName("slow2")
@@ -623,7 +623,7 @@ public class HeartbeatTest {
         instances.add(slowMachine2);
         SimpleTopologyEventListener slowListener2 = new SimpleTopologyEventListener("slow2");
         slowMachine2.bindTopologyEventListener(slowListener2);
-        
+
         logger.info("testVotingLoop: creating fastMachine...");
         FullJR2VirtualInstanceBuilder fastBuilder = newBuilder();
         fastBuilder.setDebugName("fast")
@@ -638,7 +638,7 @@ public class HeartbeatTest {
         HeartbeatHandler hhSlow1 = slowMachine1.getHeartbeatHandler();
         HeartbeatHandler hhSlow2 = slowMachine2.getHeartbeatHandler();
         HeartbeatHandler hhFast = fastMachine.getHeartbeatHandler();
-        
+
         Thread.sleep(1000);
         logger.info("testVotingLoop: after some initial 1sec sleep no event should yet have been sent");
         assertFalse(fastMachine.getDiscoveryService().getTopology().isCurrent());
@@ -651,7 +651,7 @@ public class HeartbeatTest {
         // prevent the slow machine from voting
         logger.info("testVotingLoop: stopping voting of slowMachine1...");
         slowMachine1.stopVoting();
-        
+
         // now let all issue a heartbeat
         logger.info("testVotingLoop: letting slow1, slow2 and fast all issue 1 heartbeat");
         hhSlow1.issueHeartbeat();
@@ -663,7 +663,7 @@ public class HeartbeatTest {
         // that will cause a voting loop
         logger.info("testVotingLoop: let the fast one do a checkView, thus initiate a voting");
         hhFast.doCheckView();
-        
+
         Calendar previousVotedAt = null;
         for(int i=0; i<5; i++) {
             logger.info("testVotingLoop: sleeping 1sec...");
@@ -672,9 +672,9 @@ public class HeartbeatTest {
             // now check the ongoing votings
             ResourceResolverFactory factory = fastMachine.getResourceResolverFactory();
             ResourceResolver resourceResolver = factory
-                    .getAdministrativeResourceResolver(null);
+                    .getServiceResourceResolver(null);
             try{
-                List<VotingView> ongoingVotings = 
+                List<VotingView> ongoingVotings =
                         VotingHelper.listOpenNonWinningVotings(resourceResolver, fastMachine.getFullConfig());
                 assertNotNull(ongoingVotings);
                 assertEquals(1, ongoingVotings.size());
@@ -697,7 +697,7 @@ public class HeartbeatTest {
                 fail("Exception: "+e);
             }
         }
-        
+
     }
-    
+
 }

Modified: sling/trunk/bundles/extensions/discovery/impl/src/test/java/org/apache/sling/discovery/impl/setup/FullJR2VirtualInstance.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/discovery/impl/src/test/java/org/apache/sling/discovery/impl/setup/FullJR2VirtualInstance.java?rev=1769802&r1=1769801&r2=1769802&view=diff
==============================================================================
--- sling/trunk/bundles/extensions/discovery/impl/src/test/java/org/apache/sling/discovery/impl/setup/FullJR2VirtualInstance.java (original)
+++ sling/trunk/bundles/extensions/discovery/impl/src/test/java/org/apache/sling/discovery/impl/setup/FullJR2VirtualInstance.java Tue Nov 15 12:38:35 2016
@@ -39,9 +39,9 @@ public class FullJR2VirtualInstance exte
     public void stopVoting() {
         fullBuilder.stopVoting();
     }
-    
+
     public void analyzeVotings() throws Exception {
-        ResourceResolver resourceResolver = getResourceResolverFactory().getAdministrativeResourceResolver(null);
+        ResourceResolver resourceResolver = getResourceResolverFactory().getServiceResourceResolver(null);
         fullBuilder.getVotingHandler().analyzeVotings(resourceResolver);
         resourceResolver.close();
     }

Modified: sling/trunk/bundles/extensions/discovery/impl/src/test/java/org/apache/sling/discovery/impl/setup/FullJR2VirtualInstanceBuilder.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/discovery/impl/src/test/java/org/apache/sling/discovery/impl/setup/FullJR2VirtualInstanceBuilder.java?rev=1769802&r1=1769801&r2=1769802&view=diff
==============================================================================
--- sling/trunk/bundles/extensions/discovery/impl/src/test/java/org/apache/sling/discovery/impl/setup/FullJR2VirtualInstanceBuilder.java (original)
+++ sling/trunk/bundles/extensions/discovery/impl/src/test/java/org/apache/sling/discovery/impl/setup/FullJR2VirtualInstanceBuilder.java Tue Nov 15 12:38:35 2016
@@ -70,17 +70,17 @@ public class FullJR2VirtualInstanceBuild
         this.factory = dummyFactory;
         return this;
     }
-    
+
     @Override
     public VirtualInstanceBuilder useRepositoryOf(VirtualInstanceBuilder other) throws Exception {
         super.useRepositoryOf(other);
         DummyResourceResolverFactory dummyFactory = new DummyResourceResolverFactory();
         DummyResourceResolverFactory originalFactory = (DummyResourceResolverFactory) this.factory;
         // force repository to be created now..
-        originalFactory.getAdministrativeResourceResolver(null);
+        originalFactory.getServiceResourceResolver(null);
         dummyFactory.setSlingRepository(originalFactory.getSlingRepository());
         dummyFactory.setArtificialDelay(getDelay());
-        this.factory = dummyFactory; 
+        this.factory = dummyFactory;
         return this;
     }
 
@@ -95,36 +95,36 @@ public class FullJR2VirtualInstanceBuild
         }
         return this;
     }
-    
+
     TestConfig getConfig() {
         if (config==null) {
             config = createConfig();
         }
         return config;
     }
-    
+
     private TestConfig createConfig() {
         TestConfig c = new TestConfig(path);
         return c;
     }
-    
+
     @Override
     public ModifiableTestBaseConfig getConnectorConfig() {
         return getConfig();
     }
-    
+
     @Override
     protected ViewChecker createViewChecker() throws Exception {
         return HeartbeatHandler.testConstructor(getSlingSettingsService(), getResourceResolverFactory(), getAnnouncementRegistry(), getConnectorRegistry(), getConfig(), getScheduler(), getVotingHandler());
     }
-    
+
     private SyncTokenService getSyncTokenService() throws Exception {
         if (syncTokenService == null) {
             syncTokenService = createSyncTokenService();
         }
         return syncTokenService;
     }
-    
+
     private SyncTokenService createSyncTokenService() {
         return SyncTokenService.testConstructorAndActivate(getConfig(), getResourceResolverFactory(), getSlingSettingsService());
     }
@@ -133,7 +133,7 @@ public class FullJR2VirtualInstanceBuild
     protected BaseDiscoveryService createDiscoveryService() throws Exception {
         return DiscoveryServiceImpl.testConstructor(getResourceResolverFactory(), getAnnouncementRegistry(), getConnectorRegistry(), (ClusterViewServiceImpl) getClusterViewService(), getHeartbeatHandler(), getSlingSettingsService(), getScheduler(), getConfig(), getSyncTokenService());
     }
-    
+
     @Override
     protected ClusterViewService createClusterViewService() {
         return ClusterViewServiceImpl.testConstructor(getSlingSettingsService(), getResourceResolverFactory(), getConfig());
@@ -145,7 +145,7 @@ public class FullJR2VirtualInstanceBuild
         }
         return (HeartbeatHandler) getViewChecker();
     }
-    
+
     @Override
     public Object[] getAdditionalServices(VirtualInstance instance) throws Exception {
         if (additionalServices==null) {
@@ -153,7 +153,7 @@ public class FullJR2VirtualInstanceBuild
         }
         return additionalServices;
     }
-    
+
     VotingHandler getVotingHandler() throws Exception {
         if (votingHandler == null) {
             votingHandler = createVotingHandler();
@@ -167,12 +167,12 @@ public class FullJR2VirtualInstanceBuild
 
     private Object[] createAdditionalServices(VirtualInstance instance) throws Exception {
         Object[] additionals = new Object[1];
-        
+
         additionals[0] = getVotingHandler();
-        
+
         observationListener = new VotingEventListener(instance, votingHandler, getSlingId());
         ResourceResolver resourceResolver = getResourceResolverFactory()
-                .getAdministrativeResourceResolver(null);
+                .getServiceResourceResolver(null);
         Session session = resourceResolver.adaptTo(Session.class);
         observationManager = session.getWorkspace()
                 .getObservationManager();
@@ -186,7 +186,7 @@ public class FullJR2VirtualInstanceBuild
 
         return additionals;
     }
-    
+
     void stopVoting() {
         if (observationListener!=null) {
             logger.info("stopVoting: stopping voting of slingId="+getSlingId());
@@ -210,7 +210,7 @@ public class FullJR2VirtualInstanceBuild
     public FullJR2VirtualInstance fullBuild() throws Exception {
         return (FullJR2VirtualInstance) build();
     }
-    
+
     @Override
     public VirtualInstance build() throws Exception {
         if (path==null) {
@@ -246,7 +246,7 @@ public class FullJR2VirtualInstanceBuild
                 }
                 super.stop();
             }
-            
+
             @Override
             public void assertEstablishedView() {
                 super.assertEstablishedView();
@@ -260,7 +260,7 @@ public class FullJR2VirtualInstanceBuild
             }
         };
     }
-    
+
     @Override
     protected void resetRepo() throws Exception {
         logger.info("resetRepo: start, logging in");
@@ -283,5 +283,5 @@ public class FullJR2VirtualInstanceBuild
         }
     }
 
-    
+
 }

Modified: sling/trunk/bundles/extensions/discovery/oak/pom.xml
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/discovery/oak/pom.xml?rev=1769802&r1=1769801&r2=1769802&view=diff
==============================================================================
--- sling/trunk/bundles/extensions/discovery/oak/pom.xml (original)
+++ sling/trunk/bundles/extensions/discovery/oak/pom.xml Tue Nov 15 12:38:35 2016
@@ -167,7 +167,7 @@
 		<dependency>
 			<groupId>org.apache.sling</groupId>
 			<artifactId>org.apache.sling.discovery.base</artifactId>
-			<version>1.1.4</version>
+			<version>1.1.5-SNAPSHOT</version>
             <scope>provided</scope>
 		</dependency>
         <!-- besides including discovery.base' normal jar above, 
@@ -176,7 +176,7 @@
         <dependency>
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.discovery.base</artifactId>
-            <version>1.1.4</version>
+            <version>1.1.5-SNAPSHOT</version>
             <scope>test</scope>
             <type>test-jar</type>
         </dependency>

Modified: sling/trunk/bundles/extensions/discovery/oak/src/main/java/org/apache/sling/discovery/oak/OakDiscoveryService.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/discovery/oak/src/main/java/org/apache/sling/discovery/oak/OakDiscoveryService.java?rev=1769802&r1=1769801&r2=1769802&view=diff
==============================================================================
--- sling/trunk/bundles/extensions/discovery/oak/src/main/java/org/apache/sling/discovery/oak/OakDiscoveryService.java (original)
+++ sling/trunk/bundles/extensions/discovery/oak/src/main/java/org/apache/sling/discovery/oak/OakDiscoveryService.java Tue Nov 15 12:38:35 2016
@@ -93,7 +93,7 @@ public class OakDiscoveryService extends
 
     @Reference(cardinality = ReferenceCardinality.OPTIONAL_MULTIPLE, policy = ReferencePolicy.DYNAMIC, referenceInterface = TopologyEventListener.class)
     private TopologyEventListener[] eventListeners = new TopologyEventListener[0];
-    
+
     /**
      * All property providers.
      */
@@ -132,7 +132,7 @@ public class OakDiscoveryService extends
 
     @Reference
     private IdMapService idMapService;
-    
+
     @Reference
     private OakBacklogClusterSyncService oakBacklogClusterSyncService;
 
@@ -146,15 +146,16 @@ public class OakDiscoveryService extends
 
     private ViewStateManager viewStateManager;
 
-    private final ReentrantLock viewStateManagerLock = new ReentrantLock(); 
-    
+    private final ReentrantLock viewStateManagerLock = new ReentrantLock();
+
     private final List<TopologyEventListener> pendingListeners = new LinkedList<TopologyEventListener>();
-    
+
     private TopologyEventListener changePropagationListener = new TopologyEventListener() {
 
+        @Override
         public void handleTopologyEvent(TopologyEvent event) {
             OakViewChecker checker = oakViewChecker;
-            if (activated && checker != null 
+            if (activated && checker != null
                     && (event.getType() == Type.TOPOLOGY_CHANGED || event.getType() == Type.PROPERTIES_CHANGED)) {
                 logger.info("changePropagationListener.handleTopologyEvent: topology changed - propagate through connectors");
                 checker.triggerAsyncConnectorPing();
@@ -188,10 +189,11 @@ public class OakDiscoveryService extends
         return discoService;
     }
 
+    @Override
     protected void handleIsolatedFromTopology() {
         if (oakViewChecker!=null) {
             // SLING-5030 part 2: when we detect being isolated we should
-            // step at the end of the leader-election queue and 
+            // step at the end of the leader-election queue and
             // that can be achieved by resetting the leaderElectionId
             // (which will in turn take effect on the next round of
             // voting, or also double-checked when the local instance votes)
@@ -206,7 +208,7 @@ public class OakDiscoveryService extends
             }
         }
     }
-    
+
     /**
      * Activate this service
      */
@@ -232,7 +234,7 @@ public class OakDiscoveryService extends
             consistencyService = new ClusterSyncServiceChain(oakBacklogClusterSyncService, syncTokenService);
         } else {
             consistencyService = oakBacklogClusterSyncService;
-            
+
         }
         viewStateManager = ViewStateManagerFactory.newViewStateManager(viewStateManagerLock, consistencyService);
 
@@ -249,7 +251,7 @@ public class OakDiscoveryService extends
             // the first TOPOLOGY_INIT and afterwards
             DefaultClusterView isolatedCluster = new DefaultClusterView(isolatedClusterId);
             Map<String, String> emptyProperties = new HashMap<String, String>();
-            DefaultInstanceDescription isolatedInstance = 
+            DefaultInstanceDescription isolatedInstance =
                     new DefaultInstanceDescription(isolatedCluster, true, true, slingId, emptyProperties);
             Collection<InstanceDescription> col = new ArrayList<InstanceDescription>();
             col.add(isolatedInstance);
@@ -282,14 +284,14 @@ public class OakDiscoveryService extends
             }
             activated = true;
             setOldView(newView);
-            
+
             // in case bind got called before activate we now have pending listeners,
             // bind them to the viewstatemanager too
             for (TopologyEventListener listener : pendingListeners) {
                 viewStateManager.bind(listener);
             }
             pendingListeners.clear();
-            
+
             viewStateManager.bind(changePropagationListener);
         } finally {
             if (viewStateManagerLock!=null) {
@@ -311,7 +313,7 @@ public class OakDiscoveryService extends
                 }
             }
         }
-        
+
         logger.debug("OakDiscoveryService activated.");
     }
 
@@ -326,7 +328,7 @@ public class OakDiscoveryService extends
             viewStateManager.unbind(changePropagationListener);
 
             viewStateManager.handleDeactivated();
-            
+
             activated = false;
         } finally {
             if (viewStateManagerLock!=null) {
@@ -485,7 +487,7 @@ public class OakDiscoveryService extends
         ResourceResolver resourceResolver = null;
         try {
             resourceResolver = rrf
-                    .getAdministrativeResourceResolver(null);
+                    .getServiceResourceResolver(null);
 
             Resource myInstance = ResourceHelper
                     .getOrCreateResource(
@@ -619,6 +621,7 @@ public class OakDiscoveryService extends
 		/**
          * @see java.lang.Comparable#compareTo(java.lang.Object)
          */
+        @Override
         public int compareTo(final ProviderInfo o) {
             // Sort by rank in ascending order.
             if (this.ranking < o.ranking) {
@@ -680,15 +683,17 @@ public class OakDiscoveryService extends
         viewStateManager.handleChanging();
     }
 
+    @Override
     protected ClusterViewService getClusterViewService() {
         return clusterViewService;
     }
-    
+
+    @Override
     protected AnnouncementRegistry getAnnouncementRegistry() {
         return announcementRegistry;
     }
 
-    /** for testing only 
+    /** for testing only
      * @return */
     public ViewStateManager getViewStateManager() {
         return viewStateManager;

Modified: sling/trunk/bundles/extensions/discovery/oak/src/main/java/org/apache/sling/discovery/oak/TopologyWebConsolePlugin.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/discovery/oak/src/main/java/org/apache/sling/discovery/oak/TopologyWebConsolePlugin.java?rev=1769802&r1=1769801&r2=1769802&view=diff
==============================================================================
--- sling/trunk/bundles/extensions/discovery/oak/src/main/java/org/apache/sling/discovery/oak/TopologyWebConsolePlugin.java (original)
+++ sling/trunk/bundles/extensions/discovery/oak/src/main/java/org/apache/sling/discovery/oak/TopologyWebConsolePlugin.java Tue Nov 15 12:38:35 2016
@@ -117,15 +117,15 @@ public class TopologyWebConsolePlugin ex
     private OakBacklogClusterSyncService clusterSyncService;
 
     private TopologyView currentView;
-    
+
     private List<String> discoveryLiteHistory = new LinkedList<String>();
 
-    /** 
+    /**
      * keeps hold of the last DiscoveryLiteDescriptor that was added
      * to the discoveryLiteHistory - in order to de-duplicate as we go
      */
     private DiscoveryLiteDescriptor lastDiscoveryLiteDescriptor = null;
-    
+
     @Override
     public String getLabel() {
         return LABEL;
@@ -190,6 +190,7 @@ public class TopologyWebConsolePlugin ex
 
                 tv.findInstances(new InstanceFilter() {
 
+                    @Override
                     public boolean accept(InstanceDescription instance) {
                         String slingId = instance.getSlingId();
                     	if (logger.isDebugEnabled()) {
@@ -230,7 +231,7 @@ public class TopologyWebConsolePlugin ex
     }
 
     protected ResourceResolver getResourceResolver() throws LoginException {
-        return resourceResolverFactory.getAdministrativeResourceResolver(null);
+        return resourceResolverFactory.getServiceResourceResolver(null);
     }
 
     /**
@@ -289,7 +290,7 @@ public class TopologyWebConsolePlugin ex
         listIncomingTopologyConnectors(pw);
         listOutgoingTopologyConnectors(pw);
         pw.println("<br/>");
-        
+
         pw.println("<p class=\"statline ui-state-highlight\">Topology Change History</p>");
         pw.println("<pre>");
         for (Iterator<String> it = topologyLog
@@ -500,7 +501,7 @@ public class TopologyWebConsolePlugin ex
         pw.println("</tbody>");
         pw.println("</table>");
     }
-    
+
     private String beautifiedDueTime(long secondsDue) {
         if (secondsDue<-1) {
             return "overdue";
@@ -586,13 +587,14 @@ public class TopologyWebConsolePlugin ex
     /**
      * keep a truncated history of the log events for information purpose (to be shown in the webconsole)
      */
+    @Override
     public void handleTopologyEvent(final TopologyEvent event) {
         if (event.getType() == Type.PROPERTIES_CHANGED) {
             this.currentView = event.getNewView();
 
             StringBuilder sb = new StringBuilder();
             InstancesDiff instanceDiff = new InstancesDiff(event.getOldView(), event.getNewView());
-            
+
             // there shouldn't be any instances added, but for paranoia reason:
             Collection<InstanceDescription> added = instanceDiff.added().get();
             if (!added.isEmpty()) {
@@ -603,7 +605,7 @@ public class TopologyWebConsolePlugin ex
                 }
                 sb.append(".");
             }
-            
+
             // there shouldn't be any instances removed as well, but again for paranoia reason:
             Collection<InstanceDescription> removed = instanceDiff.removed().get();
             if (!removed.isEmpty()) {
@@ -614,7 +616,7 @@ public class TopologyWebConsolePlugin ex
                 }
                 sb.append(".");
             }
-            
+
             Set<InstanceDescription> newInstances = event.getNewView()
                     .getInstances();
             for (Iterator<InstanceDescription> it = newInstances.iterator(); it
@@ -641,7 +643,7 @@ public class TopologyWebConsolePlugin ex
                         sb.append(", ");
                     }
                     sb.append("on instance "
-                            + newInstanceDescription.getSlingId() + (newInstanceDescription.isLeader() ? " [isLeader]" : "") 
+                            + newInstanceDescription.getSlingId() + (newInstanceDescription.isLeader() ? " [isLeader]" : "")
                             + ": " + diff + ". ");
                 }
             }
@@ -710,7 +712,7 @@ public class TopologyWebConsolePlugin ex
                         }
                     }
                 }
-    
+
                 addEventLog(
                         event.getType(),
                         "old view: " + shortViewInfo(event.getOldView())
@@ -730,6 +732,7 @@ public class TopologyWebConsolePlugin ex
         Set<InstanceDescription> foundInstances = view
                 .findInstances(new InstanceFilter() {
 
+                    @Override
                     public boolean accept(InstanceDescription instance) {
                         return instance.getSlingId().equals(slingId);
                     }
@@ -768,10 +771,10 @@ public class TopologyWebConsolePlugin ex
         ResourceResolver resourceResolver = null;
         try{
             resourceResolver = getResourceResolver();
-            DiscoveryLiteDescriptor descriptor = 
+            DiscoveryLiteDescriptor descriptor =
                     DiscoveryLiteDescriptor.getDescriptorFrom(resourceResolver);
 
-            if (lastDiscoveryLiteDescriptor!=null && 
+            if (lastDiscoveryLiteDescriptor!=null &&
                     descriptor.getDescriptorStr().equals(lastDiscoveryLiteDescriptor.getDescriptorStr())) {
                 // de-duplication - then there's nothing to update
                 return;
@@ -789,7 +792,7 @@ public class TopologyWebConsolePlugin ex
                 resourceResolver.close();
             }
         }
-        
+
     }
 
     /**

Modified: sling/trunk/bundles/extensions/discovery/oak/src/main/java/org/apache/sling/discovery/oak/cluster/OakClusterViewService.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/discovery/oak/src/main/java/org/apache/sling/discovery/oak/cluster/OakClusterViewService.java?rev=1769802&r1=1769801&r2=1769802&view=diff
==============================================================================
--- sling/trunk/bundles/extensions/discovery/oak/src/main/java/org/apache/sling/discovery/oak/cluster/OakClusterViewService.java (original)
+++ sling/trunk/bundles/extensions/discovery/oak/src/main/java/org/apache/sling/discovery/oak/cluster/OakClusterViewService.java Tue Nov 15 12:38:35 2016
@@ -73,13 +73,13 @@ public class OakClusterViewService imple
 
     @Reference
     private Config config;
-    
+
     @Reference
     private IdMapService idMapService;
-    
+
     /** the last sequence number read from the oak discovery-lite descriptor **/
     private long lastSeqNum = -1;
-    
+
     public static OakClusterViewService testConstructor(SlingSettingsService settingsService,
             ResourceResolverFactory resourceResolverFactory,
             IdMapService idMapService,
@@ -91,7 +91,8 @@ public class OakClusterViewService imple
         service.idMapService = idMapService;
         return service;
     }
-    
+
+    @Override
     public String getSlingId() {
     	if (settingsService==null) {
     		return null;
@@ -100,15 +101,16 @@ public class OakClusterViewService imple
     }
 
     protected ResourceResolver getResourceResolver() throws LoginException {
-        return resourceResolverFactory.getAdministrativeResourceResolver(null);
+        return resourceResolverFactory.getServiceResourceResolver(null);
     }
 
+    @Override
     public LocalClusterView getLocalClusterView() throws UndefinedClusterViewException {
         logger.trace("getLocalClusterView: start");
         ResourceResolver resourceResolver = null;
         try{
             resourceResolver = getResourceResolver();
-            DiscoveryLiteDescriptor descriptor = 
+            DiscoveryLiteDescriptor descriptor =
                     DiscoveryLiteDescriptor.getDescriptorFrom(resourceResolver);
             if (lastSeqNum!=descriptor.getSeqNum()) {
                 logger.info("getLocalClusterView: sequence number change detected - clearing idmap cache");
@@ -163,7 +165,7 @@ public class OakClusterViewService imple
         for (Integer integer : activeIds) {
             activeIdsList.add(integer);
         }
-        
+
         // step 1: sort activeIds by their leaderElectionId
         //   serves two purposes: pos[0] is then leader
         //   and the rest are properly sorted within the cluster
@@ -179,7 +181,7 @@ public class OakClusterViewService imple
                     slingId);
             leaderElectionIds.put(id, leaderElectionId);
         }
-        
+
         Collections.sort(activeIdsList, new Comparator<Integer>() {
 
             @Override
@@ -188,7 +190,7 @@ public class OakClusterViewService imple
                         .compareTo(leaderElectionIds.get(arg1));
             }
         });
-        
+
         for(int i=0; i<activeIdsList.size(); i++) {
             int id = activeIdsList.get(i);
             boolean isLeader = i==0; // thx to sorting above [0] is leader indeed
@@ -212,7 +214,7 @@ public class OakClusterViewService imple
                     + "This is normal at startup. At other times is pseudo-network-partitioning is an indicator for repository/network-delays or clocks-out-of-sync (SLING-3432). "
                     + "(increasing the heartbeatTimeout can help as a workaround too) "
                     + "The local instance will stay in TOPOLOGY_CHANGING or pre _INIT mode until a new vote was successful.");
-            throw new UndefinedClusterViewException(Reason.ISOLATED_FROM_TOPOLOGY, 
+            throw new UndefinedClusterViewException(Reason.ISOLATED_FROM_TOPOLOGY,
                     "established view does not include local instance - isolated");
         }
     }
@@ -296,7 +298,7 @@ public class OakClusterViewService imple
         String result = resourceMap.get("leaderElectionId", String.class);
         return result;
     }
-    
+
     private Map<String, String> readProperties(String slingId, ResourceResolver resourceResolver) {
         Resource res = resourceResolver.getResource(
                         config.getClusterInstancesPath() + "/"

Modified: sling/trunk/bundles/extensions/discovery/oak/src/main/java/org/apache/sling/discovery/oak/pinger/OakViewChecker.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/discovery/oak/src/main/java/org/apache/sling/discovery/oak/pinger/OakViewChecker.java?rev=1769802&r1=1769801&r2=1769802&view=diff
==============================================================================
--- sling/trunk/bundles/extensions/discovery/oak/src/main/java/org/apache/sling/discovery/oak/pinger/OakViewChecker.java (original)
+++ sling/trunk/bundles/extensions/discovery/oak/src/main/java/org/apache/sling/discovery/oak/pinger/OakViewChecker.java Tue Nov 15 12:38:35 2016
@@ -47,7 +47,7 @@ import org.osgi.service.http.HttpService
 /**
  * The OakViewChecker is taking care of checking the oak discovery-lite
  * descriptor when checking the local cluster view and passing that
- * on to the ViewStateManager which will then detect whether there was 
+ * on to the ViewStateManager which will then detect whether there was
  * any change or not. Unlike discovery.impl's HeartbeatHandler this one
  * does not store any heartbeats in the repository anymore.
  * <p>
@@ -105,32 +105,32 @@ public class OakViewChecker extends Base
     protected AnnouncementRegistry getAnnouncementRegistry() {
         return announcementRegistry;
     }
-    
+
     @Override
     protected BaseConfig getConnectorConfig() {
         return config;
     }
-    
+
     @Override
     protected ConnectorRegistry getConnectorRegistry() {
         return connectorRegistry;
     }
-    
+
     @Override
     protected ResourceResolverFactory getResourceResolverFactory() {
         return resourceResolverFactory;
     }
-    
+
     @Override
     protected Scheduler getScheduler() {
         return scheduler;
     }
-    
+
     @Override
     protected SlingSettingsService getSlingSettingsService() {
         return slingSettingsService;
     }
-    
+
     @Override
     protected void doActivate() {
         // on activate the resetLeaderElectionId is set to true to ensure that
@@ -141,10 +141,10 @@ public class OakViewChecker extends Base
         runtimeId = UUID.randomUUID().toString();
 
         logger.info("doActivate: activated with runtimeId: {}, slingId: {}", runtimeId, slingId);
-        
+
         resetLeaderElectionId();
     }
-    
+
     @Override
     protected void deactivate() {
         super.deactivate();
@@ -175,7 +175,7 @@ public class OakViewChecker extends Base
         } catch (Exception e) {
             logger.error("activate: Could not start heartbeat runner: " + e, e);
         }
-        
+
         // start the (more frequent) periodic job that checks
         // the discoveryLite descriptor - that can be more frequent
         // since it is only reading an oak repository descriptor
@@ -192,13 +192,13 @@ public class OakViewChecker extends Base
                 public void run() {
                     discoveryLiteCheck();
                 }
-                
+
             });
         } catch (Exception e) {
             logger.error("activate: Could not start heartbeat runner: " + e, e);
         }
     }
-    
+
     private void discoveryLiteCheck() {
         logger.debug("discoveryLiteCheck: start. [for slingId="+slingId+"]");
         synchronized(lock) {
@@ -225,7 +225,7 @@ public class OakViewChecker extends Base
             logger.error("getResourceResolver: resourceResolverFactory is null!");
             return null;
         }
-        return resourceResolverFactory.getAdministrativeResourceResolver(null);
+        return resourceResolverFactory.getServiceResourceResolver(null);
     }
 
     /** Calcualte the local cluster instance path **/
@@ -234,7 +234,7 @@ public class OakViewChecker extends Base
     }
 
     /**
-     * Hook that will cause a reset of the leaderElectionId 
+     * Hook that will cause a reset of the leaderElectionId
      * on next invocation of issueClusterLocalHeartbeat.
      * @return true if the leaderElectionId was reset - false if that was not
      * necessary as that happened earlier already and it has not propagated
@@ -269,7 +269,7 @@ public class OakViewChecker extends Base
             resourceMap.put("leaderElectionId", newLeaderElectionId);
             resourceMap.put("leaderElectionIdCreatedAt", leaderElectionCreatedAt);
 
-            logger.info("resetLeaderElectionId: storing my runtimeId: {}, endpoints: {}, sling home path: {}, new leaderElectionId: {}, created at: {}", 
+            logger.info("resetLeaderElectionId: storing my runtimeId: {}, endpoints: {}, sling home path: {}, new leaderElectionId: {}, created at: {}",
                     new Object[]{runtimeId, endpointsAsString, slingHomePath, newLeaderElectionId, leaderElectionCreatedAt});
             resourceResolver.commit();
         } catch (LoginException e) {
@@ -311,6 +311,7 @@ public class OakViewChecker extends Base
         discoveryService.checkForTopologyChange();
     }
 
+    @Override
     protected void updateProperties() {
         if (discoveryService == null) {
             // SLING-6065: it's legitimate that updateProperties()

Modified: sling/trunk/bundles/extensions/discovery/oak/src/test/java/org/apache/sling/discovery/oak/OakDiscoveryServiceTest.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/discovery/oak/src/test/java/org/apache/sling/discovery/oak/OakDiscoveryServiceTest.java?rev=1769802&r1=1769801&r2=1769802&view=diff
==============================================================================
--- sling/trunk/bundles/extensions/discovery/oak/src/test/java/org/apache/sling/discovery/oak/OakDiscoveryServiceTest.java (original)
+++ sling/trunk/bundles/extensions/discovery/oak/src/test/java/org/apache/sling/discovery/oak/OakDiscoveryServiceTest.java Tue Nov 15 12:38:35 2016
@@ -44,7 +44,7 @@ public class OakDiscoveryServiceTest {
     private final Logger logger = LoggerFactory.getLogger(this.getClass());
 
     public final class SimpleCommonsConfig implements DiscoveryLiteConfig {
-        
+
         private long bgIntervalMillis;
         private long bgTimeoutMillis;
 
@@ -52,7 +52,7 @@ public class OakDiscoveryServiceTest {
             this.bgIntervalMillis = bgIntervalMillis;
             this.bgTimeoutMillis = bgTimeoutMillis;
         }
-        
+
         @Override
         public String getSyncTokenPath() {
             return "/var/synctokens";
@@ -77,7 +77,7 @@ public class OakDiscoveryServiceTest {
 
     @Test
     public void testBindBeforeActivate() throws Exception {
-        OakVirtualInstanceBuilder builder = 
+        OakVirtualInstanceBuilder builder =
                 (OakVirtualInstanceBuilder) new OakVirtualInstanceBuilder()
                 .setDebugName("test")
                 .newRepository("/foo/bar", true);
@@ -87,7 +87,7 @@ public class OakDiscoveryServiceTest {
         // make sure the discovery-lite descriptor is marked as not final
         // such that the view is not already set before we want it to be
         discoBuilder.setFinal(false);
-        DescriptorHelper.setDiscoveryLiteDescriptor(builder.getResourceResolverFactory(), 
+        DescriptorHelper.setDiscoveryLiteDescriptor(builder.getResourceResolverFactory(),
                 discoBuilder);
         IdMapService idMapService = IdMapService.testConstructor(new SimpleCommonsConfig(1000, -1), new DummySlingSettingsService(slingId), builder.getResourceResolverFactory());
         assertTrue(idMapService.waitForInit(2000));
@@ -109,7 +109,7 @@ public class OakDiscoveryServiceTest {
         // will actually detect a valid new, different view and send out an event -
         // exactly as we want to
         discoBuilder.setFinal(true);
-        DescriptorHelper.setDiscoveryLiteDescriptor(builder.getResourceResolverFactory(), 
+        DescriptorHelper.setDiscoveryLiteDescriptor(builder.getResourceResolverFactory(),
                 discoBuilder);
         discoveryService.checkForTopologyChange();
         assertEquals(0, discoveryService.getViewStateManager().waitForAsyncEvents(2000));
@@ -120,18 +120,18 @@ public class OakDiscoveryServiceTest {
         assertEquals(0, discoveryService.getViewStateManager().waitForAsyncEvents(2000));
         assertEquals(2, listener.countEvents()); // should now have gotten an INIT too
     }
-    
+
     @Test
     public void testDescriptorSeqNumChange() throws Exception {
         logger.info("testDescriptorSeqNumChange: start");
-        OakVirtualInstanceBuilder builder1 = 
+        OakVirtualInstanceBuilder builder1 =
                 (OakVirtualInstanceBuilder) new OakVirtualInstanceBuilder()
                 .setDebugName("instance1")
                 .newRepository("/foo/barry/foo/", true)
                 .setConnectorPingInterval(999)
                 .setConnectorPingTimeout(999);
         VirtualInstance instance1 = builder1.build();
-        OakVirtualInstanceBuilder builder2 = 
+        OakVirtualInstanceBuilder builder2 =
                 (OakVirtualInstanceBuilder) new OakVirtualInstanceBuilder()
                 .setDebugName("instance2")
                 .useRepositoryOf(instance1)
@@ -139,15 +139,15 @@ public class OakDiscoveryServiceTest {
                 .setConnectorPingTimeout(999);
         VirtualInstance instance2 = builder2.build();
         logger.info("testDescriptorSeqNumChange: created both instances, binding listener...");
-        
+
         DummyListener listener = new DummyListener();
         OakDiscoveryService discoveryService = (OakDiscoveryService) instance1.getDiscoveryService();
         discoveryService.bindTopologyEventListener(listener);
-        
+
         logger.info("testDescriptorSeqNumChange: waiting 2sec, listener should not get anything yet");
         assertEquals(0, discoveryService.getViewStateManager().waitForAsyncEvents(2000));
         assertEquals(0, listener.countEvents());
-        
+
         logger.info("testDescriptorSeqNumChange: issuing 2 heartbeats with each instance should let the topology get established");
         instance1.heartbeatsAndCheckView();
         instance2.heartbeatsAndCheckView();
@@ -157,21 +157,21 @@ public class OakDiscoveryServiceTest {
         logger.info("testDescriptorSeqNumChange: listener should get an event within 2sec from now at latest");
         assertEquals(0, discoveryService.getViewStateManager().waitForAsyncEvents(2000));
         assertEquals(1, listener.countEvents());
-        
+
         ResourceResolverFactory factory = instance1.getResourceResolverFactory();
-        ResourceResolver resolver = factory.getAdministrativeResourceResolver(null);
-        
+        ResourceResolver resolver = factory.getServiceResourceResolver(null);
+
         instance1.heartbeatsAndCheckView();
         assertEquals(0, discoveryService.getViewStateManager().waitForAsyncEvents(2000));
         assertEquals(1, listener.countEvents());
-        
+
         // increment the seqNum by 2 - simulating a coming and going instance
         // while we were sleeping
         SimulatedLeaseCollection c = builder1.getSimulatedLeaseCollection();
         c.incSeqNum(2);
         logger.info("testDescriptorSeqNumChange: incremented seqnum by 2 - issuing another heartbeat should trigger a topology change");
         instance1.heartbeatsAndCheckView();
-        
+
         // due to the nature of the syncService/minEventDelay we now explicitly first sleep 2sec before waiting for async events for another 2sec
         logger.info("testDescriptorSeqNumChange: sleeping 2sec for topology change to happen");
         Thread.sleep(2000);

Modified: sling/trunk/bundles/extensions/discovery/oak/src/test/java/org/apache/sling/discovery/oak/its/OakDiscoveryServiceTest.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/discovery/oak/src/test/java/org/apache/sling/discovery/oak/its/OakDiscoveryServiceTest.java?rev=1769802&r1=1769801&r2=1769802&view=diff
==============================================================================
--- sling/trunk/bundles/extensions/discovery/oak/src/test/java/org/apache/sling/discovery/oak/its/OakDiscoveryServiceTest.java (original)
+++ sling/trunk/bundles/extensions/discovery/oak/src/test/java/org/apache/sling/discovery/oak/its/OakDiscoveryServiceTest.java Tue Nov 15 12:38:35 2016
@@ -23,7 +23,7 @@ import static org.junit.Assert.assertFal
 import static org.junit.Assert.assertTrue;
 
 import org.apache.log4j.Level;
-import org.apache.log4j.LogManager;
+import org.apache.log4j.spi.RootLogger;
 import org.apache.sling.discovery.TopologyEvent.Type;
 import org.apache.sling.discovery.TopologyView;
 import org.apache.sling.discovery.base.its.AbstractDiscoveryServiceTest;
@@ -48,20 +48,22 @@ public class OakDiscoveryServiceTest ext
 
     private VirtualInstance instance2;
 
+    @Override
     public OakVirtualInstanceBuilder newBuilder() {
         return new OakVirtualInstanceBuilder();
     }
 
+    @Override
     @Before
     public void setUp() throws Exception {
-        final org.apache.log4j.Logger discoveryLogger = LogManager.getRootLogger().getLogger("org.apache.sling.discovery");
+        final org.apache.log4j.Logger discoveryLogger = RootLogger.getLogger("org.apache.sling.discovery");
         logLevel = discoveryLogger.getLevel();
-        discoveryLogger.setLevel(Level.INFO);        
+        discoveryLogger.setLevel(Level.INFO);
     }
-    
+
     @After
     public void teartDown() throws Throwable {
-        final org.apache.log4j.Logger discoveryLogger = LogManager.getRootLogger().getLogger("org.apache.sling.discovery");
+        final org.apache.log4j.Logger discoveryLogger = RootLogger.getLogger("org.apache.sling.discovery");
         discoveryLogger.setLevel(logLevel);
         if (instance1!=null) {
             instance1.stopViewChecker();
@@ -74,7 +76,7 @@ public class OakDiscoveryServiceTest ext
             instance2 = null;
         }
     }
-    
+
     /**
      * Tests whether the not-current view returned by getTopology()
      * matches what listeners get in TOPOLOGY_CHANGING - it should
@@ -82,7 +84,7 @@ public class OakDiscoveryServiceTest ext
      */
     @Test
     public void testOldView() throws Throwable {
-        final org.apache.log4j.Logger discoveryLogger = LogManager.getRootLogger().getLogger("org.apache.sling.discovery");
+        final org.apache.log4j.Logger discoveryLogger = RootLogger.getLogger("org.apache.sling.discovery");
         discoveryLogger.setLevel(Level.INFO); // info should do
         OakVirtualInstanceBuilder builder = newBuilder();
         builder.setDebugName("firstInstanceA")
@@ -113,7 +115,7 @@ public class OakDiscoveryServiceTest ext
         t1 = instance1.getDiscoveryService().getTopology();
         assertTrue(t1.isCurrent()); // current it should now be
         assertEquals(1, t1.getInstances().size()); // and it must contain the local instance
-        
+
         logger.info("testOldView: creating instance2");
         builder.getSimulatedLeaseCollection().setFinal(false);
         l1.addExpected(Type.TOPOLOGY_CHANGING);
@@ -125,7 +127,7 @@ public class OakDiscoveryServiceTest ext
         instance2 = builder2.build();
         instance2.stopViewChecker();
 //        instance2.stopVoting();
-        
+
         logger.info("testOldView: instance2 created, now issuing one heartbeat with instance2 first, so that instance1 can take note of it");
         instance2.getViewChecker().checkView();
         OakDiscoveryService oakDisco1 = (OakDiscoveryService) instance2.getDiscoveryService();
@@ -144,7 +146,7 @@ public class OakDiscoveryServiceTest ext
         t1 = instance1.getDiscoveryService().getTopology();
         assertFalse(t1.isCurrent()); // current it should not be
         assertEquals(1, t1.getInstances().size()); // but it should still contain the local instance from before
-        
+
         builder.getSimulatedLeaseCollection().setFinal(true);
         l1.addExpected(Type.TOPOLOGY_CHANGED);
         logger.info("testOldView: now issuing 3 rounds of heartbeats/checks and expecting a TOPOLOGY_CHANGED then");
@@ -160,14 +162,14 @@ public class OakDiscoveryServiceTest ext
         instance2.heartbeatsAndCheckView();
         instance1.heartbeatsAndCheckView();
         Thread.sleep(1200);
-        
+
         assertEquals(3, l1.getEvents().size()); // INIT, CHANGING and CHANGED
         assertEquals(0, l1.getRemainingExpectedCount()); // no remaining expected
         assertEquals(0, l1.getUnexpectedCount()); // and no unexpected
         t1 = instance1.getDiscoveryService().getTopology();
         assertTrue(t1.isCurrent()); // and we should be current again
         assertEquals(2, t1.getInstances().size()); // and contain both instances now
-        
+
         // timeout is set to 3sec, so we now do heartbeats for 4sec with only instance1
         // to let instance2 crash
         builder.getSimulatedLeaseCollection().setFinal(false);
@@ -183,5 +185,5 @@ public class OakDiscoveryServiceTest ext
         assertFalse(t1.isCurrent()); // and we should be current again
         assertEquals(2, t1.getInstances().size()); // and contain both instances now
     }
-    
+
 }

Modified: sling/trunk/bundles/extensions/discovery/oak/src/test/java/org/apache/sling/discovery/oak/its/setup/OakVirtualInstanceBuilder.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/discovery/oak/src/test/java/org/apache/sling/discovery/oak/its/setup/OakVirtualInstanceBuilder.java?rev=1769802&r1=1769801&r2=1769802&view=diff
==============================================================================
--- sling/trunk/bundles/extensions/discovery/oak/src/test/java/org/apache/sling/discovery/oak/its/setup/OakVirtualInstanceBuilder.java (original)
+++ sling/trunk/bundles/extensions/discovery/oak/src/test/java/org/apache/sling/discovery/oak/its/setup/OakVirtualInstanceBuilder.java Tue Nov 15 12:38:35 2016
@@ -56,11 +56,11 @@ public class OakVirtualInstanceBuilder e
     private SimulatedLeaseCollection leaseCollection;
     private OakBacklogClusterSyncService consistencyService;
     private SyncTokenService syncTokenService;
-    
+
     public SimulatedLeaseCollection getSimulatedLeaseCollection() {
         return leaseCollection;
     }
-    
+
     @Override
     public VirtualInstanceBuilder createNewRepository() throws Exception {
         nodeStore = new MemoryNodeStore();
@@ -69,7 +69,7 @@ public class OakVirtualInstanceBuilder e
         leaseCollection = new SimulatedLeaseCollection();
         return this;
     }
-    
+
     @Override
     public VirtualInstanceBuilder useRepositoryOf(VirtualInstanceBuilder other) throws Exception {
         if (!(other instanceof OakVirtualInstanceBuilder)) {
@@ -95,7 +95,7 @@ public class OakVirtualInstanceBuilder e
     public Object[] getAdditionalServices(VirtualInstance instance) throws Exception {
         return null;
     }
-    
+
     public IdMapService getIdMapService() {
         if (idMapService==null) {
             idMapService = createIdMapService();
@@ -111,39 +111,39 @@ public class OakVirtualInstanceBuilder e
     protected ClusterViewService createClusterViewService() {
         return OakClusterViewService.testConstructor(getSlingSettingsService(), getResourceResolverFactory(), getIdMapService(), getConfig());
     }
-    
+
     OakTestConfig getConfig() {
         if (config==null) {
             config = createConfig();
         }
         return config;
     }
-    
+
     @Override
     public ModifiableTestBaseConfig getConnectorConfig() {
         return getConfig();
     }
-    
+
     private OakTestConfig createConfig() {
         OakTestConfig c = new OakTestConfig();
         c.setDiscoveryResourcePath(path);
         return c;
     }
-    
+
     @Override
     protected ViewChecker createViewChecker() throws Exception {
         getOakViewChecker();
         return new ViewChecker() {
-            
+
             private final Logger logger = LoggerFactory.getLogger(getClass());
 
             private SimulatedLease lease = new SimulatedLease(getResourceResolverFactory(), leaseCollection, getSlingId());
-            
+
             protected void activate(ComponentContext c) throws Throwable {
                 OakViewChecker pinger = getOakViewChecker();
                 PrivateAccessor.invoke(pinger, "activate", new Class[] {ComponentContext.class}, new Object[] {c});
             }
-            
+
             @Override
             public void checkView() {
                 try {
@@ -152,11 +152,11 @@ public class OakVirtualInstanceBuilder e
                     logger.error("run: could not update lease: "+e);
                 }
             }
-            
+
             public void run() {
                 heartbeatAndCheckView();
             }
-            
+
             @Override
             public void heartbeatAndCheckView() {
 //                next step is try to simulate the logic
@@ -199,7 +199,7 @@ public class OakVirtualInstanceBuilder e
         }
         return consistencyService;
     }
-    
+
     private OakBacklogClusterSyncService createOakBacklogClusterSyncService() {
         return OakBacklogClusterSyncService.testConstructorAndActivate(getConfig(), getIdMapService(), getSlingSettingsService(), getResourceResolverFactory());
     }
@@ -210,7 +210,7 @@ public class OakVirtualInstanceBuilder e
         }
         return syncTokenService;
     }
-    
+
     private SyncTokenService createSyncTokenService() {
         return SyncTokenService.testConstructorAndActivate(getConfig(), getResourceResolverFactory(), getSlingSettingsService());
     }
@@ -218,14 +218,14 @@ public class OakVirtualInstanceBuilder e
     @Override
     protected BaseDiscoveryService createDiscoveryService() throws Exception {
         return OakDiscoveryService.testConstructor(
-                getSlingSettingsService(), 
-                getAnnouncementRegistry(), 
-                getConnectorRegistry(), 
-                getClusterViewService(), 
-                getConfig(), 
-                getOakViewChecker(), 
-                getScheduler(), 
-                getIdMapService(), 
+                getSlingSettingsService(),
+                getAnnouncementRegistry(),
+                getConnectorRegistry(),
+                getClusterViewService(),
+                getConfig(),
+                getOakViewChecker(),
+                getScheduler(),
+                getIdMapService(),
                 getOakBacklogClusterSyncService(),
                 getSyncTokenService(),
                 getResourceResolverFactory());
@@ -257,14 +257,14 @@ public class OakVirtualInstanceBuilder e
         };
         return result;
     }
-    
+
     @Override
     protected void resetRepo() throws Exception {
         leaseCollection.reset();
         ResourceResolver rr = null;
         Session l = null;
         try {
-            rr = factory.getAdministrativeResourceResolver(null);
+            rr = factory.getServiceResourceResolver(null);
             l = rr.adaptTo(Session.class);
             l.removeItem("/var");
             l.save();