LdapName breaks static parser after repeated use.
-------------------------------------------------
Key: DIRSERVER-584
URL: http://issues.apache.org/jira/browse/DIRSERVER-584
Project: Directory ApacheDS
Type: Bug
Components: ldap
Versions: 1.0-RC1
Reporter: Alex Karasulu
Priority: Blocker
Fix For: 1.0-RC1
I'm thinking some of the recent changes on the name parser may have introduced
new problems.
These are really weird problems. They happen only when running regression
tests in maven within the server-unit module. Yeah crazy. Basically to
reproduce run "mvn -Dregression test" inside the apacheds/server-main module.
These are the tests that fail:
$ mvn -Dregressions test
[INFO]
----------------------------------------------------------------------------
[INFO] Building ApacheDS Server Unit
....
T E S T S
-------------------------------------------------------
....
[surefire] Running org.apache.directory.server.AddObjectClassesToEntryTest
[surefire] Tests run: 3, Failures: 0, Errors: 3, Time elapsed: 0.113 sec
<<<<<<<< FAILURE !!
[surefire] Running org.apache.directory.server.MiscTest
[surefire] Tests run: 7, Failures: 0, Errors: 7, Time elapsed: 0.177 sec
<<<<<<<< FAILURE !!
[surefire] Running org.apache.directory.server.MatchingRuleCompareTest
[surefire] Tests run: 3, Failures: 0, Errors: 3, Time elapsed: 0.08 sec
<<<<<<<< FAILURE !!
Now when these tests run inside eclipse there is no problem. Here's what teh
surefire report
looks like for these failures. They are all pretty much the same trace:
========================================================================================================
o.a.d.shared.ldap.exception.LdapConfigurationException: Failed to normalize the
suffix: ou=system
[Root exception is o.a.d.shared.ldap.exception.LdapInvalidNameException: Parser
failure on name:
ou=system
Antlr exception trace:
line 1:1: unexpected token: ou
at
o.a.d.shared.ldap.name.antlrNameParser.attributeTypeAndValue(antlrNameParser.java:192)
at
o.a.d.shared.ldap.name.antlrNameParser.nameComponent(antlrNameParser.java:120)
at o.a.d.shared.ldap.name.antlrNameParser.name(antlrNameParser.java:69)
at o.a.d.shared.ldap.name.DnParser.parse(DnParser.java:208)
at o.a.d.shared.ldap.name.LdapName.<init>(LdapName.java:115)
at
o.a.d.server.core.configuration.DirectoryPartitionConfiguration.setSuffix(DirectoryPartitionConfiguration.java:203)
========================================================================================================
The suspect code is at
o.a.d.server.core.configuration.DirectoryPartitionConfiguration.setSuffix(DirectoryPartitionConfiguration.java:203:
/**
* Sets the suffix of the [EMAIL PROTECTED] DirectoryPartition}.
*/
protected void setSuffix( String suffix ) throws NamingException
{
suffix = suffix.trim();
try
202: {
203: new LdapName( suffix ); <<<<<<<<================== HERE!!!
204: }
catch ( NamingException e )
{
throw new LdapConfigurationException( "Failed to normalize the
suffix: " + suffix, e );
}
this.suffix = suffix;
}
This is crazy though because how the heck is the parser failing on "ou=system"
and succeeding on all test cases I cannot understand. I think I'm loosing my
mind on this one this is why I need a second opinion. Please advise.
Thanks,
Alex
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira