View Issue Details

IDProjectCategoryView StatusLast Update
0006635SymmetricDS ProBugpublic2024-11-06 16:33
Reporteremiller Assigned Toemiller  
Prioritynormal 
Status resolvedResolutionfixed 
Product Version3.14.0 
Target Version3.14.18Fixed in Version3.14.18 
Summary0006635: Add Tables Wizard gets info from the wrong database when not using the source node group's web console & metadata is unavailable
DescriptionWhen adding tables via the Add Tables Wizard, if metadata is unavailable and the user selects a group link where the source node group does not contain the current node whose web console they're logged in to, the wizard gets catalog, schema, and table information from the wrong database. Instead of retrieving this information from one of the nodes belonging to the selected group link's source node group, the wizard gets it from the current node whose web console the user is logged in to. This can happen regardless of whether the nodes are multi-homed and regardless of the value of the console.remote.meta.data parameter. This leads to incorrect information displayed on the table selection screen, or even NullPointerExceptions like the below one when the user is logged in to the web console of a node that is unable to provide catalog, schema, or table information, such as a Kafka node.

java.lang.NullPointerException
    at com.jumpmind.symmetric.console.impl.dm.c(TriggerRouterScreen.java:438)
    at com.jumpmind.symmetric.console.impl.dm.<init>(TriggerRouterScreen.java:236)
    at com.jumpmind.symmetric.console.impl.dj.q(SelectGroupLinkScreen.java:174)
    at com.jumpmind.symmetric.console.impl.de.nextScreen(AddTablesWizard.java:203)
    at com.jumpmind.symmetric.console.impl.de.lambda$new$f6218ce1$5(AddTablesWizard.java:120)
    at com.vaadin.flow.component.ComponentEventBus.fireEventForListener(ComponentEventBus.java:206)
    at com.vaadin.flow.component.ComponentEventBus.handleDomEvent(ComponentEventBus.java:448)
    at com.vaadin.flow.component.ComponentEventBus.lambda$addDomTrigger$dd1b7957$1(ComponentEventBus.java:265)
    at com.vaadin.flow.internal.nodefeature.ElementListenerMap.lambda$fireEvent$2(ElementListenerMap.java:447)
    at java.base/java.util.ArrayList.forEach(ArrayList.java:1541)
    at com.vaadin.flow.internal.nodefeature.ElementListenerMap.fireEvent(ElementListenerMap.java:447)
    at com.vaadin.flow.server.communication.rpc.EventRpcHandler.handleNode(EventRpcHandler.java:62)
    at com.vaadin.flow.server.communication.rpc.AbstractRpcInvocationHandler.handle(AbstractRpcInvocationHandler.java:66)
    at com.vaadin.flow.server.communication.ServerRpcHandler.handleInvocationData(ServerRpcHandler.java:438)
    at com.vaadin.flow.server.communication.ServerRpcHandler.lambda$handleInvocations$1(ServerRpcHandler.java:419)
    at java.base/java.util.ArrayList.forEach(ArrayList.java:1541)
    at com.vaadin.flow.server.communication.ServerRpcHandler.handleInvocations(ServerRpcHandler.java:419)
    at com.vaadin.flow.server.communication.ServerRpcHandler.handleRpc(ServerRpcHandler.java:320)
    at com.vaadin.flow.server.communication.UidlRequestHandler.synchronizedHandleRequest(UidlRequestHandler.java:92)
    at com.vaadin.flow.server.SynchronizedRequestHandler.handleRequest(SynchronizedRequestHandler.java:40)
    at com.vaadin.flow.server.VaadinService.handleRequest(VaadinService.java:1579)
    at com.vaadin.flow.server.VaadinServlet.service(VaadinServlet.java:252)
    at com.jumpmind.symmetric.console.ui.AppServlet.service(AppServlet.java:28)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:750)
    at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:799)
    at org.eclipse.jetty.servlet.ServletHandler$ChainEnd.doFilter(ServletHandler.java:1656)
    at org.eclipse.jetty.websocket.server.WebSocketUpgradeFilter.doFilter(WebSocketUpgradeFilter.java:292)
    at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
    at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1626)
    at org.jumpmind.symmetric.web.HttpMethodFilter.doFilter(HttpMethodFilter.java:60)
    at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
    at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1626)
    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:552)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
    at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:600)
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
    at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:235)
    at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1624)
    at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)
    at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1440)
    at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188)
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:505)
    at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1594)
    at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186)
    at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1355)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
    at org.eclipse.jetty.server.Server.handle(Server.java:516)
    at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:487)
    at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:732)
    at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:479)
    at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:277)
    at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)
    at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)
    at org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint.onFillable(SslConnection.java:555)
    at org.eclipse.jetty.io.ssl.SslConnection.onFillable(SslConnection.java:410)
    at org.eclipse.jetty.io.ssl.SslConnection$2.succeeded(SslConnection.java:164)
    at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)
    at org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104)
    at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:338)
    at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:315)
    at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:173)
    at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:131)
    at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:409)
    at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:883)
    at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1034)
    at java.base/java.lang.Thread.run(Thread.java:829)
Tagsui

Relationships

related to 0006636 resolvedemiller Add Tables Wizard gets info from the wrong database when not using the source node group's web console & metadata is unavailable 

Activities

There are no notes attached to this issue.

Issue History

Date Modified Username Field Change
2024-11-06 13:35 emiller New Issue
2024-11-06 13:35 emiller Status new => assigned
2024-11-06 13:35 emiller Assigned To => emiller
2024-11-06 13:35 emiller Tag Attached: ui
2024-11-06 13:37 emiller Issue cloned: 0006636
2024-11-06 13:37 emiller Relationship added related to 0006636
2024-11-06 16:33 emiller Status assigned => resolved
2024-11-06 16:33 emiller Resolution open => fixed
2024-11-06 16:33 emiller Fixed in Version => 3.14.18