[ 
https://issues.apache.org/jira/browse/KAFKA-19664?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18023838#comment-18023838
 ] 

Dejan Stojadinović commented on KAFKA-19664:
--------------------------------------------

Update: *Mockito* version needs to be upgraded to resolve build issues (see the 
output of *_./gradlew test_* below).

*Related links:*
 * https://issues.apache.org/jira/browse/SOLR-17718
 * [https://github.com/mockito/mockito/releases/tag/v5.20.0]

{code:java}
GroupCoordinatorShardTest > testReplayStreamsGroupTargetAssignmentMember() 
FAILED
    org.mockito.exceptions.base.MockitoException: 
    Mockito cannot mock this class: class 
org.apache.kafka.coordinator.group.GroupMetadataManager.

    If you're not sure why you're getting this error, please open an issue on 
GitHub.


    Java               : 25
    JVM vendor name    : Eclipse Adoptium
    JVM vendor version : 25+36-LTS
    JVM name           : OpenJDK 64-Bit Server VM
    JVM version        : 25+36-LTS
    JVM info           : mixed mode, sharing
    OS name            : Linux
    OS version         : 6.8.0-84-generic


    You are seeing this disclaimer because Mockito is configured to create 
inlined mocks.
    You can learn about inline mocks and their limitations under item #39 of 
the Mockito class javadoc.

    Underlying exception : org.mockito.exceptions.base.MockitoException: Could 
not modify all classes [class java.lang.Object, class 
org.apache.kafka.coordinator.group.GroupMetadataManager]
        at 
app//org.apache.kafka.coordinator.group.GroupCoordinatorShardTest.testReplayStreamsGroupTargetAssignmentMember(GroupCoordinatorShardTest.java:1117)

        Caused by:
        org.mockito.exceptions.base.MockitoException: Could not modify all 
classes [class java.lang.Object, class 
org.apache.kafka.coordinator.group.GroupMetadataManager]
            at app//net.bytebuddy.TypeCache.findOrInsert(TypeCache.java:168)
            at 
app//net.bytebuddy.TypeCache$WithInlineExpunction.findOrInsert(TypeCache.java:399)
            at app//net.bytebuddy.TypeCache.findOrInsert(TypeCache.java:190)
            at 
app//net.bytebuddy.TypeCache$WithInlineExpunction.findOrInsert(TypeCache.java:410)
            ... 1 more

            Caused by:
            java.lang.IllegalStateException: 
            Byte Buddy could not instrument all classes within the mock's type 
hierarchy

            This problem should never occur for javac-compiled classes. This 
problem has been observed for classes that are:
             - Compiled by older versions of scalac
             - Classes that are part of the Android distribution
                at 
org.mockito.internal.creation.bytebuddy.InlineBytecodeGenerator.triggerRetransformation(InlineBytecodeGenerator.java:285)
                at 
org.mockito.internal.creation.bytebuddy.InlineBytecodeGenerator.mockClass(InlineBytecodeGenerator.java:218)
                at 
org.mockito.internal.creation.bytebuddy.TypeCachingBytecodeGenerator.lambda$mockClass$0(TypeCachingBytecodeGenerator.java:78)
                at net.bytebuddy.TypeCache.findOrInsert(TypeCache.java:168)
                at 
net.bytebuddy.TypeCache$WithInlineExpunction.findOrInsert(TypeCache.java:399)
                at net.bytebuddy.TypeCache.findOrInsert(TypeCache.java:190)
                at 
net.bytebuddy.TypeCache$WithInlineExpunction.findOrInsert(TypeCache.java:410)
                at 
org.mockito.internal.creation.bytebuddy.TypeCachingBytecodeGenerator.mockClass(TypeCachingBytecodeGenerator.java:75)
                at 
org.mockito.internal.creation.bytebuddy.InlineDelegateByteBuddyMockMaker.createMockType(InlineDelegateByteBuddyMockMaker.java:408)
                at 
org.mockito.internal.creation.bytebuddy.InlineDelegateByteBuddyMockMaker.doCreateMock(InlineDelegateByteBuddyMockMaker.java:367)
                at 
org.mockito.internal.creation.bytebuddy.InlineDelegateByteBuddyMockMaker.createMock(InlineDelegateByteBuddyMockMaker.java:346)
                at 
org.mockito.internal.creation.bytebuddy.InlineByteBuddyMockMaker.createMock(InlineByteBuddyMockMaker.java:56)
                at 
org.mockito.internal.util.MockUtil.createMock(MockUtil.java:99)
                at org.mockito.internal.MockitoCore.mock(MockitoCore.java:84)
                at org.mockito.Mockito.mock(Mockito.java:2162)
                at org.mockito.Mockito.mock(Mockito.java:2077)
                ... 1 more

                Caused by:
                java.lang.IllegalArgumentException: Java 25 (69) is not 
supported by the current version of Byte Buddy which officially supports Java 
24 (68) - update Byte Buddy or set net.bytebuddy.experimental as a VM property
                    at 
net.bytebuddy.utility.OpenedClassReader.of(OpenedClassReader.java:120)
                    at 
net.bytebuddy.utility.OpenedClassReader.of(OpenedClassReader.java:95)
                    at 
net.bytebuddy.utility.AsmClassReader$Factory$Default.make(AsmClassReader.java:82)
                    at 
net.bytebuddy.dynamic.scaffold.TypeWriter$Default$ForInlining.create(TypeWriter.java:4036)
                    at 
net.bytebuddy.dynamic.scaffold.TypeWriter$Default.make(TypeWriter.java:2246)
                    at 
net.bytebuddy.dynamic.DynamicType$Builder$AbstractBase$UsingTypeWriter.make(DynamicType.java:4057)
                    at 
net.bytebuddy.dynamic.DynamicType$Builder$AbstractBase.make(DynamicType.java:3741)
                    at 
org.mockito.internal.creation.bytebuddy.InlineBytecodeGenerator.transform(InlineBytecodeGenerator.java:402)
                    at 
java.instrument/java.lang.instrument.ClassFileTransformer.transform(ClassFileTransformer.java:257)
                    at 
java.instrument/sun.instrument.TransformerManager.transform(TransformerManager.java:188)
                    at 
java.instrument/sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:594)
                    at 
java.instrument/sun.instrument.InstrumentationImpl.retransformClasses0(Native 
Method)
                    at 
java.instrument/sun.instrument.InstrumentationImpl.retransformClasses(InstrumentationImpl.java:221)
                    at 
org.mockito.internal.creation.bytebuddy.InlineBytecodeGenerator.triggerRetransformation(InlineBytecodeGenerator.java:281)
                    ... 16 more
org.apache.kafka.coordinator.group.GroupCoordinatorServiceTest.testFetchOffsetsWithWrappedError(boolean,
 Errors, Errors)[2] failed, log available in 
/home/dejan/kafka/group-coordinator/build/reports/testOutput/org.apache.kafka.coordinator.group.GroupCoordinatorServiceTest.testFetchOffsetsWithWrappedError(boolean,
 Errors, Errors)[2].test.stdout
{code}

> Support building with Java 25 (LTS release)
> -------------------------------------------
>
>                 Key: KAFKA-19664
>                 URL: https://issues.apache.org/jira/browse/KAFKA-19664
>             Project: Kafka
>          Issue Type: Improvement
>          Components: build
>            Reporter: Dejan Stojadinović
>            Assignee: Dejan Stojadinović
>            Priority: Major
>              Labels: CI, CI/CD, Gradle, Java, Java25, Scala, build, 
> github-actions, gradle, java, scala, update, upgrade
>
> *Depends upon/blocked by:*
>  * Kafka ticket: KAFKA-19174 Gradle version upgrade 8 -->> 9 (review is under 
> way)
>  * Spotbugs next version:
>  ** [https://github.com/spotbugs/spotbugs/issues/3564]
>  ** [https://github.com/spotbugs/spotbugs/issues/3569]
>  ** https://issues.apache.org/jira/browse/BCEL-377 
>  ** [https://github.com/spotbugs/spotbugs/pull/3712]
>  ** [https://github.com/spotbugs/spotbugs/discussions/3380] 
> *Related links:*
>  * JDK 25 release date: September 16th 2025:
>  ** [https://mail.openjdk.org/pipermail/announce/2025-September/000360.html]
>  ** [https://openjdk.org/projects/jdk/25]
>  * Gradle 9.1 will support Java 25: 
> [https://docs.gradle.org/9.1.0/release-notes.html#support-for-java-25]
>  * Scala 2.13.17 is also announced:
>  ** 
> [https://docs.scala-lang.org/overviews/jdk-compatibility/overview.html#jdk-25-compatibility-notes]
>  ** 
> [https://contributors.scala-lang.org/t/scala-2-13-17-release-planning/6994/10]
>  ** [https://github.com/scala/scala/milestone/109]
>  * other related links:
>  ** [https://github.com/adoptium/temurin/issues/96]
>  ** [https://launchpad.net/ubuntu/+source/openjdk-25]
>  ** [https://github.com/actions/setup-java/issues/899]
> *Related Github PR:* [https://github.com/apache/kafka/pull/20295] _*MINOR: 
> Run CI with Java 24*_
> FYI [~ijuma] [~chia7712] 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to