[
https://issues.apache.org/jira/browse/DIRSERVER-1211?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12623355#action_12623355
]
Emmanuel Lecharny commented on DIRSERVER-1211:
----------------------------------------------
Looking at the stack trace, and looking at the code at JdbmStrore.replace() :
private void replace( Long id, ServerEntry entry, EntryAttribute mods )
throws Exception
{
if ( entry instanceof ClonedServerEntry )
{
throw new Exception( "Cannot store a ClonedServerEntry" );
}
String modsOid = oidRegistry.getOid( mods.getId() );
if ( hasUserIndexOn( modsOid ) )
{
Index<?,E> index = getUserIndex( modsOid );
// Drop all existing attribute value index entries and add new ones
( ( JdbmIndex<?,E> ) index ).drop( id ); <-- here, we get the
exception
...
I'm just thinking that we are trying to remove a reference from an index, but
as we are trying to add a new value to thoe indexed attribute, there is no
chance this reference could be found in the index.
One more check is necessary here: the modified attribute should already exist
in the entry before trying to remove the reference to this entry into the index.
Thoughts ?
> Error code 54 in modify-replace operation
> -----------------------------------------
>
> Key: DIRSERVER-1211
> URL: https://issues.apache.org/jira/browse/DIRSERVER-1211
> Project: Directory ApacheDS
> Issue Type: Bug
> Affects Versions: 1.5.3
> Reporter: Stefan Seelmann
> Assignee: Emmanuel Lecharny
>
> This error occurs with apacheds-1.5.3-fixed.tar.gz and the current
> trunk-with-dependencies (Revision 680187), both with default server.xml
> I use studio to run the following LDIF:
> ---------------------------------------------
> dn: cn=Kate Bush,ou=system
> changetype: add
> objectClass: top
> objectClass: person
> objectClass: organizationalPerson
> objectClass: inetOrgPerson
> cn: Kate Bush
> sn: Bush
> dn: cn=Kate Bush,ou=system
> changetype: modify
> replace: ou
> ou: Test
> -
> ---------------------------------------------
> The second LDIF record fails with error 54. The log is here:
> http://www.pastebin.org/57617.
> The error does not occur when I use 'add:ou' instead of 'replace:ou'
> The error does not occur when I use another attribute, e.g. 'decription'
> instead of 'ou'
> Emmanuel's idea on IM was that it is because 'ou' is indexed in the default
> server.xml.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.