Directory Studio
  1. Directory Studio
  2. DIRSTUDIO-503

New Entry -> Available object classes list remains stale after new objectclasses added

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 1.4.0
    • Fix Version/s: 1.5.0
    • Component/s: studio-ldapbrowser
    • Labels:
      None
    • Environment:
      java version "1.6.0_13"
      Java(TM) SE Runtime Environment (build 1.6.0_13-b03-211)
      Java HotSpot(TM) 64-Bit Server VM (build 11.3-b02-83, mixed mode)

      Description

      When an attempt is made to add new objectclasses to a Fedora Directory server, these new objectclasses do not show up in the "show available objectclasses" dialog during the "new entry" process.

      No obvious functionality exists to force a refresh of this list, or expire it's contents.

      The cached objectclass list seems to survive across Eclipse restarts, rendering directory studio impossible to use during LDAP schema development.

      A manual query of (cn=schema) shows the new objectclasses as present.

      1. schema-dialog.tiff
        92 kB
        Graham Leggett

        Activity

        Hide
        Stefan Seelmann added a comment -

        Damn, there are always problems with schema caching. In general, the schema should be reloaded if the modifyTimestamp of the schema entry changed.

        Could you please check the following:

        • Go to Connection Properties -> Connection -> Schema [1]
        • Is the "Modify Timestamp" up-to-date?
        • Is the "Cache Date" newer then the "Modify Timestamp"
        • If possible make a screenshot of this dialog and attach it, please
        • Try to "Reload Schema" and check if the the list now is updated
        • (In case that doesn't help: The schema is cached in an LDIF, you see the location of that file under "Cache Location", try to delete that cache)

        [1] http://directory.apache.org/studio/static/users_guide/ldap_browser/tools_connection_properties.html#tools_connection_properties_schema

        Show
        Stefan Seelmann added a comment - Damn, there are always problems with schema caching. In general, the schema should be reloaded if the modifyTimestamp of the schema entry changed. Could you please check the following: Go to Connection Properties -> Connection -> Schema [1] Is the "Modify Timestamp" up-to-date? Is the "Cache Date" newer then the "Modify Timestamp" If possible make a screenshot of this dialog and attach it, please Try to "Reload Schema" and check if the the list now is updated (In case that doesn't help: The schema is cached in an LDIF, you see the location of that file under "Cache Location", try to delete that cache) [1] http://directory.apache.org/studio/static/users_guide/ldap_browser/tools_connection_properties.html#tools_connection_properties_schema
        Hide
        Graham Leggett added a comment -

        Both the create timestamp and modify timestamp are "-", so something is definitely weird. Ideally if there was a way to selectively disable the cache that would help a lot during shema development (obviously it wouldn't work for everybody, my LDAP tree right now is small).

        Show
        Graham Leggett added a comment - Both the create timestamp and modify timestamp are "-", so something is definitely weird. Ideally if there was a way to selectively disable the cache that would help a lot during shema development (obviously it wouldn't work for everybody, my LDAP tree right now is small).
        Hide
        Graham Leggett added a comment -

        Screenshot of the schema dialog

        Show
        Graham Leggett added a comment - Screenshot of the schema dialog
        Hide
        Graham Leggett added a comment -

        Reload schema updated the cache. Is it possible to add this button to dialogs where the schema is present, to force a refersh where necessary?

        Show
        Graham Leggett added a comment - Reload schema updated the cache. Is it possible to add this button to dialogs where the schema is present, to force a refersh where necessary?
        Hide
        Graham Leggett added a comment -

        Reload schema changed the cache date, but modify timestamp remains "-".

        Show
        Graham Leggett added a comment - Reload schema changed the cache date, but modify timestamp remains "-".
        Hide
        Stefan Seelmann added a comment -

        Seems like FedoraDS (389DS) doesn't provide a modifyTimestamp for the schema. Do you see a modifyTimestamp in the "cn=schema" entry?. Which version of FedoraDS are you using?

        I checked the code and there is an bug: If the both createTimestamp and modifyTimestamp are null then the schema is not reloaded automatically. I'll correct that. Thanks for the report.

        Show
        Stefan Seelmann added a comment - Seems like FedoraDS (389DS) doesn't provide a modifyTimestamp for the schema. Do you see a modifyTimestamp in the "cn=schema" entry?. Which version of FedoraDS are you using? I checked the code and there is an bug: If the both createTimestamp and modifyTimestamp are null then the schema is not reloaded automatically. I'll correct that. Thanks for the report.
        Hide
        Graham Leggett added a comment -

        Using fedora-ds-1.1.3-1.fc6, just checked, there is no modifyTimestamp entry in the schema query.

        No problem, glad it wasn't me being dumb.

        Show
        Graham Leggett added a comment - Using fedora-ds-1.1.3-1.fc6, just checked, there is no modifyTimestamp entry in the schema query. No problem, glad it wasn't me being dumb.
        Hide
        Stefan Seelmann added a comment -

        Fixed in trunk:
        http://svn.apache.org/viewvc?rev=822885&view=rev

        I added a "reload schema" to the new entry wizard, also fixed the way the schema cache is written.

        However I haven't changed the behaviour of automatic schema reloading. If the server's schema doesn't contain a modifyTimestamp (or isn't returned due to access control) then the old cached schema is kept and you need to reload a newer schema manually.

        Show
        Stefan Seelmann added a comment - Fixed in trunk: http://svn.apache.org/viewvc?rev=822885&view=rev I added a "reload schema" to the new entry wizard, also fixed the way the schema cache is written. However I haven't changed the behaviour of automatic schema reloading. If the server's schema doesn't contain a modifyTimestamp (or isn't returned due to access control) then the old cached schema is kept and you need to reload a newer schema manually.
        Hide
        Pierre-Arnaud Marcelot added a comment -

        Apache Directory studio version 1.5.0 has been released.

        Show
        Pierre-Arnaud Marcelot added a comment - Apache Directory studio version 1.5.0 has been released.

          People

          • Assignee:
            Stefan Seelmann
            Reporter:
            Graham Leggett
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development