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

Christine Poerschke commented on SOLR-15073:
--------------------------------------------

All three branches' commits reverted, due to strange CI failures for 8x (but 
not master it seems) with {{SolrInfoBeanTest}} 'complaining' about 
{{org.apache.solr.handler.admin.SystemInfoHandlerTest$1}} i.e. possibly it's a 
test issue somehow perhaps related to Mockito use and/or 
{{SystemInfoHandlerTest.testMagickGetter()}} logic?

e.g. [https://ci-builds.apache.org/job/Lucene/job/Lucene-Solr-Tests-8.x/1438/] 
extract
{code:java}
   [junit4]   2> 508767 WARN  
(TEST-SolrInfoBeanTest.testCallMBeanInfo-seed#[41C64ABFFDD9EACD]) [     ] 
o.a.s.m.r.j.JmxMetricsReporter Unable to register gauge
   [junit4]   2>           => javax.management.NotCompliantMBeanException: Bad 
getMBeanInfo()
   [junit4]   2>        at 
com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.getNewMBeanClassName(DefaultMBeanServerInterceptor.java:336)
   [junit4]   2> javax.management.NotCompliantMBeanException: Bad getMBeanInfo()
   [junit4]   2>        at 
com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.getNewMBeanClassName(DefaultMBeanServerInterceptor.java:336)
 ~[?:?]
   [junit4]   2>        at 
com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerMBean(DefaultMBeanServerInterceptor.java:319)
 ~[?:?]
   [junit4]   2>        at 
com.sun.jmx.mbeanserver.JmxMBeanServer.registerMBean(JmxMBeanServer.java:522) 
~[?:?]
   [junit4]   2>        at 
org.apache.solr.metrics.reporters.jmx.JmxMetricsReporter$JmxListener.registerMBean(JmxMetricsReporter.java:536)
 ~[java/:?]
   [junit4]   2>        at 
org.apache.solr.metrics.reporters.jmx.JmxMetricsReporter$JmxListener.onGaugeAdded(JmxMetricsReporter.java:574)
 [java/:?]
   [junit4]   2>        at 
com.codahale.metrics.MetricRegistry.notifyListenerOfAddedMetric(MetricRegistry.java:527)
 [metrics-core-4.1.5.jar:4.1.5]
   [junit4]   2>        at 
com.codahale.metrics.MetricRegistry.onMetricAdded(MetricRegistry.java:521) 
[metrics-core-4.1.5.jar:4.1.5]
   [junit4]   2>        at 
com.codahale.metrics.MetricRegistry.register(MetricRegistry.java:154) 
[metrics-core-4.1.5.jar:4.1.5]
   [junit4]   2>        at 
org.apache.solr.metrics.SolrMetricManager.registerMetric(SolrMetricManager.java:741)
 [java/:?]
   [junit4]   2>        at 
org.apache.solr.metrics.SolrMetricManager.registerGauge(SolrMetricManager.java:779)
 [java/:?]
   [junit4]   2>        at 
org.apache.solr.metrics.SolrMetricsContext.gauge(SolrMetricsContext.java:119) 
[java/:?]
   [junit4]   2>        at 
org.apache.solr.handler.admin.MetricsHandlerTest$DumpRequestHandler.initializeMetrics(MetricsHandlerTest.java:467)
 [test/:?]
   [junit4]   2>        at 
org.apache.solr.metrics.SolrMetricProducer.initializeMetrics(SolrMetricProducer.java:59)
 [java/:?]
   [junit4]   2>        at 
org.apache.solr.SolrInfoBeanTest.testCallMBeanInfo(SolrInfoBeanTest.java:70) 
[test/:?]
   [junit4]   2>        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native 
Method) ~[?:1.8.0_252]
   [junit4]   2>        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
~[?:1.8.0_252]
   [junit4]   2>        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 ~[?:1.8.0_252]
   [junit4]   2>        at java.lang.reflect.Method.invoke(Method.java:498) 
~[?:1.8.0_252]
   [junit4]   2>        at 
com.carrotsearch.randomizedtesting.RandomizedRunner.invoke(RandomizedRunner.java:1750)
 [randomizedtesting-runner-2.7.2.jar:?]
   [junit4]   2>        at 
com.carrotsearch.randomizedtesting.RandomizedRunner$8.evaluate(RandomizedRunner.java:938)
 [randomizedtesting-runner-2.7.2.jar:?]
   [junit4]   2>        at 
com.carrotsearch.randomizedtesting.RandomizedRunner$9.evaluate(RandomizedRunner.java:974)
 [randomizedtesting-runner-2.7.2.jar:?]
   [junit4]   2>        at 
com.carrotsearch.randomizedtesting.RandomizedRunner$10.evaluate(RandomizedRunner.java:988)
 [randomizedtesting-runner-2.7.2.jar:?]
   [junit4]   2>        at 
com.carrotsearch.randomizedtesting.rules.SystemPropertiesRestoreRule$1.evaluate(SystemPropertiesRestoreRule.java:57)
 [randomizedtesting-runner-2.7.2.jar:?]
   [junit4]   2>        at org.junit.rules.RunRules.evaluate(RunRules.java:20) 
[junit-4.13.1.jar:4.13.1]
   [junit4]   2>        at 
org.apache.lucene.util.TestRuleSetupTeardownChained$1.evaluate(TestRuleSetupTeardownChained.java:49)
 [java/:?]
   [junit4]   2>        at 
org.apache.lucene.util.AbstractBeforeAfterRule$1.evaluate(AbstractBeforeAfterRule.java:45)
 [java/:?]
   [junit4]   2>        at 
org.apache.lucene.util.TestRuleThreadAndTestName$1.evaluate(TestRuleThreadAndTestName.java:48)
 [java/:?]
   [junit4]   2>        at 
org.apache.lucene.util.TestRuleIgnoreAfterMaxFailures$1.evaluate(TestRuleIgnoreAfterMaxFailures.java:64)
 [java/:?]
   [junit4]   2>        at 
org.apache.lucene.util.TestRuleMarkFailure$1.evaluate(TestRuleMarkFailure.java:47)
 [java/:?]
   [junit4]   2>        at org.junit.rules.RunRules.evaluate(RunRules.java:20) 
[junit-4.13.1.jar:4.13.1]
   [junit4]   2>        at 
com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(StatementAdapter.java:36)
 [randomizedtesting-runner-2.7.2.jar:?]
   [junit4]   2>        at 
com.carrotsearch.randomizedtesting.ThreadLeakControl$StatementRunner.run(ThreadLeakControl.java:368)
 [randomizedtesting-runner-2.7.2.jar:?]
   [junit4]   2>        at 
com.carrotsearch.randomizedtesting.ThreadLeakControl.forkTimeoutingTask(ThreadLeakControl.java:817)
 [randomizedtesting-runner-2.7.2.jar:?]
   [junit4]   2>        at 
com.carrotsearch.randomizedtesting.ThreadLeakControl$3.evaluate(ThreadLeakControl.java:468)
 [randomizedtesting-runner-2.7.2.jar:?]
   [junit4]   2>        at 
com.carrotsearch.randomizedtesting.RandomizedRunner.runSingleTest(RandomizedRunner.java:947)
 [randomizedtesting-runner-2.7.2.jar:?]
   [junit4]   2>        at 
com.carrotsearch.randomizedtesting.RandomizedRunner$5.evaluate(RandomizedRunner.java:832)
 [randomizedtesting-runner-2.7.2.jar:?]
   [junit4]   2>        at 
com.carrotsearch.randomizedtesting.RandomizedRunner$6.evaluate(RandomizedRunner.java:883)
 [randomizedtesting-runner-2.7.2.jar:?]
   [junit4]   2>        at 
com.carrotsearch.randomizedtesting.RandomizedRunner$7.evaluate(RandomizedRunner.java:894)
 [randomizedtesting-runner-2.7.2.jar:?]
   [junit4]   2>        at 
com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(StatementAdapter.java:36)
 [randomizedtesting-runner-2.7.2.jar:?]
   [junit4]   2>        at 
com.carrotsearch.randomizedtesting.rules.SystemPropertiesRestoreRule$1.evaluate(SystemPropertiesRestoreRule.java:57)
 [randomizedtesting-runner-2.7.2.jar:?]
   [junit4]   2>        at org.junit.rules.RunRules.evaluate(RunRules.java:20) 
[junit-4.13.1.jar:4.13.1]
   [junit4]   2>        at 
org.apache.lucene.util.AbstractBeforeAfterRule$1.evaluate(AbstractBeforeAfterRule.java:45)
 [java/:?]
   [junit4]   2>        at 
com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(StatementAdapter.java:36)
 [randomizedtesting-runner-2.7.2.jar:?]
   [junit4]   2>        at 
org.apache.lucene.util.TestRuleStoreClassName$1.evaluate(TestRuleStoreClassName.java:41)
 [java/:?]
   [junit4]   2>        at 
com.carrotsearch.randomizedtesting.rules.NoShadowingOrOverridesOnMethodsRule$1.evaluate(NoShadowingOrOverridesOnMethodsRule.java:40)
 [randomizedtesting-runner-2.7.2.jar:?]
   [junit4]   2>        at 
com.carrotsearch.randomizedtesting.rules.NoShadowingOrOverridesOnMethodsRule$1.evaluate(NoShadowingOrOverridesOnMethodsRule.java:40)
 [randomizedtesting-runner-2.7.2.jar:?]
   [junit4]   2>        at 
com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(StatementAdapter.java:36)
 [randomizedtesting-runner-2.7.2.jar:?]
   [junit4]   2>        at 
com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(StatementAdapter.java:36)
 [randomizedtesting-runner-2.7.2.jar:?]
   [junit4]   2>        at 
com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(StatementAdapter.java:36)
 [randomizedtesting-runner-2.7.2.jar:?]
   [junit4]   2>        at 
org.apache.lucene.util.TestRuleAssertionsRequired$1.evaluate(TestRuleAssertionsRequired.java:53)
 [java/:?]
   [junit4]   2>        at 
org.apache.lucene.util.TestRuleMarkFailure$1.evaluate(TestRuleMarkFailure.java:47)
 [java/:?]
   [junit4]   2>        at 
org.apache.lucene.util.TestRuleIgnoreAfterMaxFailures$1.evaluate(TestRuleIgnoreAfterMaxFailures.java:64)
 [java/:?]
   [junit4]   2>        at 
org.apache.lucene.util.TestRuleIgnoreTestSuites$1.evaluate(TestRuleIgnoreTestSuites.java:54)
 [java/:?]
   [junit4]   2>        at org.junit.rules.RunRules.evaluate(RunRules.java:20) 
[junit-4.13.1.jar:4.13.1]
   [junit4]   2>        at 
com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(StatementAdapter.java:36)
 [randomizedtesting-runner-2.7.2.jar:?]
   [junit4]   2>        at 
com.carrotsearch.randomizedtesting.ThreadLeakControl$StatementRunner.run(ThreadLeakControl.java:368)
 [randomizedtesting-runner-2.7.2.jar:?]
   [junit4]   2>        at java.lang.Thread.run(Thread.java:748) [?:1.8.0_252]
   [junit4]   2> Caused by: java.lang.NullPointerException
   [junit4]   2>        at 
org.apache.solr.handler.admin.MetricsHandlerTest$DumpRequestHandler.lambda$initializeMetrics$1(MetricsHandlerTest.java:466)
 ~[test/:?]
   [junit4]   2>        at 
org.apache.solr.common.MapWriter.toMap(MapWriter.java:46) ~[java/:?]
   [junit4]   2>        at 
org.apache.solr.metrics.MetricsMap.getValue(MetricsMap.java:96) ~[java/:?]
   [junit4]   2>        at 
org.apache.solr.metrics.MetricsMap.getMBeanInfo(MetricsMap.java:180) ~[java/:?]
   [junit4]   2>        at 
com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.getNewMBeanClassName(DefaultMBeanServerInterceptor.java:333)
 ~[?:?]
   [junit4]   2>        ... 56 more
   [junit4]   2> 508770 INFO  
(TEST-SolrInfoBeanTest.testCallMBeanInfo-seed#[41C64ABFFDD9EACD]) [     ] 
o.a.s.SolrTestCaseJ4 ###Ending testCallMBeanInfo
   [junit4]   2> NOTE: reproduce with: ant test  -Dtestcase=SolrInfoBeanTest 
-Dtests.method=testCallMBeanInfo -Dtests.seed=41C64ABFFDD9EACD 
-Dtests.multiplier=2 -Dtests.slow=true -Dtests.locale=el-GR 
-Dtests.timezone=America/Atikokan -Dtests.asserts=true 
-Dtests.file.encoding=ISO-8859-1
   [junit4] ERROR   2.12s J2 | SolrInfoBeanTest.testCallMBeanInfo <<<
   [junit4]    > Throwable #1: java.lang.IllegalAccessException: Class 
org.apache.solr.SolrInfoBeanTest can not access a member of class 
org.apache.solr.handler.admin.SystemInfoHandlerTest$1 with modifiers ""
   [junit4]    >        at 
__randomizedtesting.SeedInfo.seed([41C64ABFFDD9EACD:BEA0C78396A197D3]:0)
   [junit4]    >        at java.lang.Class.newInstance(Class.java:436)
   [junit4]    >        at 
org.apache.solr.SolrInfoBeanTest.testCallMBeanInfo(SolrInfoBeanTest.java:68)
   [junit4]    >        at java.lang.Thread.run(Thread.java:748)
{code}

> Unsafe cast in SystemInfoHandler
> --------------------------------
>
>                 Key: SOLR-15073
>                 URL: https://issues.apache.org/jira/browse/SOLR-15073
>             Project: Solr
>          Issue Type: Bug
>      Security Level: Public(Default Security Level. Issues are Public) 
>    Affects Versions: 8.6, 8.7
>            Reporter: Nikolay Ivanov
>            Assignee: Christine Poerschke
>            Priority: Major
>             Fix For: 8.8, master (9.0)
>
>          Time Spent: 0.5h
>  Remaining Estimate: 0h
>
> I have observed an unsafe cast in 
> SystemInfoHandler::getSecurityInfo
> Is this by design? Currently I have a custom AuthorizationPlugin that 
> directly implements AuthorizationPlugin interface. With the latest solr 
> version it is not permitted anymore. A workaround is to extend the 
> RuleBasedAuthorizationPluginBase, which is not ideal imo. Please share your 
> thoughts



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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

Reply via email to