I want to implement as following:
(1)
Client Master Slave
|------ modify(0) --> | |
| | --- modify(1) ---> |
| | |
| | <--- SUCCESS ----- |
| | |
| <---- SUCCESS ----- | |
(2)
Client Slave Master
|------ modify(0) --> | (Chaining the modify request to Master) |
| | --- modify(0) -------------------------------> |
| | |
| | |
| |Master update the data,and try to update Slave |
| | <--- modify (1)---------------------------- - |
| | |
| |------------SUCCESS(1)-----------------------> |
| | |
| |<------------SUCCESS(0)----------------------- |
| | |
| <---- SUCCESS(0)----- | |
But current implemented in OpenLdap2.3 is:
(3)
Client Master Slave
|------ modify(0) --> | |
|<---- SUCCESS(0) ----- | |
| | |
|-Query the entry again->| |
| | --- modify(1) ---> |
| | |
| | <--- SUCCESS(1)---- |
| | |
(4)
Client Slave Master
|------ modify(0) --> | (Chaining the modify request to Master) |
| | --- modify(0) -------------------------------> |
| | |
| | |
| |<------------SUCCESS(0)----------------------- |
| | |
| <---- SUCCESS(0)----- | |
| | |
|------------Query the entry on Master again----------------------------->|
| | |
| | |
| | |
| | <----------- modify(1) ------------------------|
| | |
| |---------------SUCCESS(1)---------------------->|
It's a NOT good solution to implement the HA, because the data is not keep sync always.
I would like to join replicate develop team to do it.
And I want to implement failover dynamicly. If the master is down, one of the slaves will be the master.
So I want to add some more entrys in the configure branch to let the DS know how many DSs are in the same cluster. Master and Slaves know each other. And currently in OpneLdap, the Master don't know how many Slaves; the Slave only know where is Master, but don't know another Slavers.
So I would like to join OpenLdap to implement these functions.
Best regards,
======= At 2005-12-16, 18:12:21 you wrote: =======
sparklezou@hotmail.com wrote:
Dear all,
I read the source code of config branch. I'm puzzled that why the
schema for config branch are defined in the source code, not in a
.schema file? It a little dificult to extend the config schema. ^_^
Most elements of the config schema map directly to data structures in
the slapd code. It would be pointless to alter the config schema without
making corresponding code changes. It would be inappropriate to store
the config schema in a regular file; that would imply that it can be
changed freely which is incorrect.
So, since you are asking about extending the config schema, that must
mean you have written code to provide a new feature. It would be helpful
for the purpose of this discussion if you describe what your new feature
is, so we can focus on the proper hooks for integrating it.
--
-- Howard Chu
Chief Architect, Symas Corp. http://www.symas.com
Director, Highland Sun http://highlandsun.com/hyc
OpenLDAP Core Team http://www.openldap.org/project/
.
= = = = = = = = = = = = = = = = = = = =
sparklezou
sparklezou@hotmail.com
2005-12-21