azure-sdk-for-java: [BUG] Defining a POJO with BigDecimal fields causes runtime error when trying to persist in CosmosDB

Describe the bug Defining a POJO with BigDecimal fields causes runtime error when trying to persist in CosmosDB

Exception or Stack Trace Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make field private final java.math.BigInteger java.math.BigDecimal.intVal accessible: module java.base does not “opens java.math” to unnamed module @48c76607 at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:354) ~[na:na] at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297) ~[na:na] at java.base/java.lang.reflect.Field.checkCanSetAccessible(Field.java:178) ~[na:na] at java.base/java.lang.reflect.Field.setAccessible(Field.java:172) ~[na:na] at org.springframework.util.ReflectionUtils.makeAccessible(ReflectionUtils.java:791) ~[spring-core-5.3.18.jar:5.3.18] at org.springframework.data.mapping.context.AbstractMappingContext$PersistentPropertyCreator.doWith(AbstractMappingContext.java:550) ~[spring-data-commons-2.6.3.jar:2.6.3] at org.springframework.util.ReflectionUtils.doWithFields(ReflectionUtils.java:714) ~[spring-core-5.3.18.jar:5.3.18] at org.springframework.data.mapping.context.AbstractMappingContext.doAddPersistentEntity(AbstractMappingContext.java:424) ~[spring-data-commons-2.6.3.jar:2.6.3] at org.springframework.data.mapping.context.AbstractMappingContext.addPersistentEntity(AbstractMappingContext.java:381) ~[spring-data-commons-2.6.3.jar:2.6.3] at org.springframework.data.mapping.context.AbstractMappingContext$PersistentPropertyCreator.lambda$createAndRegisterProperty$3(AbstractMappingContext.java:605) ~[spring-data-commons-2.6.3.jar:2.6.3] at java.base/java.lang.Iterable.forEach(Iterable.java:75) ~[na:na] at org.springframework.data.mapping.context.AbstractMappingContext$PersistentPropertyCreator.createAndRegisterProperty(AbstractMappingContext.java:602) ~[spring-data-commons-2.6.3.jar:2.6.3] at org.springframework.data.mapping.context.AbstractMappingContext$PersistentPropertyCreator.doWith(AbstractMappingContext.java:556) ~[spring-data-commons-2.6.3.jar:2.6.3] at org.springframework.util.ReflectionUtils.doWithFields(ReflectionUtils.java:714) ~[spring-core-5.3.18.jar:5.3.18] at org.springframework.data.mapping.context.AbstractMappingContext.doAddPersistentEntity(AbstractMappingContext.java:424) ~[spring-data-commons-2.6.3.jar:2.6.3] at org.springframework.data.mapping.context.AbstractMappingContext.addPersistentEntity(AbstractMappingContext.java:381) ~[spring-data-commons-2.6.3.jar:2.6.3] at org.springframework.data.mapping.context.AbstractMappingContext$PersistentPropertyCreator.lambda$createAndRegisterProperty$3(AbstractMappingContext.java:605) ~[spring-data-commons-2.6.3.jar:2.6.3] at java.base/java.lang.Iterable.forEach(Iterable.java:75) ~[na:na] at org.springframework.data.mapping.context.AbstractMappingContext$PersistentPropertyCreator.createAndRegisterProperty(AbstractMappingContext.java:602) ~[spring-data-commons-2.6.3.jar:2.6.3] at org.springframework.data.mapping.context.AbstractMappingContext$PersistentPropertyCreator.doWith(AbstractMappingContext.java:556) ~[spring-data-commons-2.6.3.jar:2.6.3] at org.springframework.util.ReflectionUtils.doWithFields(ReflectionUtils.java:714) ~[spring-core-5.3.18.jar:5.3.18] at org.springframework.data.mapping.context.AbstractMappingContext.doAddPersistentEntity(AbstractMappingContext.java:424) ~[spring-data-commons-2.6.3.jar:2.6.3] at org.springframework.data.mapping.context.AbstractMappingContext.addPersistentEntity(AbstractMappingContext.java:381) ~[spring-data-commons-2.6.3.jar:2.6.3] at org.springframework.data.mapping.context.AbstractMappingContext$PersistentPropertyCreator.lambda$createAndRegisterProperty$3(AbstractMappingContext.java:605) ~[spring-data-commons-2.6.3.jar:2.6.3] at java.base/java.lang.Iterable.forEach(Iterable.java:75) ~[na:na] at org.springframework.data.mapping.context.AbstractMappingContext$PersistentPropertyCreator.createAndRegisterProperty(AbstractMappingContext.java:602) ~[spring-data-commons-2.6.3.jar:2.6.3] at org.springframework.data.mapping.context.AbstractMappingContext$PersistentPropertyCreator.doWith(AbstractMappingContext.java:556) ~[spring-data-commons-2.6.3.jar:2.6.3] at org.springframework.util.ReflectionUtils.doWithFields(ReflectionUtils.java:714) ~[spring-core-5.3.18.jar:5.3.18] at org.springframework.data.mapping.context.AbstractMappingContext.doAddPersistentEntity(AbstractMappingContext.java:424) ~[spring-data-commons-2.6.3.jar:2.6.3] at org.springframework.data.mapping.context.AbstractMappingContext.addPersistentEntity(AbstractMappingContext.java:381) ~[spring-data-commons-2.6.3.jar:2.6.3] at

To Reproduce Define a persistence POJO with BigDecimal fields and save to CosmosDB

Code Snippet public class JpaEntity { private BigDecimal field1; }

Expected behavior Field is accepted and saved into Cosmos

Screenshots If applicable, add screenshots to help explain your problem.

Setup (please complete the following information):

  • OS: MacOS
  • IDE: STS
  • Library/Libraries: com.azure:azure-spring-data-cosmos:3.19.0, 3.19.1
  • Java version: Java version 11
  • App Server/Environment: Tomcat (embedded with SpringBoot)
  • Frameworks: SpringBoot (version 2.6.6)

If you suspect a dependency version mismatch (e.g. you see NoClassDefFoundError, NoSuchMethodError or similar), please check out Troubleshoot dependency version conflict article first. If it doesn’t provide solution for the problem, please provide:

  • verbose dependency tree (mvn dependency:tree -Dverbose)
  • exception message, full stack trace, and any available logs

Additional context Add any other context about the problem here.

Information Checklist Kindly make sure that you have added all the following information above and checkoff the required fields otherwise we will treat the issuer as an incomplete report

  • Bug Description Added
  • Repro Steps Added
  • Setup information Added

About this issue

  • Original URL
  • State: closed
  • Created 2 years ago
  • Comments: 15 (5 by maintainers)

Most upvoted comments

@aayush3011 When will JDK17 be supported? I’m also facing this issue since upgrading to Java 17…