Uploaded image for project: 'Directory ApacheDS'
  1. Directory ApacheDS
  2. DIRSERVER-2315

Having a schema with an object class that doesn't have any superior classes causes crash on replication

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Minor
    • Resolution: Unresolved
    • 2.0.0.AM26
    • None
    • replication, schema
    • None

    Description

      Either that is a bug in that a superior class is not needed but this exception still occurs, or perhaps if that is required then it would make more sense to fail when the LDIF is applied?

      Warning and error logs:

      [11:03:41] WARN [org.apache.directory.server.ldap.LdapProtocolHandler] - Unexpected exception forcing session to close: sending disconnect notice to client.
      org.apache.directory.api.ldap.model.exception.LdapException: java.lang.IndexOutOfBoundsException: Index 0 out-of-bounds for length 0
              at org.apache.directory.server.ldap.replication.provider.SyncReplRequestHandler.handleSyncRequest(SyncReplRequestHandler.java:351)
              at org.apache.directory.server.ldap.handlers.request.SearchRequestHandler.handleReplication(SearchRequestHandler.java:230)
              at org.apache.directory.server.ldap.handlers.request.SearchRequestHandler.handle(SearchRequestHandler.java:189)
              at org.apache.directory.server.ldap.handlers.request.SearchRequestHandler.handle(SearchRequestHandler.java:94)
              at org.apache.directory.server.ldap.handlers.LdapRequestHandler.handleMessage(LdapRequestHandler.java:209)
              at org.apache.directory.server.ldap.handlers.LdapRequestHandler.handleMessage(LdapRequestHandler.java:57)
              at org.apache.mina.handler.demux.DemuxingIoHandler.messageReceived(DemuxingIoHandler.java:243)
              at org.apache.directory.server.ldap.LdapProtocolHandler.messageReceived(LdapProtocolHandler.java:224)
              at org.apache.mina.core.filterchain.DefaultIoFilterChain$TailFilter.messageReceived(DefaultIoFilterChain.java:1015)
              at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:650)
              at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1300(DefaultIoFilterChain.java:49)
              at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:1128)
              at org.apache.mina.core.filterchain.IoFilterEvent.fire(IoFilterEvent.java:106)
              at org.apache.mina.core.session.IoEvent.run(IoEvent.java:89)
              at org.apache.mina.filter.executor.UnorderedThreadPoolExecutor$Worker.runTask(UnorderedThreadPoolExecutor.java:541)
              at org.apache.mina.filter.executor.UnorderedThreadPoolExecutor$Worker.run(UnorderedThreadPoolExecutor.java:493)
              at java.base/java.lang.Thread.run(Thread.java:844)
      Caused by: org.apache.directory.api.ldap.model.exception.LdapException: java.lang.IndexOutOfBoundsException: Index 0 out-of-bounds for length 0
              at org.apache.directory.server.core.shared.DefaultCoreSession.search(DefaultCoreSession.java:1250)
              at org.apache.directory.server.ldap.replication.provider.SyncReplRequestHandler.doSimpleSearch(SyncReplRequestHandler.java:655)
              at org.apache.directory.server.ldap.replication.provider.SyncReplRequestHandler.doInitialRefresh(SyncReplRequestHandler.java:572)
              at org.apache.directory.server.ldap.replication.provider.SyncReplRequestHandler.handleSyncRequest(SyncReplRequestHandler.java:313)
              ... 16 more
      Caused by: java.lang.IndexOutOfBoundsException: Index 0 out-of-bounds for length 0
              at java.base/jdk.internal.util.Preconditions.outOfBounds(Preconditions.java:64)
              at java.base/jdk.internal.util.Preconditions.outOfBoundsCheckIndex(Preconditions.java:70)
              at java.base/jdk.internal.util.Preconditions.checkIndex(Preconditions.java:248)
              at java.base/java.util.Objects.checkIndex(Objects.java:372)
              at java.base/java.util.ArrayList.get(ArrayList.java:440)
              at org.apache.directory.server.core.operational.OperationalAttributeInterceptor.processSubordinates(OperationalAttributeInterceptor.java:747)
              at org.apache.directory.server.core.operational.OperationalAttributeInterceptor.access$500(OperationalAttributeInterceptor.java:82)
              at org.apache.directory.server.core.operational.OperationalAttributeInterceptor$SubordinatesSearchFilter.accept(OperationalAttributeInterceptor.java:191)
              at org.apache.directory.server.core.api.filtering.EntryFilteringCursorImpl.next(EntryFilteringCursorImpl.java:453)
              at org.apache.directory.server.core.shared.DefaultCoreSession.sortResults(DefaultCoreSession.java:1411)
              at org.apache.directory.server.core.shared.DefaultCoreSession.search(DefaultCoreSession.java:1223)
              ... 19 more
      
      [11:03:41] ERROR [org.apache.directory.server.PROVIDER_LOG] - Failed to handle the syncrepl request
      org.apache.directory.api.ldap.model.exception.LdapException: java.lang.IndexOutOfBoundsException: Index 0 out-of-bounds for length 0
              at org.apache.directory.server.core.shared.DefaultCoreSession.search(DefaultCoreSession.java:1250)
              at org.apache.directory.server.ldap.replication.provider.SyncReplRequestHandler.doSimpleSearch(SyncReplRequestHandler.java:655)
              at org.apache.directory.server.ldap.replication.provider.SyncReplRequestHandler.doInitialRefresh(SyncReplRequestHandler.java:572)
              at org.apache.directory.server.ldap.replication.provider.SyncReplRequestHandler.handleSyncRequest(SyncReplRequestHandler.java:313)
              at org.apache.directory.server.ldap.handlers.request.SearchRequestHandler.handleReplication(SearchRequestHandler.java:230)
              at org.apache.directory.server.ldap.handlers.request.SearchRequestHandler.handle(SearchRequestHandler.java:189)
              at org.apache.directory.server.ldap.handlers.request.SearchRequestHandler.handle(SearchRequestHandler.java:94)
              at org.apache.directory.server.ldap.handlers.LdapRequestHandler.handleMessage(LdapRequestHandler.java:209)
              at org.apache.directory.server.ldap.handlers.LdapRequestHandler.handleMessage(LdapRequestHandler.java:57)
              at org.apache.mina.handler.demux.DemuxingIoHandler.messageReceived(DemuxingIoHandler.java:243)
              at org.apache.directory.server.ldap.LdapProtocolHandler.messageReceived(LdapProtocolHandler.java:224)
              at org.apache.mina.core.filterchain.DefaultIoFilterChain$TailFilter.messageReceived(DefaultIoFilterChain.java:1015)
              at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:650)
              at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1300(DefaultIoFilterChain.java:49)
              at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:1128)
              at org.apache.mina.core.filterchain.IoFilterEvent.fire(IoFilterEvent.java:106)
              at org.apache.mina.core.session.IoEvent.run(IoEvent.java:89)
              at org.apache.mina.filter.executor.UnorderedThreadPoolExecutor$Worker.runTask(UnorderedThreadPoolExecutor.java:541)
              at org.apache.mina.filter.executor.UnorderedThreadPoolExecutor$Worker.run(UnorderedThreadPoolExecutor.java:493)
              at java.base/java.lang.Thread.run(Thread.java:844)
      Caused by: java.lang.IndexOutOfBoundsException: Index 0 out-of-bounds for length 0
              at java.base/jdk.internal.util.Preconditions.outOfBounds(Preconditions.java:64)
              at java.base/jdk.internal.util.Preconditions.outOfBoundsCheckIndex(Preconditions.java:70)
              at java.base/jdk.internal.util.Preconditions.checkIndex(Preconditions.java:248)
              at java.base/java.util.Objects.checkIndex(Objects.java:372)
              at java.base/java.util.ArrayList.get(ArrayList.java:440)
              at org.apache.directory.server.core.operational.OperationalAttributeInterceptor.processSubordinates(OperationalAttributeInterceptor.java:747)
              at org.apache.directory.server.core.operational.OperationalAttributeInterceptor.access$500(OperationalAttributeInterceptor.java:82)
              at org.apache.directory.server.core.operational.OperationalAttributeInterceptor$SubordinatesSearchFilter.accept(OperationalAttributeInterceptor.java:191)
              at org.apache.directory.server.core.api.filtering.EntryFilteringCursorImpl.next(EntryFilteringCursorImpl.java:453)
              at org.apache.directory.server.core.shared.DefaultCoreSession.sortResults(DefaultCoreSession.java:1411)
              at org.apache.directory.server.core.shared.DefaultCoreSession.search(DefaultCoreSession.java:1223)
              ... 19 more
      

      Attachments

        1. arcticlake_schema.ldif
          3 kB
          Kaamil Jasani

        Activity

          People

            Unassigned Unassigned
            kjasani Kaamil Jasani
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated: