[java-identity-provider] branch main updated: IDP-1676 failfastInitiailize and propagateResolutionExceptions still not working

Rod Widdowson rdw at steadingsoftware.com
Wed Feb 17 14:01:32 UTC 2021


This is an automated email from the git hooks/post-receive script.

rdw pushed a commit to branch main
in repository java-identity-provider.

View the commit online:
http://git.shibboleth.net/view/?p=java-identity-provider.git;a=commit;h=1254592224366b3596a7d4e84a0db294254bb514

The following commit(s) were added to refs/heads/main by this push:
       new  125459222 IDP-1676 failfastInitiailize and propagateResolutionExceptions still not working
125459222 is described below

commit 1254592224366b3596a7d4e84a0db294254bb514
Author: Rod Widdowson <rdw at steadingsoftware.com>
AuthorDate: Wed Feb 17 13:55:51 2021 +0000

    IDP-1676 failfastInitiailize and propagateResolutionExceptions still not working
    
    https://issues.shibboleth.net/jira/browse/IDP-1676
    
    Push the failFast setting from the data connector into the connection
    pool.
---
 .../resolver/spring/dc/AbstractDataConnectorParser.java     |  1 -
 .../spring/dc/ldap/impl/LDAPDataConnectorParser.java        |  5 ++++-
 .../idp/attribute/resolver/spring/IdP1676Test.java          |  8 ++++----
 .../idp/attribute/resolver/spring/idp-1676-resolver.xml     | 13 +++++++++++--
 4 files changed, 19 insertions(+), 8 deletions(-)

diff --git a/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/AbstractDataConnectorParser.java b/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/AbstractDataConnectorParser.java
index ffecc9871..269449405 100644
--- a/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/AbstractDataConnectorParser.java
+++ b/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/AbstractDataConnectorParser.java
@@ -167,7 +167,6 @@ public abstract class AbstractDataConnectorParser extends BaseResolverPluginPars
                     StringSupport.trimOrNull(config.getAttributeNS(null, ATTR_FAIL_FAST)));
         }
 
-
         if (isNative(config)) {
             // parse the configuration into a beanfactory and inject the resources as well
             builder.addPropertyValue("objectType", getNativeBeanClass());
diff --git a/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/impl/LDAPDataConnectorParser.java b/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/impl/LDAPDataConnectorParser.java
index 09950fd20..20047f6bb 100644
--- a/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/impl/LDAPDataConnectorParser.java
+++ b/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/impl/LDAPDataConnectorParser.java
@@ -637,9 +637,12 @@ public class LDAPDataConnectorParser extends AbstractDataConnectorParser {
                     AttributeSupport.getAttributeValue(poolConfigElement, new QName("failFastInitialize"));
             if (failFastInitialize != null) {
                 // V4 Deprecation
-                DeprecationSupport.warnOnce(ObjectType.ATTRIBUTE, "failfastInitialize (on a ConnectionPool element)", 
+                DeprecationSupport.warnOnce(ObjectType.ATTRIBUTE, "failfastInitialize (on a ConnectionPool element)",
                         null, "failfastInitialize (on a DataConnector)");
                 pool.addPropertyValue("failFastInitialize", failFastInitialize);
+            } else if (configElement.hasAttributeNS(null, ATTR_FAIL_FAST)) {
+                pool.addPropertyValue("failFastInitialize",
+                        StringSupport.trimOrNull(configElement.getAttributeNS(null, ATTR_FAIL_FAST)));
             }
             pool.setInitMethodName("initialize");
             return pool.getBeanDefinition();
diff --git a/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/IdP1676Test.java b/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/IdP1676Test.java
index 02bf2b425..5a134e64f 100644
--- a/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/IdP1676Test.java
+++ b/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/IdP1676Test.java
@@ -185,7 +185,7 @@ public class IdP1676Test extends OpenSAMLInitBaseTestCase {
         connectorOff();
     }
 
-    @Test public void normal() throws LDAPException, ComponentInitializationException, ResolutionException {
+    @Test public void normal() throws LDAPException, ComponentInitializationException, ResolutionException, InterruptedException {
         connectorOn();
         ReloadableService<AttributeResolver> resolverService = getResolver(false, true);
         testResolve(resolverService, 7);
@@ -203,11 +203,11 @@ public class IdP1676Test extends OpenSAMLInitBaseTestCase {
         } catch (final ResolutionException ex) {
             //expected that
         }
-        connectorOn();
+        connectorOn();Thread.sleep(300);
         testResolve(resolverService, 7);        
     }
     
-    @Test public void normalNoPE() throws LDAPException, ComponentInitializationException, ResolutionException {
+    @Test public void normalNoPE() throws LDAPException, ComponentInitializationException, ResolutionException, InterruptedException {
         connectorOn();
         ReloadableService<AttributeResolver> resolverService = getResolver(false, false);
         testResolve(resolverService, 7);
@@ -215,7 +215,7 @@ public class IdP1676Test extends OpenSAMLInitBaseTestCase {
         testResolve(resolverService, 2);
         resolverService = getResolver(false, false);
         testResolve(resolverService, 2);
-        connectorOn();
+        connectorOn();Thread.sleep(300);
         testResolve(resolverService, 7);        
     }
 
diff --git a/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/idp-1676-resolver.xml b/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/idp-1676-resolver.xml
index 70a8abf0a..b6bea1dd2 100644
--- a/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/idp-1676-resolver.xml
+++ b/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/idp-1676-resolver.xml
@@ -25,15 +25,24 @@
         baseDN="dc=shibboleth,dc=net"
         failFastInitialize="%{failfast:false}"
         propagateResolutionExceptions="%{propagateResolutionExceptions:true}"
-        connectTimeout="PT6S"
-        responseTimeout="PT6S"
+        connectTimeout="PT1S"
+        responseTimeout="PT1S"
         principal="cn=Directory Manager"
+        noRetryDelay="PT0.25S"
         principalCredential="password">
         <FilterTemplate>
             <![CDATA[
                 (uid=$resolutionContext.principal)
             ]]>
         </FilterTemplate>
+        <ConnectionPool
+            minPoolSize="2"
+            maxPoolSize="20"
+            validatePeriodically="true"
+            validateTimerPeriod="PT10M"
+            validateDN="ou=users,ou=vault,o=osu"
+            validateFilter="(ou=users)"
+            expirationTime="PT10M"/>
     </DataConnector>
 
     <AttributeDefinition xsi:type="Simple" id="email" >

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the commits mailing list