I'm getting a nasty 'HTTP Status 500 - Error invoking operation removeUser' message whenever I try to delete any user using the Administration Tool. I've tested on 5.5.7, 5.5.8-alpha and 5.0.28, and while 5.0.28 works perfectly, 5.5.7 onwards fail. I haven't done anything to the Tomcat installation after downloading it except adding a user so I can logon to the Admin webapp (<user username="apama_admin" password="" roles="admin,manager"/>). I can reproduce this on both machines I've tried it on so I don't think it's my configuration. The stack trace is as follows: SEVERE: action: Error invoking operation removeUser javax.management.MalformedObjectNameException: Unterminated key property part at javax.management.ObjectName.construct(ObjectName.java:465) at javax.management.ObjectName.<init>(ObjectName.java:1297) at org.apache.webapp.admin.users.DeleteUsersAction.execute(DeleteUsersAction.java:132) at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419) at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224) at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1192) at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:430) at javax.servlet.http.HttpServlet.service(HttpServlet.java:709) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.apache.webapp.admin.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:123) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:825) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:738) at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:526) at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684) at java.lang.Thread.run(Thread.java:595)
It's interesting that Tomcat 5.0.28 with the 5.5.7 admin webapp instead of the 5.0.28 one still works. I guess this suggests that the breaking code change was in Tomcat itself and probably not the Admin Tool's code.
The usename is now quoted in the ObjectName, that's why it fails at the moment. Same for the groups, probably. The UserDatabase realm turned out to be a bit useless in the end. Maybe some people use it with custom backends (too bad they didn't contribute them).
Thanks :)