[ https://issues.apache.org/jira/browse/AVRO-1642?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14738044#comment-14738044 ]
Sean Busbey commented on AVRO-1642: ----------------------------------- {code} public static void compileSchema(File src, File dest) throws IOException { - compileSchema(new File[] {src}, dest); + compileSchema(new File[]{src}, dest); {code} please don't make unrelated formatting fixes. > JVM Spec Violation 255 Parameter Limit Exceeded > ------------------------------------------------ > > Key: AVRO-1642 > URL: https://issues.apache.org/jira/browse/AVRO-1642 > Project: Avro > Issue Type: Bug > Components: java > Affects Versions: 1.7.7 > Environment: Windows/Linux all Java > Reporter: Bryce Alcock > Assignee: Prateek Rungta > Priority: Critical > Labels: build, maven, specific > Attachments: AVRO-1642-0.patch, AVRO-1642-1.patch, avro-1642-fail.tar > > > The JVM Spec indicates that: > {quote}The number of method parameters is limited to 255 by the definition of > a method descriptor (ยง4.3.3), where the limit includes one unit for this in > the case of instance or interface method invocations. Note that a method > descriptor is defined in terms of a notion of method parameter length in > which a parameter of type long or double contributes two units to the length, > so parameters of these types further reduce the limit. {quote} > Avro Generated Java code with say more than 255 fields will create a > constructor that is not valid and won't compile. > Simple test is to create a 256 field avro schema, use the avro-maven auto > code gen plugin, and try to compile the resulting class. > DON'T use linux when doing this use windows, my suspicion is that Linux JavaC > generates invalid byte code but does not complain. > Windows will correctly complain indicating that you are a violator of the JVM > specification. -- This message was sent by Atlassian JIRA (v6.3.4#6332)