java/com.sap.sse.security/src/com/sap/sse/security/SecurityInitializationCustomizer.java
... ...
@@ -1,6 +1,6 @@
1 1
package com.sap.sse.security;
2 2
3
+@FunctionalInterface
3 4
public interface SecurityInitializationCustomizer {
4
-
5 5
void customizeSecurityService(SecurityService securityService);
6 6
}
java/com.sap.sse.security/src/com/sap/sse/security/impl/Activator.java
... ...
@@ -19,7 +19,6 @@ import com.sap.sse.ServerInfo;
19 19
import com.sap.sse.classloading.ServiceTrackerCustomizerForClassLoaderSupplierRegistrations;
20 20
import com.sap.sse.mail.MailService;
21 21
import com.sap.sse.replication.Replicable;
22
-import com.sap.sse.replication.ReplicationMasterDescriptor;
23 22
import com.sap.sse.replication.ReplicationService;
24 23
import com.sap.sse.rest.CORSFilterConfiguration;
25 24
import com.sap.sse.security.SecurityInitializationCustomizer;
... ...
@@ -289,9 +288,12 @@ public class Activator implements BundleActivator {
289 288
// create security service, it will also create a default admin user if no users exist
290 289
createAndRegisterSecurityService(bundleContext, userStore, accessControlStore, subscriptionPlanProvider);
291 290
applyCustomizations();
292
- migrate(userStore, securityService.get());
293
- final ReplicationMasterDescriptor masterDescriptor = securityService.get().getMasterDescriptor();
294
- if (masterDescriptor == null) {
291
+ final ReplicationService replicationService = ServiceTrackerFactory.createAndOpen(context, ReplicationService.class).waitForService(0);
292
+ // See also bug 6244: if the SecurityService will become a replica, don't worry about subscriptions
293
+ // and migrations as that is relevant only on the primary, and we don't want to establish or even replicate
294
+ // effects of temporary locally-created SERVER objects, ownerships, and permissions.
295
+ if (!replicationService.isReplicationStarting() && securityService.get().getMasterDescriptor() == null) {
296
+ migrate(userStore, securityService.get());
295 297
startSubscriptionDataUpdateTask(bundleContext);
296 298
startSubscriptionPlanUpdateTask(bundleContext);
297 299
}