Uploaded image for project: 'ProtoStream'
  1. ProtoStream
  2. IPROTO-131

Processor exception for Collection implementation

    XMLWordPrintable

Details

    • Bug
    • Resolution: Won't Do
    • Critical
    • None
    • 4.2.2.Final
    • None
    • DataGrid Sprint #57

    Description

      The following Pojo will fail during compliation as the segments field it is not recognised as a valid repeatable.

      public class ReproducerPojo {
      
         @ProtoField(number = 1, collectionImplementation = SmallIntSet.class)
         IntSet segments;
      
         @ProtoFactory
         ReproducerPojo(IntSet segments) {
            this.segments = segments;
         }
      }
      

      Output:

      [ERROR] @AutoProtoSchemaBuilder processor threw a fatal exception: java.lang.IllegalStateException: Not a repeatable field
        	at org.infinispan.protostream.annotations.impl.processor.types.MirrorClassFactory$MirrorField.determineRepeatedElementType(MirrorClassFactory.java:1199)
        	at org.infinispan.protostream.annotations.impl.ProtoMessageTypeMetadata.discoverFields(ProtoMessageTypeMetadata.java:336)
        	at org.infinispan.protostream.annotations.impl.ProtoMessageTypeMetadata.scanMemberAnnotations(ProtoMessageTypeMetadata.java:178)
        	at org.infinispan.protostream.annotations.impl.BaseProtoSchemaGenerator.generateAndRegister(BaseProtoSchemaGenerator.java:116)
        	at org.infinispan.protostream.annotations.impl.processor.AutoProtoSchemaBuilderAnnotationProcessor.processClass(AutoProtoSchemaBuilderAnnotationProcessor.java:320)
        	at org.infinispan.protostream.annotations.impl.processor.AutoProtoSchemaBuilderAnnotationProcessor.processElement(AutoProtoSchemaBuilderAnnotationProcessor.java:251)
        	at org.infinispan.protostream.annotations.impl.processor.AutoProtoSchemaBuilderAnnotationProcessor.process(AutoProtoSchemaBuilderAnnotationProcessor.java:178)
        	at jdk.compiler/com.sun.tools.javac.processing.JavacProcessingEnvironment.callProcessor(JavacProcessingEnvironment.java:980)
        	at jdk.compiler/com.sun.tools.javac.processing.JavacProcessingEnvironment.discoverAndRunProcs(JavacProcessingEnvironment.java:896)
        	at jdk.compiler/com.sun.tools.javac.processing.JavacProcessingEnvironment$Round.run(JavacProcessingEnvironment.java:1222)
        	at jdk.compiler/com.sun.tools.javac.processing.JavacProcessingEnvironment.doProcessing(JavacProcessingEnvironment.java:1334)
        	at jdk.compiler/com.sun.tools.javac.main.JavaCompiler.processAnnotations(JavaCompiler.java:1258)
        	at jdk.compiler/com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:936)
        	at jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.lambda$doCall$0(JavacTaskImpl.java:104)
        	at jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.handleExceptions(JavacTaskImpl.java:147)
        	at jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.doCall(JavacTaskImpl.java:100)
        	at jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.call(JavacTaskImpl.java:94)
        	at org.codehaus.plexus.compiler.javac.JavaxToolsCompiler.compileInProcess(JavaxToolsCompiler.java:126)
        	at org.codehaus.plexus.compiler.javac.JavacCompiler.performCompile(JavacCompiler.java:174)
        	at org.apache.maven.plugin.compiler.AbstractCompilerMojo.execute(AbstractCompilerMojo.java:1134)
        	at org.apache.maven.plugin.compiler.CompilerMojo.execute(CompilerMojo.java:187)
        	at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:137)
        	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:210)
        	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:156)
        	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:148)
        	at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:117)
        	at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:81)
        	at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:56)
        	at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
        	at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:305)
        	at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:192)
        	at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:105)
        	at org.apache.maven.cli.MavenCli.execute(MavenCli.java:956)
        	at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288)
        	at org.apache.maven.cli.MavenCli.main(MavenCli.java:192)
        	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
        	at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:282)
        	at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:225)
        	at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:406)
        	at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:347)
      
      

      Attachments

        Issue Links

          Activity

            People

              fercoli@redhat.com Fabio Massimo Ercoli
              remerson@redhat.com Ryan Emerson
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: