directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Norbert Reilly (JIRA)" <>
Subject [jira] Commented: (DIRSERVER-599) Can't compile long schema
Date Mon, 27 Mar 2006 00:54:09 GMT
    [ ] 

Norbert Reilly commented on DIRSERVER-599:

I ran into this issue to for an external schema I imported into the AD build. The problem
is the 64k bytecode limit per method:

As noted on the dev list I use runtime schema conversion when talking to remote live LDAP
systems (acting as a proxy) but in this case I only had a .schema file and haven't adapted
my code to work off a .schema file rather then LDAP schema search results.

> Can't compile long schema
> -------------------------
>          Key: DIRSERVER-599
>          URL:
>      Project: Directory ApacheDS
>         Type: Bug
>   Components: schema-plugin
>     Versions: 1.0-RC1
>     Reporter: Endi S. Dewata
>  Attachments: activeDirectory.schema
> Currently the schema plugin converts a schema into Java files, and if the schema gets
too long the Java file can't be compiled. Some applications might use a huge schema, for instance
the default Active Directory schema contains more than 1000 attribute types. Compiling such
schema will produce the following error:
> [INFO] Generating activeDirectory schema.
> [INFO] [resources:resources]
> [INFO] Using default encoding to copy filtered resources.
> [INFO] [compiler:compile]
> Compiling 14 source files to c:\\apacheds-1.0\core\target\classes
> [INFO] ----------------------------------------------------------------------------
> [INFO] ----------------------------------------------------------------------------
> [INFO] Compilation failure
> c:\\apacheds-1.0\core\target\generated-sources\org\apache\directory\server\core\schema
> \bootstrap\[52,16] code too large
> A workaround is that the schema can be split into several smaller schemas, this will
produce smaller Java files which can be compiled just fine. From experiments it seems that
the compiler will hit the limit when compiling 622 attribute types. This will produce more
than 11k lines of  code in the produce() method in the generated Java file. A similar limit
may also affect the max number of object class definitions.

This message is automatically generated by JIRA.
If you think it was sent incorrectly contact one of the administrators:
For more information on JIRA, see:

View raw message