View Issue Details

IDProjectCategoryView StatusLast Update
0004203SymmetricDS ProBugpublic2020-01-02 15:12
Reporterhanes Assigned Toelong  
Prioritynormal 
Status closedResolutionfixed 
Product Version3.11.0 
Target Version3.11.3Fixed in Version3.11.3 
Summary0004203: Captured Data on the Batch Details screen Null Pointers when table name and trigger hist id are bad
DescriptionScenario:

1. Stop the Routing Job.
2. Capture a change in a table (say, the "ITEM") table
3. Modify the sym_data record to use an invalid table name and a non-existent trigger hist id (for example:
update sym_data set trigger_hist_id=36, table_name='ASDF' where data_id=371

4. Run routing.
5. An unrouted batch will be created, with a warning.
6. Go to the Outgoing Batches screen.

Issue 1: The Table name shown on the Batch summary is neither the invalid table name or the actual table name, but instead is some other table name for which a trigger history exists (in my case, table "foo").

Issue 2: If you go to the batch details, then click on the Captured Data tab, SymmetricDS null pointers:

[corp-000] - DataService - A captured data row could not be matched with an existing trigger history row and we could not find a matching trigger. The data_id of 370 (table ASF) will be ignored
[corp-000] - AppUI - Unable to invoke method setSelected in com.vaadin.shared.ui.tabsheet.TabsheetServerRpc
com.vaadin.server.ServerRpcManager$RpcInvocationException: Unable to invoke method setSelected in com.vaadin.shared.ui.tabsheet.TabsheetServerRpc
    at com.vaadin.server.ServerRpcManager.applyInvocation(ServerRpcManager.java:159)
    at com.vaadin.server.ServerRpcManager.applyInvocation(ServerRpcManager.java:116)
    at com.vaadin.server.communication.ServerRpcHandler.handleInvocation(ServerRpcHandler.java:445)
    at com.vaadin.server.communication.ServerRpcHandler.handleInvocations(ServerRpcHandler.java:410)
    at com.vaadin.server.communication.ServerRpcHandler.handleRpc(ServerRpcHandler.java:274)
    at com.vaadin.server.communication.PushHandler.lambda$new$1(PushHandler.java:148)
    at com.vaadin.server.communication.PushHandler.callWithUi(PushHandler.java:248)
    at com.vaadin.server.communication.PushHandler.onMessage(PushHandler.java:534)
    at com.vaadin.server.communication.PushAtmosphereHandler.onMessage(PushAtmosphereHandler.java:87)
    at com.vaadin.server.communication.PushAtmosphereHandler.onRequest(PushAtmosphereHandler.java:77)
    at org.atmosphere.cpr.AsynchronousProcessor.action(AsynchronousProcessor.java:225)
    at org.atmosphere.cpr.AsynchronousProcessor.suspended(AsynchronousProcessor.java:114)
    at org.atmosphere.container.Servlet30CometSupport.service(Servlet30CometSupport.java:67)
    at org.atmosphere.cpr.AtmosphereFramework.doCometSupport(AtmosphereFramework.java:2297)
    at org.atmosphere.websocket.DefaultWebSocketProcessor.dispatch(DefaultWebSocketProcessor.java:594)
    at org.atmosphere.websocket.DefaultWebSocketProcessor$3.run(DefaultWebSocketProcessor.java:345)
    at org.atmosphere.util.VoidExecutorService.execute(VoidExecutorService.java:101)
    at org.atmosphere.websocket.DefaultWebSocketProcessor.dispatch(DefaultWebSocketProcessor.java:340)
    at org.atmosphere.websocket.DefaultWebSocketProcessor.invokeWebSocketProtocol(DefaultWebSocketProcessor.java:448)
    at org.atmosphere.container.JSR356Endpoint$3.onMessage(JSR356Endpoint.java:272)
    at org.atmosphere.container.JSR356Endpoint$3.onMessage(JSR356Endpoint.java:269)
    at org.eclipse.jetty.websocket.jsr356.messages.TextWholeMessage.messageComplete(TextWholeMessage.java:59)
    at org.eclipse.jetty.websocket.jsr356.endpoints.JsrEndpointEventDriver.onTextFrame(JsrEndpointEventDriver.java:218)
    at org.eclipse.jetty.websocket.common.events.AbstractEventDriver.incomingFrame(AbstractEventDriver.java:150)
    at org.eclipse.jetty.websocket.common.WebSocketSession.incomingFrame(WebSocketSession.java:319)
    at org.eclipse.jetty.websocket.common.extensions.AbstractExtension.nextIncomingFrame(AbstractExtension.java:147)
    at org.eclipse.jetty.websocket.common.extensions.compress.PerMessageDeflateExtension.nextIncomingFrame(PerMessageDeflateExtension.java:112)
    at org.eclipse.jetty.websocket.common.extensions.compress.CompressExtension.forwardIncoming(CompressExtension.java:142)
    at org.eclipse.jetty.websocket.common.extensions.compress.PerMessageDeflateExtension.incomingFrame(PerMessageDeflateExtension.java:92)
    at org.eclipse.jetty.websocket.common.extensions.ExtensionStack.incomingFrame(ExtensionStack.java:201)
    at org.eclipse.jetty.websocket.common.Parser.notifyFrame(Parser.java:226)
    at org.eclipse.jetty.websocket.common.Parser.parseSingleFrame(Parser.java:260)
    at org.eclipse.jetty.websocket.common.io.AbstractWebSocketConnection.readParse(AbstractWebSocketConnection.java:583)
    at org.eclipse.jetty.websocket.common.io.AbstractWebSocketConnection.onFillable(AbstractWebSocketConnection.java:441)
    at org.eclipse.jetty.websocket.common.io.AbstractWebSocketConnection.onFillable(AbstractWebSocketConnection.java:428)
    at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)
    at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
    at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:117)
    at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)
    at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)
    at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
    at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)
    at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)
    at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:781)
    at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:917)
    at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: java.lang.reflect.InvocationTargetException
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:566)
    at com.vaadin.server.ServerRpcManager.applyInvocation(ServerRpcManager.java:155)
    ... 45 more
Caused by: com.vaadin.event.ListenerMethod$MethodException: Invocation of method selectedTabChange in com.jumpmind.symmetric.console.impl.cj$3 failed.
    at com.vaadin.event.ListenerMethod.receiveEvent(ListenerMethod.java:519)
    at com.vaadin.event.EventRouter.fireEvent(EventRouter.java:273)
    at com.vaadin.event.EventRouter.fireEvent(EventRouter.java:237)
    at com.vaadin.server.AbstractClientConnector.fireEvent(AbstractClientConnector.java:1014)
    at com.vaadin.ui.TabSheet.fireSelectedTabChange(TabSheet.java:920)
    at com.vaadin.ui.TabSheet.setSelectedTab(TabSheet.java:573)
    at com.vaadin.ui.TabSheet$TabsheetServerRpcImpl.setSelected(TabSheet.java:92)
    ... 50 more
Caused by: java.lang.NullPointerException
    at com.jumpmind.symmetric.console.impl.B.generateMissingPkData(BatchDataGrid.java:213)
    at com.jumpmind.symmetric.console.impl.B.<init>(BatchDataGrid.java:79)
    at com.jumpmind.symmetric.console.impl.cj.b(BatchWindow.java:484)
    at com.jumpmind.symmetric.console.impl.cj$3.selectedTabChange(BatchWindow.java:206)
    at jdk.internal.reflect.GeneratedMethodAccessor52.invoke(Unknown Source)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:566)
    at com.vaadin.event.ListenerMethod.receiveEvent(ListenerMethod.java:499)
    ... 56 more
TagsNo tags attached.

Activities

There are no notes attached to this issue.

Related Changesets

SymmetricDS: 3.11 e284cbd8

2019-12-12 14:01:54

admin

Details Diff
0004203: Captured Data on the Batch Details screen Null Pointers when
table name and trigger hist id are bad
Affected Issues
0004203
mod - symmetric-core/src/main/java/org/jumpmind/symmetric/service/impl/DataService.java Diff File

Issue History

Date Modified Username Field Change
2019-12-12 18:00 hanes New Issue
2019-12-12 18:01 hanes Status new => confirmed
2019-12-12 19:13 elong Assigned To => elong
2019-12-12 19:13 elong Status confirmed => resolved
2019-12-12 19:13 elong Resolution open => fixed
2019-12-12 19:13 elong Fixed in Version => 3.11.3
2019-12-12 19:14 elong Product Version 3.11.2 => 3.11.0
2019-12-12 19:14 elong Target Version => 3.11.3
2019-12-12 20:00 admin Changeset attached => SymmetricDS 3.11 e284cbd8
2020-01-02 15:12 admin Status resolved => closed