avro-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (AVRO-1642) JVM Spec Violation 255 Parameter Limit Exceeded
Date Wed, 06 Apr 2016 14:53:25 GMT

    [ https://issues.apache.org/jira/browse/AVRO-1642?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15228393#comment-15228393

ASF GitHub Bot commented on AVRO-1642:

GitHub user boosh opened a pull request:


    AVRO-1642 - Requested code review changes


You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/boosh/avro AVRO-1642

Alternatively you can review and apply these changes as the patch at:


To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #85
commit e457d1eb9242c1c4f9a3a43a1e5e0e778b8c9bce
Author: Al B <al@acac04cc.ipt.aol.com>
Date:   2016-04-06T11:41:10Z

    Move TestSpecificCompiler into org.apache.avro.compiler.specific

commit 98954064ee8bcafbd7bddf969585a13441bdde77
Author: Al B <al@acac04cc.ipt.aol.com>
Date:   2016-04-06T14:52:14Z

    Implement all requested code review changes for AVRO-1642


> 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

View raw message