[jira] [Comment Edited] (CASSANDRA-18152) mockito-inline causes tests to fail beacause o.a.c.distributed.mock.nodetool.InternalNodeProbe spies on StorageServiceMBean

2023-01-13 Thread Ekaterina Dimitrova (Jira)


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

Ekaterina Dimitrova edited comment on CASSANDRA-18152 at 1/13/23 6:37 PM:
--

Thank you for the ping and the testing, appreciate it! The branch you took is 
already a bit old and WIP but I think it should serve your needs. I can confirm 
that I updated some time ago mockito-core to latest version in trunk and that 
version officially supports Java 17.

I haven't used mockito-inline and when I write in Google mockito-inline Java 17 
support, it took me to this [page 
|https://github.com/mockito/mockito/issues/2436]  that discusses an issue 
people reported in 2021 and the maintainers confirming they are testing in CI 
mockito-inline so _my guess_ is that it should be fine, but I didn't spend too 
much time in researching. It is important not just to test but also to verify 
that the maintainers of our dependencies are supporting or planning soon to 
support newer JDK versions. Hope that helps.


was (Author: e.dimitrova):
Thank you for the ping and the testing, appreciate it! The branch you took is 
already a bit old and WIP but I think it should serve your needs. I can confirm 
that I updated some time ago mockito-core to latest version in trunk and that 
version officially supports Java 17.

I haven't used mockito-inline and when I write in Google mockito-inline Java 17 
support, it took me to this page that discusses an issue people reported in 
2021 and the maintainers confirming they are testing in CI mockito-inline so 
_my guess_ is that it should be fine, but I didn't spend too much time in 
researching. It is important not just to test but also to verify that the 
maintainers of our dependencies are supporting or planning soon to support 
newer JDK versions. Hope that helps.

> mockito-inline causes tests to fail beacause 
> o.a.c.distributed.mock.nodetool.InternalNodeProbe spies on StorageServiceMBean
> ---
>
> Key: CASSANDRA-18152
> URL: https://issues.apache.org/jira/browse/CASSANDRA-18152
> Project: Cassandra
>  Issue Type: Bug
>  Components: Test/dtest/java
>Reporter: Stefan Miklosovic
>Assignee: Stefan Miklosovic
>Priority: Normal
> Fix For: 4.x
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> While working on CASSANDRA-14361, when we included mockito-inline into the 
> build to test the new functionality, unrelated tests in CI started to fail. 
> (1)
> This is happening because mockito, together with stuff which enables static 
> mocking, just does not play together with our way of doing things in dtest 
> framework.
> The workaround is consisting of removing Mockito from InternalNodeProbe, it 
> tries to spy on StorageService to not send any notifications back. This might 
> be workarounded so we do not need Mockito hence tests are fixed and mocking 
> of static methods is possible without any other tests failing.
> (1) 
> https://ci-cassandra.apache.org/view/patches/job/Cassandra-devbranch/2168/#showFailuresLink
> see also: [https://github.com/mockito/mockito/issues/2203]



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

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Comment Edited] (CASSANDRA-18152) mockito-inline causes tests to fail beacause o.a.c.distributed.mock.nodetool.InternalNodeProbe spies on StorageServiceMBean

2023-01-13 Thread Stefan Miklosovic (Jira)


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

Stefan Miklosovic edited comment on CASSANDRA-18152 at 1/13/23 11:05 AM:
-

I was asked on the mailing list here (0) if this will work with Java 17. 

I have verified that it is possible to mock static methods with mockito 4.7.0 
and mockito-inline 4.7.0 in Java 17 in this branch (1). This branch is using 
the work from CASSANDRA-16895 where I took this branch (2) where upgrade to 
Java 17 is done and I rebased it on top of the current trunk. Then, I 
cherry-picked the work in (3) on top of this rebased branch with Java 17 
support. The cherry-picked commit from CASSANDRA-14361 contains the test which 
is using static methods. I was running the test case SimpleSeedProviderTest 
which is using mocking of static methods and the test passed.

The branch where the solution to remove the dependency on Mockito in 
InternalNodeProbe is here (4) and its build is here (5).
For completeness, without (4) merged, once we use mockito-inline to mock static 
methods, these tests fail (6)

Java I was on: 
{code:java}
$ java -version
openjdk version "17.0.2" 2022-01-18
OpenJDK Runtime Environment (build 17.0.2+8-86)
OpenJDK 64-Bit Server VM (build 17.0.2+8-86, mixed mode, sharing)
{code}

Letting [~edimitrova] know I did this as well as [~adelapena] that this is 
available for review so we are unblocked on CASSANDRA-14361 and I am letting 
know [~jlewandowski] that this test was conducted.

(0) https://lists.apache.org/thread/t35wmq90zcfoorjz5dtz6dxt99d5sp6o
(1) [https://github.com/instaclustr/cassandra/tree/CASSANDRA-16895-stefan]
(2) [https://github.com/ekaterinadimitrova2/cassandra/tree/16895-trunk-sept]
(3) [https://issues.apache.org/jira/browse/CASSANDRA-14361]
(4) [https://github.com/apache/cassandra/pull/2095]
(5) 
[https://app.circleci.com/pipelines/github/instaclustr/cassandra?branch=CASSANDRA-18152]
(6) 
https://app.circleci.com/pipelines/github/adelapena/cassandra?branch=14361-trunk-review


was (Author: smiklosovic):
I was asked on the mailing list here (0) if this will work with Java 17. 

I have verified that it is possible to mock static methods with mockito 4.7.0 
and mockito-inline 4.7.0 in Java 17 in this branch (1). This branch is using 
the work from CASSANDRA-16895 where I took this branch (2) where upgrade to 
Java 17 is done and I rebased it on top of the current trunk. Then, I 
cherry-picked the work in (3) on top of this rebased branch with Java 17 
support. The cherry-picked commit from CASSANDRA-14361 contains the test which 
is using static methods. I was running the test case SimpleSeedProviderTest 
which is using mocking of static methods and the test passed.

The branch where the solution to remove the dependency on Mockito in 
InternalNodeProbe is here (4) and its build is here (5).

Java I was on: 
{code:java}
$ java -version
openjdk version "17.0.2" 2022-01-18
OpenJDK Runtime Environment (build 17.0.2+8-86)
OpenJDK 64-Bit Server VM (build 17.0.2+8-86, mixed mode, sharing)
{code}

Letting [~edimitrova] know I did this as well as [~adelapena] that this is 
available for review so we are unblocked on CASSANDRA-14361 and I am letting 
know [~jlewandowski] that this test was conducted.

(0) https://lists.apache.org/thread/t35wmq90zcfoorjz5dtz6dxt99d5sp6o
(1) [https://github.com/instaclustr/cassandra/tree/CASSANDRA-16895-stefan]
(2) [https://github.com/ekaterinadimitrova2/cassandra/tree/16895-trunk-sept]
(3) [https://issues.apache.org/jira/browse/CASSANDRA-14361]
(4) [https://github.com/apache/cassandra/pull/2095]
(5) 
[https://app.circleci.com/pipelines/github/instaclustr/cassandra?branch=CASSANDRA-18152]

> mockito-inline causes tests to fail beacause 
> o.a.c.distributed.mock.nodetool.InternalNodeProbe spies on StorageServiceMBean
> ---
>
> Key: CASSANDRA-18152
> URL: https://issues.apache.org/jira/browse/CASSANDRA-18152
> Project: Cassandra
>  Issue Type: Bug
>  Components: Test/dtest/java
>Reporter: Stefan Miklosovic
>Assignee: Stefan Miklosovic
>Priority: Normal
> Fix For: 4.x
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> While working on CASSANDRA-14361, when we included mockito-inline into the 
> build to test the new functionality, unrelated tests in CI started to fail. 
> (1)
> This is happening because mockito, together with stuff which enables static 
> mocking, just does not play together with our way of doing things in dtest 
> framework.
> The workaround is consisting of removing Mockito from InternalNodeProbe, it 
> tries to spy on StorageService to not send any notifications back. This might 
>

[jira] [Comment Edited] (CASSANDRA-18152) mockito-inline causes tests to fail beacause o.a.c.distributed.mock.nodetool.InternalNodeProbe spies on StorageServiceMBean

2023-01-13 Thread Stefan Miklosovic (Jira)


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

Stefan Miklosovic edited comment on CASSANDRA-18152 at 1/13/23 11:04 AM:
-

PR: https://github.com/apache/cassandra/pull/2095
builld: 
https://app.circleci.com/pipelines/github/instaclustr/cassandra?branch=CASSANDRA-18152


was (Author: smiklosovic):
PR: https://github.com/apache/cassandra/pull/2095
https://app.circleci.com/pipelines/github/instaclustr/cassandra?branch=CASSANDRA-18152

> mockito-inline causes tests to fail beacause 
> o.a.c.distributed.mock.nodetool.InternalNodeProbe spies on StorageServiceMBean
> ---
>
> Key: CASSANDRA-18152
> URL: https://issues.apache.org/jira/browse/CASSANDRA-18152
> Project: Cassandra
>  Issue Type: Bug
>  Components: Test/dtest/java
>Reporter: Stefan Miklosovic
>Assignee: Stefan Miklosovic
>Priority: Normal
> Fix For: 4.x
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> While working on CASSANDRA-14361, when we included mockito-inline into the 
> build to test the new functionality, unrelated tests in CI started to fail. 
> (1)
> This is happening because mockito, together with stuff which enables static 
> mocking, just does not play together with our way of doing things in dtest 
> framework.
> The workaround is consisting of removing Mockito from InternalNodeProbe, it 
> tries to spy on StorageService to not send any notifications back. This might 
> be workarounded so we do not need Mockito hence tests are fixed and mocking 
> of static methods is possible without any other tests failing.
> (1) 
> https://ci-cassandra.apache.org/view/patches/job/Cassandra-devbranch/2168/#showFailuresLink
> see also: [https://github.com/mockito/mockito/issues/2203]



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

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org