Details
Description
When using multi-thread to add,edit,delete and query apacheds, sometimes it will throw ArrayIndexOfBoundsException. Exception list below:
[06:25:40] ERROR [org.apache.directory.server.core.partition.impl.btree.mavibot.MavibotTable] - ERR_133 Exception while removing 6c7dd69c-0f53-4b49-8ce6-be84b165938b from index 1.3.6.1.4.1.18060.0.4.1.2.50_reverse
java.lang.ArrayIndexOutOfBoundsException: 6
at org.apache.directory.mavibot.btree.RecordManager.readBytes(RecordManager.java:1209)
at org.apache.directory.mavibot.btree.RecordManager.readPage(RecordManager.java:1021)
at org.apache.directory.mavibot.btree.RecordManager.deserialize(RecordManager.java:989)
at org.apache.directory.mavibot.btree.PersistedPageHolder.fetchElement(PersistedPageHolder.java:133)
at org.apache.directory.mavibot.btree.PersistedPageHolder.getValue(PersistedPageHolder.java:113)
at org.apache.directory.mavibot.btree.AbstractPage.getReference(AbstractPage.java:155)
at org.apache.directory.mavibot.btree.RecordManager.serializeNodeValue(RecordManager.java:1708)
at org.apache.directory.mavibot.btree.RecordManager.serializePage(RecordManager.java:1653)
at org.apache.directory.mavibot.btree.RecordManager.writePage(RecordManager.java:2808)
at org.apache.directory.mavibot.btree.PersistedNode.createHolder(PersistedNode.java:906)
at org.apache.directory.mavibot.btree.PersistedNode.handleRemoveResult(PersistedNode.java:207)
at org.apache.directory.mavibot.btree.PersistedNode.delete(PersistedNode.java:607)
at org.apache.directory.mavibot.btree.AbstractPage.delete(AbstractPage.java:217)
at org.apache.directory.mavibot.btree.PersistedBTree.processDelete(PersistedBTree.java:332)
at org.apache.directory.mavibot.btree.PersistedBTree.delete(PersistedBTree.java:292)
at org.apache.directory.mavibot.btree.AbstractBTree.delete(AbstractBTree.java:390)
at org.apache.directory.mavibot.btree.AbstractBTree.delete(AbstractBTree.java:324)
at org.apache.directory.mavibot.btree.PersistedBTree.delete(PersistedBTree.java:43)
at org.apache.directory.server.core.partition.impl.btree.mavibot.MavibotTable.remove(MavibotTable.java:389)
at org.apache.directory.server.core.partition.impl.btree.mavibot.MavibotIndex.drop(MavibotIndex.java:391)
at org.apache.directory.server.core.partition.impl.btree.mavibot.MavibotIndex.drop(MavibotIndex.java:58)
at org.apache.directory.server.core.partition.impl.btree.AbstractBTreePartition.delete(AbstractBTreePartition.java:1078)
at org.apache.directory.server.core.partition.impl.btree.AbstractBTreePartition.delete(AbstractBTreePartition.java:917)
at org.apache.directory.server.core.shared.partition.DefaultPartitionNexus.delete(DefaultPartitionNexus.java:405)
at org.apache.directory.server.core.api.interceptor.BaseInterceptor$1.delete(BaseInterceptor.java:192)
at org.apache.directory.server.core.api.interceptor.BaseInterceptor.next(BaseInterceptor.java:490)
at org.apache.directory.server.core.journal.JournalInterceptor.delete(JournalInterceptor.java:181)
at org.apache.directory.server.core.api.interceptor.BaseInterceptor.next(BaseInterceptor.java:490)
at org.apache.directory.server.core.trigger.TriggerInterceptor.delete(TriggerInterceptor.java:336)
at org.apache.directory.server.core.api.interceptor.BaseInterceptor.next(BaseInterceptor.java:490)
at org.apache.directory.server.core.event.EventInterceptor.delete(EventInterceptor.java:250)
at org.apache.directory.server.core.api.interceptor.BaseInterceptor.next(BaseInterceptor.java:490)
at org.apache.directory.server.core.subtree.SubentryInterceptor.delete(SubentryInterceptor.java:1058)
at org.apache.directory.server.core.api.interceptor.BaseInterceptor.next(BaseInterceptor.java:490)
at org.apache.directory.server.core.operational.OperationalAttributeInterceptor.delete(OperationalAttributeInterceptor.java:462)
at org.apache.directory.server.core.api.interceptor.BaseInterceptor.next(BaseInterceptor.java:490)
at org.apache.directory.server.core.exception.ExceptionInterceptor.delete(ExceptionInterceptor.java:207)
at org.apache.directory.server.core.api.interceptor.BaseInterceptor.next(BaseInterceptor.java:490)
at org.apache.directory.server.core.admin.AdministrativePointInterceptor.delete(AdministrativePointInterceptor.java:1261)
at org.apache.directory.server.core.api.interceptor.BaseInterceptor.next(BaseInterceptor.java:490)
at org.apache.directory.server.core.authz.DefaultAuthorizationInterceptor.delete(DefaultAuthorizationInterceptor.java:225)
at org.apache.directory.server.core.api.interceptor.BaseInterceptor.next(BaseInterceptor.java:490)
at org.apache.directory.server.core.authz.AciAuthorizationInterceptor.delete(AciAuthorizationInterceptor.java:663)
at org.apache.directory.server.core.api.interceptor.BaseInterceptor.next(BaseInterceptor.java:490)
at org.apache.directory.server.core.referral.ReferralInterceptor.delete(ReferralInterceptor.java:288)
at org.apache.directory.server.core.api.interceptor.BaseInterceptor.next(BaseInterceptor.java:490)
at org.apache.directory.server.core.authn.AuthenticationInterceptor.delete(AuthenticationInterceptor.java:754)
at org.apache.directory.server.core.api.interceptor.BaseInterceptor.next(BaseInterceptor.java:490)
at org.apache.directory.server.core.normalization.NormalizationInterceptor.delete(NormalizationInterceptor.java:174)
at org.apache.directory.server.core.DefaultOperationManager.delete(DefaultOperationManager.java:641)
at org.apache.directory.server.core.shared.DefaultCoreSession.delete(DefaultCoreSession.java:924)
at org.apache.directory.server.core.shared.DefaultCoreSession.delete(DefaultCoreSession.java:907)
at org.apache.directory.server.ldap.handlers.request.DeleteRequestHandler.handle(DeleteRequestHandler.java:55)
at org.apache.directory.server.ldap.handlers.request.DeleteRequestHandler.handle(DeleteRequestHandler.java:39)
at org.apache.directory.server.ldap.handlers.LdapRequestHandler.handleMessage(LdapRequestHandler.java:207)
at org.apache.directory.server.ldap.handlers.LdapRequestHandler.handleMessage(LdapRequestHandler.java:56)
at org.apache.mina.handler.demux.DemuxingIoHandler.messageReceived(DemuxingIoHandler.java:221)
at org.apache.directory.server.ldap.LdapProtocolHandler.messageReceived(LdapProtocolHandler.java:217)
at org.apache.mina.core.filterchain.DefaultIoFilterChain$TailFilter.messageReceived(DefaultIoFilterChain.java:854)
at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:542)
at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1300(DefaultIoFilterChain.java:48)
at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:943)
at org.apache.mina.core.filterchain.IoFilterEvent.fire(IoFilterEvent.java:74)
at org.apache.mina.core.session.IoEvent.run(IoEvent.java:63)
at org.apache.mina.filter.executor.UnorderedThreadPoolExecutor$Worker.runTask(UnorderedThreadPoolExecutor.java:475)
at org.apache.mina.filter.executor.UnorderedThreadPoolExecutor$Worker.run(UnorderedThreadPoolExecutor.java:429)
at java.lang.Thread.run(Thread.java:745)
[06:36:54] ERROR [org.apache.directory.server.ldap.handlers.LdapRequestHandler] - ERR_732 Cannot process a Request while binding