[ https://issues.apache.org/jira/browse/GEODE-9647?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17421565#comment-17421565 ]
Mark Hanson commented on GEODE-9647: ------------------------------------ The solution appears to be to plumb the regionService down into the DataSerializer class call to register. Doing so appears to alleviate the issue. > MultiUserAuth: DataSerializer.Register throws when attempting to register a > new DataSerializer. > ----------------------------------------------------------------------------------------------- > > Key: GEODE-9647 > URL: https://issues.apache.org/jira/browse/GEODE-9647 > Project: Geode > Issue Type: Bug > Components: core > Affects Versions: 1.15.0 > Reporter: Mark Hanson > Priority: Major > Labels: needsTriage > > When multiuserSecureModeEnabled is set, a user may attempt to register a > DataSerializer, but will get the following error. The reason is that the > PoolImpl needs credentials to authenticate against, which it does not have. > > {noformat} > [warn 2021/09/28 10:32:42.470 PDT <main> tid=0x1] Error registering > instantiator on pool:java.lang.UnsupportedOperationException: Use Pool APIs > for doing operations when multiuser-secure-mode-enabled is set to true. > at > org.apache.geode.cache.client.internal.PoolImpl.authenticateIfRequired(PoolImpl.java:1540) > > at > org.apache.geode.cache.client.internal.PoolImpl.execute(PoolImpl.java:800) > at > org.apache.geode.cache.client.internal.RegisterDataSerializersOp.execute(RegisterDataSerializersOp.java:34) > > at > org.apache.geode.internal.cache.PoolManagerImpl.allPoolsRegisterDataSerializers(PoolManagerImpl.java:264) > > at > org.apache.geode.internal.InternalDataSerializer.sendRegistrationMessageToServers(InternalDataSerializer.java:1197) > > at > org.apache.geode.internal.InternalDataSerializer._register(InternalDataSerializer.java:1093) > > at > org.apache.geode.internal.InternalDataSerializer.register(InternalDataSerializer.java:966) > at org.apache.geode.DataSerializer.register(DataSerializer.java:2900) > at > org.apache.geode.management.internal.security.MultiUserAuthenticationDUnitTest.multiAuthenticatedView(MultiUserAuthenticationDUnitTest.java:152) > > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > > at java.lang.reflect.Method.invoke(Method.java:498) > at > org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59) > > at > org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) > > at > org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56) > > at > org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) > > at > org.apache.geode.test.junit.rules.serializable.SerializableExternalResource$1.evaluate(SerializableExternalResource.java:38) > > at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) > at > org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100) > > at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366) > at > org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103) > > at > org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63) > > at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331) > at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79) > at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329) > at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66) > at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293) > at > org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) > at > org.apache.geode.test.junit.rules.DescribedExternalResource$1.evaluate(DescribedExternalResource.java:40) > > at > org.apache.geode.test.dunit.rules.ClusterStartupRule$1.evaluate(ClusterStartupRule.java:139) > > at org.junit.rules.RunRules.evaluate(RunRules.java:20) > at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) > at org.junit.runners.ParentRunner.run(ParentRunner.java:413) > at org.junit.runner.JUnitCore.run(JUnitCore.java:137) > at > com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:69) > > at > com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:33) > > at > com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:235) > > at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:54) > {noformat} -- This message was sent by Atlassian Jira (v8.3.4#803005)