#3046 make NIS Plugin and Schema Compatibility Plugin betxn aware
Closed: Fixed None Opened 7 years ago by nhosoi.

Associated to the changes made on the plugins in 389-ds-base, plugins belonging to IPA are also supposed to be betxn aware. Please see these tickets for more details. (The release target is 389-ds-base-1.3.0.)
https://fedorahosted.org/389/ticket/351
Ticket #351 - use betxn plugins by default
https://fedorahosted.org/389/ticket/352
Ticket #352 - make cos, roles, views betxn aware


Change description: When NIS Plugin and Schema Compatibility Plugin config entries include
nsslapd-pluginbetxn: on
(the value could be yes, true or 1, too),
the plugins' update callbacks (add, delete, modify, and modrdn) are
called at the betxn pre/postop timing. By default, the value of
nsslapd-pluginbetxn is off.

Hello, IPA team.

I've built 389-ds-base on koji from the 389-ds-base git master. It's still a scratch build. So, you cannot search it on koji.
http://koji.fedoraproject.org/koji/taskinfo?taskID=4531431
The server is betxn aware.

Could you please rebuild the NIS/schema-compat plugin applying the attached patch ( 0001-make-NIS-Plugin-and-Schema-Compatibility-Plugin-betx.patch​)?
Install it with enabling betxn: "nsslapd-pluginbetxn: on" in the plugin entry (dse.ldif).
And run some basic IPA tests and let us know the results?

Also, could there be some other IPA plugins which need to be betxn aware? If there are, could you please tell me how to get the source code? We'd greatly appreciate it.

Where can I find out more about the rules that modules need to follow when transactions are enabled?

Should the plugin also be attempting to read a global configuration setting for transaction support, and using that as a default if it doesn't have one specifically set in its own configuration entry? Expecting "nsslapd-pluginbetxn: on" to be set for every plugin that the server loads seems a bit... inconvenient.

The plugin performs internal search operations using slapi_search_internal_*. Does the plugin need to take any care with SLAPI_TXN or SLAPI_PARENT_TXN values when doing so?

It appears that only back-ldbm uses use backend transactions, so the plugin would still need to register postop and internal-postop callbacks to notice changes in the plugin's configuration. Can you confirm whether or not that's the case?

For the time being we are going to explicitly disable the betxn plugins.

master: ea4f60b

ipa-3-0: 9a305c5

Is this the plan in general for 3.0, or is slapi-nis not having the right changes ready forcing you to do this?

master: f1f1b4e

Transactions are enabled, we have now Requires on slapi-nis 0.44.

Metadata Update from @nhosoi:
- Issue assigned to nalin
- Issue set to the milestone: FreeIPA 3.1 Stabilization

2 years ago

Login to comment on this ticket.

Metadata