[576053] Make the security manager's realm update timeout configurable

https://bugs.eclipse.org/bugs/show_bug.cgi?id=576053
diff --git a/features/org.eclipse.emf.cdo.server-feature/feature.xml b/features/org.eclipse.emf.cdo.server-feature/feature.xml
index cf0b6c7..fb94c0a 100644
--- a/features/org.eclipse.emf.cdo.server-feature/feature.xml
+++ b/features/org.eclipse.emf.cdo.server-feature/feature.xml
@@ -12,7 +12,7 @@
 <feature
       id="org.eclipse.emf.cdo.server"
       label="%featureName"
-      version="4.15.0.qualifier"
+      version="4.15.1.qualifier"
       provider-name="%providerName"
       image="eclipse_update_120.jpg"
       license-feature="org.eclipse.emf.cdo.license"
diff --git a/features/org.eclipse.emf.cdo.server-feature/pom.xml b/features/org.eclipse.emf.cdo.server-feature/pom.xml
index a6a36e8..8712dee 100644
--- a/features/org.eclipse.emf.cdo.server-feature/pom.xml
+++ b/features/org.eclipse.emf.cdo.server-feature/pom.xml
@@ -25,7 +25,7 @@
 
   <groupId>org.eclipse.emf.cdo.features</groupId>
   <artifactId>org.eclipse.emf.cdo.server</artifactId>
-  <version>4.15.0-SNAPSHOT</version>
+  <version>4.15.1-SNAPSHOT</version>
   <packaging>eclipse-feature</packaging>
 
 </project>
diff --git a/plugins/org.eclipse.emf.cdo.server.security/META-INF/MANIFEST.MF b/plugins/org.eclipse.emf.cdo.server.security/META-INF/MANIFEST.MF
index 96eafae..a1abfb1 100644
--- a/plugins/org.eclipse.emf.cdo.server.security/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.emf.cdo.server.security/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-SymbolicName: org.eclipse.emf.cdo.server.security;singleton:=true
 Bundle-Name: %pluginName
-Bundle-Version: 4.7.1.qualifier
+Bundle-Version: 4.7.2.qualifier
 Bundle-ClassPath: .
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
@@ -12,13 +12,13 @@
  org.eclipse.emf.cdo.security;bundle-version="[4.1.0,5.0.0)";visibility:=reexport,
  org.eclipse.emf.cdo.net4j;bundle-version="[4.1.0,5.0.0)",
  org.eclipse.net4j.jvm;bundle-version="[4.1.0,5.0.0)"
-Export-Package: org.eclipse.emf.cdo.server.internal.security;version="4.7.1";
+Export-Package: org.eclipse.emf.cdo.server.internal.security;version="4.7.2";
   x-friends:="org.eclipse.emf.cdo.tests,
    org.eclipse.emf.cdo.tests.db,
    org.eclipse.emf.cdo.tests.mongodb",
- org.eclipse.emf.cdo.server.internal.security.bundle;version="4.7.1";x-internal:=true,
- org.eclipse.emf.cdo.server.security;version="4.7.1",
- org.eclipse.emf.cdo.server.spi.security;version="4.7.1"
+ org.eclipse.emf.cdo.server.internal.security.bundle;version="4.7.2";x-internal:=true,
+ org.eclipse.emf.cdo.server.security;version="4.7.2",
+ org.eclipse.emf.cdo.server.spi.security;version="4.7.2"
 Bundle-ActivationPolicy: lazy
 Bundle-Activator: org.eclipse.emf.cdo.server.internal.security.bundle.OM$Activator
 Automatic-Module-Name: org.eclipse.emf.cdo.server.security
diff --git a/plugins/org.eclipse.emf.cdo.server.security/pom.xml b/plugins/org.eclipse.emf.cdo.server.security/pom.xml
index aecf4ed..90e76ec 100644
--- a/plugins/org.eclipse.emf.cdo.server.security/pom.xml
+++ b/plugins/org.eclipse.emf.cdo.server.security/pom.xml
@@ -25,7 +25,7 @@
 
   <groupId>org.eclipse.emf.cdo</groupId>
   <artifactId>org.eclipse.emf.cdo.server.security</artifactId>
-  <version>4.7.1-SNAPSHOT</version>
+  <version>4.7.2-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 
 </project>
diff --git a/plugins/org.eclipse.emf.cdo.server.security/src/org/eclipse/emf/cdo/server/internal/security/SecurityManager.java b/plugins/org.eclipse.emf.cdo.server.security/src/org/eclipse/emf/cdo/server/internal/security/SecurityManager.java
index 80fcf19..c5fb0de 100644
--- a/plugins/org.eclipse.emf.cdo.server.security/src/org/eclipse/emf/cdo/server/internal/security/SecurityManager.java
+++ b/plugins/org.eclipse.emf.cdo.server.security/src/org/eclipse/emf/cdo/server/internal/security/SecurityManager.java
@@ -124,6 +124,8 @@
 {
   private static final Map<IRepository, InternalSecurityManager> SECURITY_MANAGERS = Collections.synchronizedMap(new HashMap<>());
 
+  private static final long REALM_UPDATE_TIMEOUT = OMPlatform.INSTANCE.getProperty("org.eclipse.emf.cdo.server.security.REALM_UPDATE_TIMEOUT", 8000L);
+
   private static final boolean DISABLE_DETACH_CHECKS = OMPlatform.INSTANCE.isProperty("org.eclipse.emf.cdo.server.security.DISABLE_DETACH_CHECKS");
 
   private static final boolean ALLOW_EMPTY_PASSWORDS = OMPlatform.INSTANCE.isProperty("org.eclipse.emf.cdo.server.security.ALLOW_EMPTY_PASSWORDS");
@@ -467,7 +469,7 @@
 
       if (waitUntilReadable)
       {
-        if (!realmView.waitForUpdate(info.getTimeStamp(), 10000))
+        if (!realmView.waitForUpdate(info.getTimeStamp(), REALM_UPDATE_TIMEOUT))
         {
           throw new TimeoutRuntimeException();
         }
@@ -1107,7 +1109,7 @@
         long contextTime = securityContext.getTimeStamp();
         if (contextTime == CDOBranchPoint.UNSPECIFIED_DATE || contextTime < updateTime)
         {
-          if (!realmView.waitForUpdate(updateTime, 10000L))
+          if (!realmView.waitForUpdate(updateTime, REALM_UPDATE_TIMEOUT))
           {
             throw new TimeoutRuntimeException();
           }