UDM_Manager cannot connect to database; shows error in USM

Document ID : KB000047883
Last Modified Date : 14/02/2018
Show Technical Document Details
Issue
An unknown error has occurred.
Refreshing your browser may resolve the issue.

Details:
com.firehunter.ump.exceptions.DataFactoryException : Malformed escape pair at index 158: datomic:sql://udm?jdbc:sqlserver://;serverName=ca.com;databaseName=NimsoftSLM;applicationName=udm_manager;user=Nimsoft;password=<password>;sendStringParametersAsUnicode=false

Stack Trace:
java.net.URISyntaxException: Malformed escape pair at index 158: datomic:sql://udm?jdbc:sqlserver://;serverName=ca.com;databaseName=NimsoftSLM;applicationName=udm_manager;user=Nimsoft;password=<password>;sendStringParametersAsUnicode=false
?? ?at java.net.URI$Parser.fail(Unknown Source)
?? ?at java.net.URI$Parser.scanEscape(Unknown Source)
?? ?at java.net.URI$Parser.scan(Unknown Source)
?? ?at java.net.URI$Parser.checkChars(Unknown Source)
?? ?at java.net.URI$Parser.parse(Unknown Source)
?? ?at java.net.URI.<init>(Unknown Source)
?? ?at datomic.uri$storage_protocol.invoke(uri.clj:30)
?? ?at clojure.lang.MultiFn.invoke(MultiFn.java:227)
?? ?at datomic.uri$parse.invoke(uri.clj:220)
?? ?at datomic.uri$parse_db.invoke(uri.clj:225)
?? ?at datomic.peer$connect_uri.invoke(peer.clj:733)
?? ?at clojure.lang.Var.invoke(Var.java:379)
?? ?at datomic.Peer.connect(Peer.java:111)
?? ?at com.nimsoft.udm.services.impl.base.PeerWrapper.connect(PeerWrapper.java:9)
?? ?at com.nimsoft.udm.services.impl.base.UdmContext.<init>(UdmContext.java:26)
?? ?at com.nimsoft.udm.services.impl.base.UdmContext.<init>(UdmContext.java:22)
?? ?at com.nimsoft.udm.services.impl.base.UdmContext.initializeConnectionUrl(UdmContext.java:67)
?? ?at com.firehunter.usm.DataFactory.initializeServices(DataFactory.java:176)
?? ?at com.firehunter.usm.DataFactory.init(DataFactory.java:144)
?? ?at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
?? ?at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
?? ?at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
?? ?at java.lang.reflect.Method.invoke(Unknown Source)
?? ?at flex.messaging.services.remoting.adapters.JavaAdapter.invoke(JavaAdapter.java:421)
?? ?at flex.messaging.services.RemotingService.serviceMessage(RemotingService.java:183)
?? ?at flex.messaging.MessageBroker.routeMessageToService(MessageBroker.java:1503)
?? ?at flex.messaging.endpoints.AbstractEndpoint.serviceMessage(AbstractEndpoint.java:884)
?? ?at flex.messaging.endpoints.amf.MessageBrokerFilter.invoke(MessageBrokerFilter.java:121)
?? ?at flex.messaging.endpoints.amf.LegacyFilter.invoke(LegacyFilter.java:158)
?? ?at flex.messaging.endpoints.amf.SessionFilter.invoke(SessionFilter.java:44)
?? ?at flex.messaging.endpoints.amf.BatchProcessFilter.invoke(BatchProcessFilter.java:67)
?? ?at flex.messaging.endpoints.amf.SerializationFilter.invoke(SerializationFilter.java:146)
?? ?at flex.messaging.endpoints.BaseHTTPEndpoint.service(BaseHTTPEndpoint.java:278)
?? ?at flex.messaging.MessageBrokerServlet.service(MessageBrokerServlet.java:322)
?? ?at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
?? ?at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
?? ?at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
?? ?at com.firehunter.ump.auth.InvalidHttpSessionFilter.doFilter(InvalidHttpSessionFilter.java:29)
?? ?at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
?? ?at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
?? ?at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:73)
?? ?at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:117)
?? ?at sun.reflect.GeneratedMethodAccessor1208.invoke(Unknown Source)
?? ?at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
?? ?at java.lang.reflect.Method.invoke(Unknown Source)
?? ?at com.liferay.portal.kernel.bean.ClassLoaderBeanHandler.invoke(ClassLoaderBeanHandler.java:67)
?? ?at com.sun.proxy.$Proxy917.doFilter(Unknown Source)
?? ?at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:73)
?? ?at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:168)
?? ?at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:96)
?? ?at com.liferay.portal.kernel.servlet.PortalClassLoaderFilter.doFilter(PortalClassLoaderFilter.java:72)
?? ?at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:207)
?? ?at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:109)
?? ?at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilter.doFilter(InvokerFilter.java:79)
?? ?at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
?? ?at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
?? ?at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
?? ?at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
?? ?at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:558)
?? ?at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
?? ?at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
?? ?at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
?? ?at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
?? ?at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852)
?? ?at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
?? ?at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
?? ?at java.lang.Thread.run(Unknown Source)

Resolution

This turned out to be the password we were using for the data_engine connection to the DB host.?

The password had a "*" (asterisk) in it and apparently the new UDM technology would not pass that to the DB host correctly and discovery_server would not start.?

Environment

This issue was found to occur in UMP 8.20 and may apply to other versions running udm_manager.