Hi Guys, After trying to understand better about commons-pool, apache-directory-ldap-api and fortress. I've come with a draft solution at branch "trivial/support-ha-client"
I introduce 2 class which src/main/java/org/apache/directory/fortress/core/ldap/HAConnectionStrategy.java src/main/java/org/apache/directory/fortress/core/ldap/LdapHAConnectionPool.java with this i try to minimize the existing changes at LdapConnectionProvider class. the idea is by changing : adminPool = new LdapConnectionPool( poolFactory ); into : adminPool = new LdapHAConnectionPool( poolFactory ); at LdapConnectionProvider class. What do you guys think about the changes i made at those branch? Yudhi Karunia Surtan On Tue, Apr 17, 2018 at 10:42 PM, Yudhi Karunia Surtan <[email protected]> wrote: > Ok shawn.. > I think it is possible to use keyedpool too, because it able act as > arbiter. Let me finish this thing and update u once after it finished. > > On Tue, Apr 17, 2018, 22:18 Shawn McKinney <[email protected]> wrote: > >> >> > On Apr 16, 2018, at 1:02 PM, Yudhi Karunia Surtan <[email protected]> >> wrote: >> > >> > My idea is a bit different with ldaptive implementation which they >> mostly >> > do the check before giving the connection. For fortress or ldap-api i >> > propose that the the client need to understand which node is healthy and >> > give only the health one or thrown exception if all bad. >> >> Agreed >> >> > >> > On Apr 16, 2018, at 1:02 PM, Yudhi Karunia Surtan <[email protected]> >> wrote: >> > >> > I still don't know how big the changes will be but i think better if I >> try >> > to put it on the code first and later all of you can give a feedback >> about >> > it. It might changes the current LdapConnectionProvider class. >> >> That sounds like a good plan to me. >> >> > >> > On Apr 16, 2018, at 1:02 PM, Yudhi Karunia Surtan <[email protected]> >> wrote: >> > >> > Do you have an idea how should ldap health check should be? >> > Is that necessary to use bind command or something like telnet should >> work? >> >> I’d think the health check’s purpose is to make sure that server is >> responding in as lightweight a way as possible. Bind is too heavy. >> Telnet’s a possibility, but this is something we’ll vet with on the dev’prs >> list. For your experiment, anything will work knowing it may change later. >> >> Thanks, >> Shawn >> >> >> >>
