Well, this is actually only a draft. With this, I hope i can drag more idea from you guys. Please share if you guys have any input. I will try to modified "LdapConnectionProvider" tomorrow and use the class that I made and see how it works. I will update you guys about the experiment result at end of tomorrow.
Yudhi Karunia Surtan On Thu, Apr 19, 2018, 21:20 Shawn McKinney <[email protected]> wrote: > I just now glanced at the code Yudhi, will need to test it, but first > glance looks pretty good. Your approach of how to integrate the change is > good. > > Shawn > > > On Apr 19, 2018, at 7:45 AM, Yudhi Karunia Surtan <[email protected]> > wrote: > > > > 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 > >>> > >>> > >>> > >>> > >
