New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
cleanup and improve the use of the DBVERSION file(s) #3631
Comments
Comment from firstyear (@Firstyear) at 2019-08-30 00:49:34 Seems reasonable to me. The main concern I have is if we had a future case of: db/userRoot/id2entry.db4 So I guess this depends how your future backend work will look about support multiple db types concurrently (or not). |
Comment from firstyear (@Firstyear) at 2019-08-30 00:49:35 Metadata Update from @Firstyear:
|
Comment from tbordaz (@tbordaz) at 2019-09-02 11:17:23 @Firstyear IMHO the new backend isolation should be able to handle several backends with different database layer but I would prefer to go that way. |
Comment from lkrispen (@elkris) at 2019-09-02 15:19:28 It is not only a question of simplifying test and support, we do have transactions spanning multiple backends, we have csn and changelog commit management across multiple backends - I do not see how this should work if the backends use different database implementations. And I do not see the benefit and need. |
Comment from firstyear (@Firstyear) at 2019-09-03 01:19:29 I agree - I don't think we should have different backend storage mechanisms, as it adds pointless complexity. So provided that "all backends" must use the same lower-level db type, then having a single DBVERSION is acceptable to me. |
Comment from lkrispen (@elkris) at 2019-09-04 10:55:55 Here is one more thought on the idl switch. As far as I am aware the old-idl is not used and I am not sure how well it really still would work. I was hesitant to remove the idl switch because there are suggestions for a new idl format (see 49416) which I think are promising (even if we do not implement them in rust). With that in mind we could give up old-idl, if introducing a new idl format handle this transparent in the index itself. |
Comment from mreynolds (@mreynolds389) at 2019-09-05 17:56:11 Metadata Update from @mreynolds389:
|
Comment from mreynolds (@mreynolds389) at 2020-03-04 16:35:11 Metadata Update from @mreynolds389:
|
Cloned from Pagure issue: https://pagure.io/389-ds-base/issue/50575
we have a DBVERSION file in the top database directory
Its content is:
and tracks libdb version , variant of idl list, entryrdn vs entrydn and dn-rfc.
There are also the same DBVERSION files in each instance database directory, but all the settings are global, so all instances have to use the same config and libdb. Only when it was possible to restore a single backend from a backup there might have been differences, but this is no longer possible.
Also the read of DBVERSION checks for a dataversion, which is never set, and the handlin of the idl-switch is someho obscure, it needs anothe param to be set to allow a change - and I am notsure it is realy working well to switch from new to old or vice versa.
So I propose to cleanup this and have only ONE version file and verify that it processes the settings correctly
The text was updated successfully, but these errors were encountered: