Title: regression in 20.0 on LambdaFetchingSupport , Kotlin data class, Spring boot · Issue #3121 · graphql-java/graphql-java · GitHub
Open Graph Title: regression in 20.0 on LambdaFetchingSupport , Kotlin data class, Spring boot · Issue #3121 · graphql-java/graphql-java
X Title: regression in 20.0 on LambdaFetchingSupport , Kotlin data class, Spring boot · Issue #3121 · graphql-java/graphql-java
Description: I am trying to upgrade the library from 18.0 to 20.0 today and found below regression. Describe the bug The LadmbdaFetchingSupport has a regression that causeS this error: java.lang.ClassCastException: part.to.namespace.Xxx incompatible ...
Open Graph Description: I am trying to upgrade the library from 18.0 to 20.0 today and found below regression. Describe the bug The LadmbdaFetchingSupport has a regression that causeS this error: java.lang.ClassCastExcept...
X Description: I am trying to upgrade the library from 18.0 to 20.0 today and found below regression. Describe the bug The LadmbdaFetchingSupport has a regression that causeS this error: java.lang.ClassCastExcept...
Opengraph URL: https://github.com/graphql-java/graphql-java/issues/3121
X: @github
Domain: github.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"regression in 20.0 on LambdaFetchingSupport , Kotlin data class, Spring boot","articleBody":"I am trying to upgrade the library from 18.0 to 20.0 today and found below regression.\r\n\r\n**Describe the bug**\r\nThe LadmbdaFetchingSupport has a regression that causeS this error:\r\n```\r\njava.lang.ClassCastException: part.to.namespace.Xxx incompatible with part.to.namespace.Xxx\r\n\tat graphql.schema.PropertyFetchingImpl.getPropertyValue(PropertyFetchingImpl.java:76) ~[graphql-java-20.0.jar:na]\r\n\tat graphql.schema.PropertyDataFetcherHelper.getPropertyValue(PropertyDataFetcherHelper.java:22) ~[graphql-java-20.0.jar:na]\r\n\tat graphql.schema.PropertyDataFetcher.getImpl(PropertyDataFetcher.java:131) ~[graphql-java-20.0.jar:na]\r\n```\r\n\r\n**To Reproduce**\r\nEnvironment: Java 17, Kotlin 1.8.0,\r\nlast known good library version: 19.3\r\n\r\n```java\r\n// This works\r\nobject.getClass().getDeclaredMethods()[0].invoke(object)\r\n// This doesn't work\r\nLambdaFetchingSupport.createGetter(object.getClass(), \"id\").get().apply(object)\r\n```\r\n\r\nI wasn't able to re-produce the error with the exact same class in Junit environement. \r\nTwo different things maybe related when I check the `object.getClass()`\r\n\r\nIn Junit, the class loader is ClassLoaders$AppClassLoader\r\nIn application , it is RestartClassLoader from Spring.\r\n\r\n```\r\n// This work\r\nProtectionDomain (file:/C:/dev/asterisk/app/build/classes/kotlin/main/ \u003cno signer certificates\u003e)\r\n jdk.internal.loader.ClassLoaders$AppClassLoader@2089d901\r\n \u003cno principals\u003e\r\n java.security.Permissions@fe1776a3 (\r\n (\"java.io.FilePermission\" \"C:\\dev\\asterisk\\app\\build\\classes\\kotlin\\main\\-\" \"read\")\r\n (\"java.lang.RuntimePermission\" \"exitVM\")\r\n)\r\n// This doesn't work\r\nProtectionDomain (file:/C:/dev/asterisk/app/build/classes/kotlin/main/ \u003cno signer certificates\u003e)\r\n org.springframework.boot.devtools.restart.classloader.RestartClassLoader@d8afcbba\r\n \u003cno principals\u003e\r\n java.security.Permissions@f41df67b (\r\n (\"java.net.SocketPermission\" \"localhost:0\" \"listen,resolve\")\r\n (\"java.lang.RuntimePermission\" \"accessClassInPackage.com.sun.beans.*\")\r\n (\"java.lang.RuntimePermission\" \"accessClassInPackage.com.apple.*\")\r\n (\"java.lang.RuntimePermission\" \"accessClassInPackage.com.sun.java.swing.plaf.*\")\r\n (\"java.lang.RuntimePermission\" \"accessClassInPackage.com.sun.beans\")\r\n (\"java.util.PropertyPermission\" \"java.specification.version\" \"read\")\r\n (\"java.util.PropertyPermission\" \"java.vm.vendor\" \"read\")\r\n (\"java.util.PropertyPermission\" \"path.separator\" \"read\")\r\n (\"java.util.PropertyPermission\" \"os.version\" \"read\")\r\n (\"java.util.PropertyPermission\" \"java.vendor.url\" \"read\")\r\n (\"java.util.PropertyPermission\" \"java.vm.name\" \"read\")\r\n (\"java.util.PropertyPermission\" \"java.vm.specification.version\" \"read\")\r\n (\"java.util.PropertyPermission\" \"os.name\" \"read\")\r\n (\"java.util.PropertyPermission\" \"java.version\" \"read\")\r\n (\"java.util.PropertyPermission\" \"os.arch\" \"read\")\r\n (\"java.util.PropertyPermission\" \"java.specification.vendor\" \"read\")\r\n (\"java.util.PropertyPermission\" \"java.vm.specification.name\" \"read\")\r\n (\"java.util.PropertyPermission\" \"file.separator\" \"read\")\r\n (\"java.util.PropertyPermission\" \"line.separator\" \"read\")\r\n (\"java.util.PropertyPermission\" \"java.vm.specification.vendor\" \"read\")\r\n (\"java.util.PropertyPermission\" \"java.specification.name\" \"read\")\r\n (\"java.util.PropertyPermission\" \"java.vendor\" \"read\")\r\n (\"java.util.PropertyPermission\" \"java.vm.version\" \"read\")\r\n (\"java.util.PropertyPermission\" \"java.class.version\" \"read\")\r\n (\"java.io.FilePermission\" \"C:\\dev\\asterisk\\app\\build\\classes\\kotlin\\main\\-\" \"read\")\r\n (\"java.io.FilePermission\" \"C:\\dev\\asterisk\\app\\build\\classes\\kotlin\\main\\-#plus\" \"read\")\r\n)\r\n```\r\n\r\n","author":{"url":"https://github.com/ntf","@type":"Person","name":"ntf"},"datePublished":"2023-03-16T17:55:21.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":3},"url":"https://github.com/3121/graphql-java/issues/3121"}
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:47699d1b-222b-b785-ae41-e267f05904fd |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | E718:B26D:25C53:34345:6A626084 |
| html-safe-nonce | ecaf1488c7961126163630ff1b4da3a1cd39149c126a77dc043148277a98c89b |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJFNzE4OkIyNkQ6MjVDNTM6MzQzNDU6NkE2MjYwODQiLCJ2aXNpdG9yX2lkIjoiNjA2NTEwMTI3Mzg0NjQwNzMwMCIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9 |
| visitor-hmac | 8bf82ecb5d1e30d3eef2072b586d4e37833b8dec47bde710472f9800ae55713c |
| hovercard-subject-tag | issue:1627999814 |
| github-keyboard-shortcuts | repository,issues,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/graphql-java/graphql-java/3121/issue_layout |
| twitter:image | https://opengraph.githubassets.com/5f3c0ee4ae1f1883c39d8d4e1b2262f1203200fcc566e1f897917b5128d12714/graphql-java/graphql-java/issues/3121 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/5f3c0ee4ae1f1883c39d8d4e1b2262f1203200fcc566e1f897917b5128d12714/graphql-java/graphql-java/issues/3121 |
| og:image:alt | I am trying to upgrade the library from 18.0 to 20.0 today and found below regression. Describe the bug The LadmbdaFetchingSupport has a regression that causeS this error: java.lang.ClassCastExcept... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | ntf |
| hostname | github.com |
| expected-hostname | github.com |
| None | 6d5cd56dfa7e7ed6718ba879da3c0d884bd8b5fecd3883b5f00dcb66b8b8680f |
| turbo-cache-control | no-preview |
| go-import | github.com/graphql-java/graphql-java git https://github.com/graphql-java/graphql-java.git |
| octolytics-dimension-user_id | 14289921 |
| octolytics-dimension-user_login | graphql-java |
| octolytics-dimension-repository_id | 38602457 |
| octolytics-dimension-repository_nwo | graphql-java/graphql-java |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 38602457 |
| octolytics-dimension-repository_network_root_nwo | graphql-java/graphql-java |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | d28abcf30a4025dfeef7673e1509edbc5d402c97 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width