jqassistant-archive / jqa-maven-plugin

jQAssistant Plugin for Apache Maven
http://jqassistant.org/
GNU General Public License v3.0
15 stars 7 forks source link

Property value bytes length: 10225 is longer than 4095, which is maximum supported length of indexed property value #18

Closed yrodiere closed 6 years ago

yrodiere commented 6 years ago

JQAssistant version: 1.4.0.

Full stack trace:

java.lang.IllegalArgumentException: Property value bytes length: 10225 is longer than 4095, which is maximum supported length of indexed property value.
    at org.neo4j.kernel.impl.api.IndexTextValueLengthValidator.validate(IndexTextValueLengthValidator.java:67)
    at org.neo4j.kernel.impl.api.IndexTextValueLengthValidator.validate(IndexTextValueLengthValidator.java:53)
    at org.neo4j.kernel.impl.api.IndexTextValueLengthValidator.validate(IndexTextValueLengthValidator.java:30)
    at org.neo4j.kernel.impl.index.schema.StringSchemaIndexAccessor.validateBeforeCommit(StringSchemaIndexAccessor.java:70)
    at org.neo4j.kernel.impl.index.schema.fusion.FusionIndexAccessor.validateBeforeCommit(FusionIndexAccessor.java:174)
    at org.neo4j.kernel.impl.api.index.OnlineIndexProxy.validateBeforeCommit(OnlineIndexProxy.java:206)
    at org.neo4j.kernel.impl.api.index.FlippableIndexProxy.validateBeforeCommit(FlippableIndexProxy.java:364)
    at org.neo4j.kernel.impl.api.index.AbstractDelegatingIndexProxy.validateBeforeCommit(AbstractDelegatingIndexProxy.java:140)
    at org.neo4j.kernel.impl.api.index.IndexMapReference.validateBeforeCommit(IndexMapReference.java:120)
    at org.neo4j.kernel.impl.api.index.IndexingService.validateBeforeCommit(IndexingService.java:404)
    at org.neo4j.kernel.impl.newapi.IndexTxStateUpdater.lambda$onPropertyAdd$0(IndexTxStateUpdater.java:126)
    at org.neo4j.kernel.impl.newapi.NodeSchemaMatcher.onMatchingSchema(NodeSchemaMatcher.java:88)
    at org.neo4j.kernel.impl.newapi.IndexTxStateUpdater.onPropertyAdd(IndexTxStateUpdater.java:122)
    at org.neo4j.kernel.impl.newapi.Operations.nodeSetProperty(Operations.java:499)
    at org.neo4j.kernel.impl.core.NodeProxy.setProperty(NodeProxy.java:244)
    at com.buschmais.xo.neo4j.embedded.impl.model.AbstractEmbeddedPropertyContainer.setProperty(AbstractEmbeddedPropertyContainer.java:40)
    at com.buschmais.xo.neo4j.embedded.impl.datastore.AbstractNeo4jPropertyManager.setProperty(AbstractNeo4jPropertyManager.java:17)
    at com.buschmais.xo.neo4j.embedded.impl.datastore.AbstractNeo4jPropertyManager.setProperty(AbstractNeo4jPropertyManager.java:13)
    at com.buschmais.xo.impl.AbstractPropertyManager.setProperty(AbstractPropertyManager.java:16)
    at com.buschmais.xo.impl.proxy.common.property.AbstractPrimitivePropertySetMethod.invoke(AbstractPrimitivePropertySetMethod.java:20)
    at com.buschmais.xo.impl.proxy.AbstractProxyMethodService.invoke(AbstractProxyMethodService.java:26)
    at com.buschmais.xo.impl.proxy.InstanceInvocationHandler.invoke(InstanceInvocationHandler.java:23)
    at com.sun.proxy.$Proxy176.setValue(Unknown Source)
    at com.buschmais.jqassistant.plugin.java.impl.scanner.ManifestFileScannerPlugin.readSection(ManifestFileScannerPlugin.java:66)
    at com.buschmais.jqassistant.plugin.java.impl.scanner.ManifestFileScannerPlugin.scan(ManifestFileScannerPlugin.java:49)
    at com.buschmais.jqassistant.plugin.java.impl.scanner.ManifestFileScannerPlugin.scan(ManifestFileScannerPlugin.java:28)
    at com.buschmais.jqassistant.core.scanner.impl.ScannerImpl.scan(ScannerImpl.java:82)
    at com.buschmais.jqassistant.core.scanner.impl.ScannerImpl.scan(ScannerImpl.java:59)
    at com.buschmais.jqassistant.plugin.common.api.scanner.AbstractContainerScannerPlugin.scan(AbstractContainerScannerPlugin.java:50)
    at com.buschmais.jqassistant.plugin.common.api.scanner.AbstractContainerScannerPlugin.scan(AbstractContainerScannerPlugin.java:29)
    at com.buschmais.jqassistant.core.scanner.impl.ScannerImpl.scan(ScannerImpl.java:82)
    at com.buschmais.jqassistant.core.scanner.impl.ScannerImpl.scan(ScannerImpl.java:59)
    at com.buschmais.jqassistant.plugin.maven3.impl.scanner.MavenProjectScannerPlugin.scanPath(MavenProjectScannerPlugin.java:332)
    at com.buschmais.jqassistant.plugin.maven3.impl.scanner.MavenProjectScannerPlugin.scanPath(MavenProjectScannerPlugin.java:303)
    at com.buschmais.jqassistant.plugin.maven3.impl.scanner.MavenProjectScannerPlugin.scanClassesDirectory(MavenProjectScannerPlugin.java:281)
    at com.buschmais.jqassistant.plugin.maven3.impl.scanner.MavenProjectScannerPlugin.scan(MavenProjectScannerPlugin.java:90)
    at com.buschmais.jqassistant.plugin.maven3.impl.scanner.MavenProjectScannerPlugin.scan(MavenProjectScannerPlugin.java:43)
    at com.buschmais.jqassistant.core.scanner.impl.ScannerImpl.scan(ScannerImpl.java:82)
    at com.buschmais.jqassistant.core.scanner.impl.ScannerImpl.scan(ScannerImpl.java:59)
    at com.buschmais.jqassistant.scm.maven.ScanMojo.execute(ScanMojo.java:96)
    at com.buschmais.jqassistant.scm.maven.AbstractModuleMojo$1.run(AbstractModuleMojo.java:21)
    at com.buschmais.jqassistant.scm.maven.AbstractMojo.execute(AbstractMojo.java:340)
    at com.buschmais.jqassistant.scm.maven.AbstractModuleMojo.execute(AbstractModuleMojo.java:24)
    at com.buschmais.jqassistant.scm.maven.AbstractMojo.execute(AbstractMojo.java:212)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:137)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:154)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:146)
    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:290)
    at org.apache.maven.cli.MavenCli.main(MavenCli.java:194)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)

Arguments to the failing method:

key = "value"
value = "org.hibernate.search.analyzer;version="5.11.0.SNAPSHOT",org.hibernate.search.annotations;version="5.11.0.SNAPSHOT";uses:="org.apache.lucene.analysis.util,org.hibernate.search.analyzer,org.hibernate.search.bridge.builtin,org.hibernate.search.engine,org.hibernate.search.indexes.interceptor",org.hibernate.search.backend;version="5.11.0.SNAPSHOT";uses:="javax.transaction,org.apache.lucene.document,org.hibernate.search.backend.spi,org.hibernate.search.indexes.spi,org.hibernate.search.spi",org.hibernate.search.backend.spi;version="5.11.0.SNAPSHOT";uses:="org.apache.lucene.index,org.apache.lucene.search,org.hibernate.search.backend,org.hibernate.search.engine.spi,org.hibernate.search.indexes.spi,org.hibernate.search.spi",org.hibernate.search.backend.impl.batch;version="5.11.0.SNAPSHOT";uses:="org.hibernate.search.backend,org.hibernate.search.backend.spi,org.hibernate.search.batchindexing,org.hibernate.search.engine.integration.impl,org.hibernate.search.spi",org.hibernate.search.batchindexing;"

Steps to reproduce:

mkdir jqatest
cd jqatest
git clone https://github.com/yrodiere/hibernate-search.git --single-branch --no-tags -b jqa-i17-i18 .
mvn clean install -DskipTests -Pjqassistant -e -X

Note: the issue will not be immediately visible, because of #17 However, you can launch maven in debug mode (use the mvnDebug command instead of mvn) and put a breakpoint in org.neo4j.kernel.impl.api.KernelTransactionImplementation#failure to see the error occur before it is lost due to another exception.

yrodiere commented 6 years ago

I just tried to use version 1.5.0-SNAPSHOT after applying my patch for #17, and the issue seems to be gone... I suppose it was already solved in 1.5.0.

DirkMahler commented 6 years ago

We released 1.5.0-RC1 containing the bugfix.

yrodiere commented 6 years ago

The bug is indeed fixed when I use the latest version. Thanks!

DirkMahler commented 6 years ago

Thanks for the feedback!