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

Reply via email to