dfcf7dc8c9979c934dcb7e2cdc8e7bcbc8dabc1a
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 | } |