[
https://issues.apache.org/jira/browse/CASSJAVA-121?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Piotr Kolaczkowski updated CASSJAVA-121:
----------------------------------------
Description:
DefaultPropertyMapper throws the following exception when I try to start
Fallout on Java 17.0.18 (and 17.0.17):
{code:java}
java.lang.NullPointerException: Cannot invoke "Object.equals(Object)" because
"clazz" is null
at
com.datastax.driver.mapping.DefaultPropertyMapper.scanMethodAnnotations(DefaultPropertyMapper.java:556)
at
com.datastax.driver.mapping.DefaultPropertyMapper.scanPropertyAnnotations(DefaultPropertyMapper.java:530)
at
com.datastax.driver.mapping.DefaultPropertyMapper.mapTableOrUdt(DefaultPropertyMapper.java:289)
at
com.datastax.driver.mapping.DefaultPropertyMapper.mapTable(DefaultPropertyMapper.java:246)
at
com.datastax.driver.mapping.AnnotationParser.parseEntity(AnnotationParser.java:118)
at
com.datastax.driver.mapping.MappingManager.getMapper(MappingManager.java:329)
at
com.datastax.driver.mapping.MappingManager.mapper(MappingManager.java:261)
at
com.datastax.driver.mapping.MappingManager.mapper(MappingManager.java:273)
at com.datastax.fallout.service.db.TestRunDAO.start(TestRunDAO.java:484)
at io.dropwizard.lifecycle.JettyManaged.doStart(JettyManaged.java:27)
at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
at
org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
at org.eclipse.jetty.server.Server.start(Server.java:423)
at
org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:117)
at
org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97)
at org.eclipse.jetty.server.Server.doStart(Server.java:387)
at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
at io.dropwizard.cli.ServerCommand.run(ServerCommand.java:53)
at
com.datastax.fallout.service.cli.FalloutServerCommand.run(FalloutServerCommand.java:87)
at
com.datastax.fallout.service.cli.FalloutServerCommand.run(FalloutServerCommand.java:34)
at io.dropwizard.cli.EnvironmentCommand.run(EnvironmentCommand.java:60)
at io.dropwizard.cli.ConfiguredCommand.run(ConfiguredCommand.java:98)
at
com.datastax.fallout.service.cli.FalloutServerCommand.run(FalloutServerCommand.java:72)
at io.dropwizard.cli.Cli.run(Cli.java:78)
at io.dropwizard.Application.run(Application.java:94)
at
com.datastax.fallout.service.FalloutServiceBase.main(FalloutServiceBase.java:178)
at
com.datastax.fallout.service.FalloutDsService.main(FalloutDsService.java:25)
java.lang.NullPointerException: Cannot invoke "Object.equals(Object)" because
"clazz" is null
at
com.datastax.driver.mapping.DefaultPropertyMapper.scanMethodAnnotations(DefaultPropertyMapper.java:556)
at
com.datastax.driver.mapping.DefaultPropertyMapper.scanPropertyAnnotations(DefaultPropertyMapper.java:530)
at
com.datastax.driver.mapping.DefaultPropertyMapper.mapTableOrUdt(DefaultPropertyMapper.java:289)
at
com.datastax.driver.mapping.DefaultPropertyMapper.mapTable(DefaultPropertyMapper.java:246)
at
com.datastax.driver.mapping.AnnotationParser.parseEntity(AnnotationParser.java:118)
at
com.datastax.driver.mapping.MappingManager.getMapper(MappingManager.java:329)
at
com.datastax.driver.mapping.MappingManager.mapper(MappingManager.java:261)
at
com.datastax.driver.mapping.MappingManager.mapper(MappingManager.java:273)
at com.datastax.fallout.service.db.TestRunDAO.start(TestRunDAO.java:484)
at io.dropwizard.lifecycle.JettyManaged.doStart(JettyManaged.java:27)
at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
at
org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
at org.eclipse.jetty.server.Server.start(Server.java:423)
at
org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:117)
at
org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97)
at org.eclipse.jetty.server.Server.doStart(Server.java:387)
at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
at io.dropwizard.cli.ServerCommand.run(ServerCommand.java:53)
at
com.datastax.fallout.service.cli.FalloutServerCommand.run(FalloutServerCommand.java:87)
at
com.datastax.fallout.service.cli.FalloutServerCommand.run(FalloutServerCommand.java:34)
at io.dropwizard.cli.EnvironmentCommand.run(EnvironmentCommand.java:60)
at io.dropwizard.cli.ConfiguredCommand.run(ConfiguredCommand.java:98)
at
com.datastax.fallout.service.cli.FalloutServerCommand.run(FalloutServerCommand.java:72)
at io.dropwizard.cli.Cli.run(Cli.java:78)
at io.dropwizard.Application.run(Application.java:94)
at
com.datastax.fallout.service.FalloutServiceBase.main(FalloutServiceBase.java:178)
at
com.datastax.fallout.service.FalloutDsService.main(FalloutDsService.java:25)
{code}
This has been confirmed by another user who observed the same exception.
Downgrading to openjdk 17.0.9 fixes it.
Java driver version: 3.7.2
Java version:
{code:java}
openjdk version "21.0.10" 2026-01-20
OpenJDK Runtime Environment Homebrew (build 21.0.10)
OpenJDK 64-Bit Server VM Homebrew (build 21.0.10, mixed mode, sharing)
{code}
OS: macOS 15.7.3
was:
DefaultPropertyMapper throws the following exception when I try to start
Fallout on Java 17.0.18 (and 17.0.17):
{code:java}
java.lang.NullPointerException: Cannot invoke "Object.equals(Object)" because
"clazz" is null
at
com.datastax.driver.mapping.DefaultPropertyMapper.scanMethodAnnotations(DefaultPropertyMapper.java:556)
at
com.datastax.driver.mapping.DefaultPropertyMapper.scanPropertyAnnotations(DefaultPropertyMapper.java:530)
at
com.datastax.driver.mapping.DefaultPropertyMapper.mapTableOrUdt(DefaultPropertyMapper.java:289)
at
com.datastax.driver.mapping.DefaultPropertyMapper.mapTable(DefaultPropertyMapper.java:246)
at
com.datastax.driver.mapping.AnnotationParser.parseEntity(AnnotationParser.java:118)
at
com.datastax.driver.mapping.MappingManager.getMapper(MappingManager.java:329)
at
com.datastax.driver.mapping.MappingManager.mapper(MappingManager.java:261)
at
com.datastax.driver.mapping.MappingManager.mapper(MappingManager.java:273)
at com.datastax.fallout.service.db.TestRunDAO.start(TestRunDAO.java:484)
at io.dropwizard.lifecycle.JettyManaged.doStart(JettyManaged.java:27)
at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
at
org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
at org.eclipse.jetty.server.Server.start(Server.java:423)
at
org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:117)
at
org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97)
at org.eclipse.jetty.server.Server.doStart(Server.java:387)
at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
at io.dropwizard.cli.ServerCommand.run(ServerCommand.java:53)
at
com.datastax.fallout.service.cli.FalloutServerCommand.run(FalloutServerCommand.java:87)
at
com.datastax.fallout.service.cli.FalloutServerCommand.run(FalloutServerCommand.java:34)
at io.dropwizard.cli.EnvironmentCommand.run(EnvironmentCommand.java:60)
at io.dropwizard.cli.ConfiguredCommand.run(ConfiguredCommand.java:98)
at
com.datastax.fallout.service.cli.FalloutServerCommand.run(FalloutServerCommand.java:72)
at io.dropwizard.cli.Cli.run(Cli.java:78)
at io.dropwizard.Application.run(Application.java:94)
at
com.datastax.fallout.service.FalloutServiceBase.main(FalloutServiceBase.java:178)
at
com.datastax.fallout.service.FalloutDsService.main(FalloutDsService.java:25)
java.lang.NullPointerException: Cannot invoke "Object.equals(Object)" because
"clazz" is null
at
com.datastax.driver.mapping.DefaultPropertyMapper.scanMethodAnnotations(DefaultPropertyMapper.java:556)
at
com.datastax.driver.mapping.DefaultPropertyMapper.scanPropertyAnnotations(DefaultPropertyMapper.java:530)
at
com.datastax.driver.mapping.DefaultPropertyMapper.mapTableOrUdt(DefaultPropertyMapper.java:289)
at
com.datastax.driver.mapping.DefaultPropertyMapper.mapTable(DefaultPropertyMapper.java:246)
at
com.datastax.driver.mapping.AnnotationParser.parseEntity(AnnotationParser.java:118)
at
com.datastax.driver.mapping.MappingManager.getMapper(MappingManager.java:329)
at
com.datastax.driver.mapping.MappingManager.mapper(MappingManager.java:261)
at
com.datastax.driver.mapping.MappingManager.mapper(MappingManager.java:273)
at com.datastax.fallout.service.db.TestRunDAO.start(TestRunDAO.java:484)
at io.dropwizard.lifecycle.JettyManaged.doStart(JettyManaged.java:27)
at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
at
org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
at org.eclipse.jetty.server.Server.start(Server.java:423)
at
org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:117)
at
org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97)
at org.eclipse.jetty.server.Server.doStart(Server.java:387)
at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
at io.dropwizard.cli.ServerCommand.run(ServerCommand.java:53)
at
com.datastax.fallout.service.cli.FalloutServerCommand.run(FalloutServerCommand.java:87)
at
com.datastax.fallout.service.cli.FalloutServerCommand.run(FalloutServerCommand.java:34)
at io.dropwizard.cli.EnvironmentCommand.run(EnvironmentCommand.java:60)
at io.dropwizard.cli.ConfiguredCommand.run(ConfiguredCommand.java:98)
at
com.datastax.fallout.service.cli.FalloutServerCommand.run(FalloutServerCommand.java:72)
at io.dropwizard.cli.Cli.run(Cli.java:78)
at io.dropwizard.Application.run(Application.java:94)
at
com.datastax.fallout.service.FalloutServiceBase.main(FalloutServiceBase.java:178)
at
com.datastax.fallout.service.FalloutDsService.main(FalloutDsService.java:25)
{code}
This has been confirmed by another user who observed the same exception.
Downgrading to openjdk 17.0.9 fixes it.
Looks like on newer Java somehow the method.getDeclaringClass() call returns
null and then there is no null-check in the loop that checks annotations in
implemented interfaces.
Java driver version: 3.7.2
Java version:
{code:java}
openjdk version "21.0.10" 2026-01-20
OpenJDK Runtime Environment Homebrew (build 21.0.10)
OpenJDK 64-Bit Server VM Homebrew (build 21.0.10, mixed mode, sharing)
{code}
OS: macOS 15.7.3
> NPE in DefaultPropertyMapper
> -----------------------------
>
> Key: CASSJAVA-121
> URL: https://issues.apache.org/jira/browse/CASSJAVA-121
> Project: Apache Cassandra Java driver
> Issue Type: Bug
> Components: Core
> Reporter: Piotr Kolaczkowski
> Priority: Normal
>
> DefaultPropertyMapper throws the following exception when I try to start
> Fallout on Java 17.0.18 (and 17.0.17):
> {code:java}
> java.lang.NullPointerException: Cannot invoke "Object.equals(Object)" because
> "clazz" is null
> at
> com.datastax.driver.mapping.DefaultPropertyMapper.scanMethodAnnotations(DefaultPropertyMapper.java:556)
> at
> com.datastax.driver.mapping.DefaultPropertyMapper.scanPropertyAnnotations(DefaultPropertyMapper.java:530)
> at
> com.datastax.driver.mapping.DefaultPropertyMapper.mapTableOrUdt(DefaultPropertyMapper.java:289)
> at
> com.datastax.driver.mapping.DefaultPropertyMapper.mapTable(DefaultPropertyMapper.java:246)
> at
> com.datastax.driver.mapping.AnnotationParser.parseEntity(AnnotationParser.java:118)
> at
> com.datastax.driver.mapping.MappingManager.getMapper(MappingManager.java:329)
> at
> com.datastax.driver.mapping.MappingManager.mapper(MappingManager.java:261)
> at
> com.datastax.driver.mapping.MappingManager.mapper(MappingManager.java:273)
> at
> com.datastax.fallout.service.db.TestRunDAO.start(TestRunDAO.java:484)
> at io.dropwizard.lifecycle.JettyManaged.doStart(JettyManaged.java:27)
> at
> org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
> at
> org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
> at org.eclipse.jetty.server.Server.start(Server.java:423)
> at
> org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:117)
> at
> org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97)
> at org.eclipse.jetty.server.Server.doStart(Server.java:387)
> at
> org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
> at io.dropwizard.cli.ServerCommand.run(ServerCommand.java:53)
> at
> com.datastax.fallout.service.cli.FalloutServerCommand.run(FalloutServerCommand.java:87)
> at
> com.datastax.fallout.service.cli.FalloutServerCommand.run(FalloutServerCommand.java:34)
> at
> io.dropwizard.cli.EnvironmentCommand.run(EnvironmentCommand.java:60)
> at io.dropwizard.cli.ConfiguredCommand.run(ConfiguredCommand.java:98)
> at
> com.datastax.fallout.service.cli.FalloutServerCommand.run(FalloutServerCommand.java:72)
> at io.dropwizard.cli.Cli.run(Cli.java:78)
> at io.dropwizard.Application.run(Application.java:94)
> at
> com.datastax.fallout.service.FalloutServiceBase.main(FalloutServiceBase.java:178)
> at
> com.datastax.fallout.service.FalloutDsService.main(FalloutDsService.java:25)
> java.lang.NullPointerException: Cannot invoke "Object.equals(Object)" because
> "clazz" is null
> at
> com.datastax.driver.mapping.DefaultPropertyMapper.scanMethodAnnotations(DefaultPropertyMapper.java:556)
> at
> com.datastax.driver.mapping.DefaultPropertyMapper.scanPropertyAnnotations(DefaultPropertyMapper.java:530)
> at
> com.datastax.driver.mapping.DefaultPropertyMapper.mapTableOrUdt(DefaultPropertyMapper.java:289)
> at
> com.datastax.driver.mapping.DefaultPropertyMapper.mapTable(DefaultPropertyMapper.java:246)
> at
> com.datastax.driver.mapping.AnnotationParser.parseEntity(AnnotationParser.java:118)
> at
> com.datastax.driver.mapping.MappingManager.getMapper(MappingManager.java:329)
> at
> com.datastax.driver.mapping.MappingManager.mapper(MappingManager.java:261)
> at
> com.datastax.driver.mapping.MappingManager.mapper(MappingManager.java:273)
> at
> com.datastax.fallout.service.db.TestRunDAO.start(TestRunDAO.java:484)
> at io.dropwizard.lifecycle.JettyManaged.doStart(JettyManaged.java:27)
> at
> org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
> at
> org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
> at org.eclipse.jetty.server.Server.start(Server.java:423)
> at
> org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:117)
> at
> org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97)
> at org.eclipse.jetty.server.Server.doStart(Server.java:387)
> at
> org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
> at io.dropwizard.cli.ServerCommand.run(ServerCommand.java:53)
> at
> com.datastax.fallout.service.cli.FalloutServerCommand.run(FalloutServerCommand.java:87)
> at
> com.datastax.fallout.service.cli.FalloutServerCommand.run(FalloutServerCommand.java:34)
> at
> io.dropwizard.cli.EnvironmentCommand.run(EnvironmentCommand.java:60)
> at io.dropwizard.cli.ConfiguredCommand.run(ConfiguredCommand.java:98)
> at
> com.datastax.fallout.service.cli.FalloutServerCommand.run(FalloutServerCommand.java:72)
> at io.dropwizard.cli.Cli.run(Cli.java:78)
> at io.dropwizard.Application.run(Application.java:94)
> at
> com.datastax.fallout.service.FalloutServiceBase.main(FalloutServiceBase.java:178)
> at
> com.datastax.fallout.service.FalloutDsService.main(FalloutDsService.java:25)
>
> {code}
> This has been confirmed by another user who observed the same exception.
> Downgrading to openjdk 17.0.9 fixes it.
> Java driver version: 3.7.2
> Java version:
>
> {code:java}
> openjdk version "21.0.10" 2026-01-20
> OpenJDK Runtime Environment Homebrew (build 21.0.10)
> OpenJDK 64-Bit Server VM Homebrew (build 21.0.10, mixed mode, sharing)
> {code}
> OS: macOS 15.7.3
>
>
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]