I would prefer to have one standard way to do it, and given the options I would prefer it be proper JMX instead of mocking.
Kind Regards, Brandon On Fri, Aug 25, 2023 at 4:20 AM Miklosovic, Stefan <stefan.mikloso...@netapp.com> wrote: > > Hi list, > > I want to gather a feedback for this comment (1). > > Long story short, until JMX feature was introduced, we kind of hacked / > mocked the calls to MBeans from IInstance, like this (2). If you notice, > there is a lot of methods throwing UnsupportedOperationException because we > had no proper JMX connection in place. That in turn means that tests which > call nodetool commands which are using these MBeans / operations are not > possible. > > The fix I made in CASSANDRA-18572 will use JMX feature and it will hook > nodetool to a proper JMX connection where we are not mocking anything etc ... > It will use same stuff as in production. > > However, this is happening only if one uses JMX feature. So all existing > tests calling nodetool without this feature will still use it like it was. > The patch I made takes care of both scenarios. > > My question is if we should not make JMX feature turned on by default. That > way we might further simplify the code base and get rid of the hacks. > > Another possibility is to not turn it on by default but we would add JMX > feature to each test which is using nodetool. That would also mean that any > future test which will use nodetool will fail if it does not have JMX feature > enabled. > > What would you like to see - dual solution (proper JMX connection if such > feature is used as well as the legacy way) or only one solution with a proper > JMX? (enabled by default or not). > > Regards > > (1) > https://issues.apache.org/jira/browse/CASSANDRA-18572?focusedCommentId=17758920&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-17758920 > (2) > https://github.com/apache/cassandra/blob/trunk/test/distributed/org/apache/cassandra/distributed/mock/nodetool/InternalNodeProbe.java