View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0006635 | SymmetricDS Pro | Bug | public | 2024-11-06 13:35 | 2024-11-06 16:33 |
Reporter | emiller | Assigned To | emiller | ||
Priority | normal | ||||
Status | resolved | Resolution | fixed | ||
Product Version | 3.14.0 | ||||
Target Version | 3.14.18 | Fixed in Version | 3.14.18 | ||
Summary | 0006635: Add Tables Wizard gets info from the wrong database when not using the source node group's web console & metadata is unavailable | ||||
Description | When 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) | ||||
Tags | ui | ||||
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 |