View Issue Details

IDProjectCategoryView StatusLast Update
0004366SymmetricDS ProBugpublic2021-07-13 19:48
Reporterpmarzullo Assigned Toelong  
Prioritynormal 
Status closedResolutionfixed 
Product Version3.11.8 
Target Version3.12.11Fixed in Version3.12.11 
Summary0004366: Manage outgoing loads screen does not update completed tables with last set of active tables when those tables are complete
DescriptionSee screen shot attached.

All the check marks on the active tables panel are checked, but they have not been moved to the completed tables.
Tagsinitial/partial load

Activities

pmarzullo

2020-04-24 16:32

developer  

image004.jpg (80,919 bytes)   
image004.jpg (80,919 bytes)   

elong

2020-05-12 16:47

developer   ~0001715

How do you reproduce this? My tables always move over to completed. I also tried using tables with zero rows as the last tables.

pmarzullo

2020-07-20 13:29

developer   ~0001736

This was a customer screen shot.

I never tried to reproduce this, just wanted to capture the problem that the customer saw.

This is the only error that I see in the log:

2020-04-28 17:48:42,536 ERROR [Central] [AppUI] [qtp17654718-33084] Unable to invoke method setSelected in com.vaadin.shared.ui.tabsheet.TabsheetServerRpc StackTraceKey.init [RpcInvocationException:2830093444]
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:217)
    at org.eclipse.jetty.websocket.common.events.AbstractEventDriver.incomingFrame(AbstractEventDriver.java:150)
    at org.eclipse.jetty.websocket.common.WebSocketSession.incomingFrame(WebSocketSession.java:322)
    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:168)
    at org.eclipse.jetty.websocket.common.extensions.compress.PerMessageDeflateExtension.incomingFrame(PerMessageDeflateExtension.java:92)
    at org.eclipse.jetty.websocket.common.extensions.ExtensionStack.incomingFrame(ExtensionStack.java:202)
    at org.eclipse.jetty.websocket.common.Parser.notifyFrame(Parser.java:225)
    at org.eclipse.jetty.websocket.common.Parser.parseSingleFrame(Parser.java:259)
    at org.eclipse.jetty.websocket.common.io.AbstractWebSocketConnection.onFillable(AbstractWebSocketConnection.java:460)
    at org.eclipse.jetty.websocket.common.io.AbstractWebSocketConnection.onFillable(AbstractWebSocketConnection.java:441)
    at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)
    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:336)
    at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:313)
    at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171)
    at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:129)
    at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:388)
    at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:806)
    at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:938)
    at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.reflect.InvocationTargetException
    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 com.vaadin.server.ServerRpcManager.applyInvocation(ServerRpcManager.java:155)
    ... 44 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)
    ... 49 more
Caused by: org.jumpmind.exception.IoException: java.io.EOFException: Unexpected end of ZLIB input stream
    at org.jumpmind.symmetric.io.data.reader.ProtocolDataReader.readNext(ProtocolDataReader.java:308)
    at com.jumpmind.symmetric.console.impl.cj.a(BatchWindow.java:771)
    at com.jumpmind.symmetric.console.impl.cj.g(BatchWindow.java:739)
    at com.jumpmind.symmetric.console.impl.cj.d(BatchWindow.java:522)
    at com.jumpmind.symmetric.console.impl.cj$3.selectedTabChange(BatchWindow.java:208)
    at sun.reflect.GeneratedMethodAccessor43.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at com.vaadin.event.ListenerMethod.receiveEvent(ListenerMethod.java:499)
    ... 55 more
Caused by: java.io.EOFException: Unexpected end of ZLIB input stream
    at java.util.zip.InflaterInputStream.fill(Unknown Source)
    at java.util.zip.InflaterInputStream.read(Unknown Source)
    at java.util.zip.GZIPInputStream.read(Unknown Source)
    at sun.nio.cs.StreamDecoder.readBytes(Unknown Source)
    at sun.nio.cs.StreamDecoder.implRead(Unknown Source)
    at sun.nio.cs.StreamDecoder.read(Unknown Source)
    at java.io.InputStreamReader.read(Unknown Source)
    at java.io.BufferedReader.fill(Unknown Source)
    at java.io.BufferedReader.read1(Unknown Source)
    at java.io.BufferedReader.read(Unknown Source)
    at org.jumpmind.symmetric.csv.CsvReader.checkDataLength(CsvReader.java:1160)
    at org.jumpmind.symmetric.csv.CsvReader.readRecord(CsvReader.java:637)
    at org.jumpmind.symmetric.io.data.reader.ProtocolDataReader.readNext(ProtocolDataReader.java:145)
    ... 63 more

JJ_Starrett

2020-07-31 17:49

developer   ~0001744

In DataExtractorServiceSqlMap updateExtractRequestLoadTime sets the loaded_time when end_batch_id matches the current batch_id

selectIncompleteTablesForExtractByLoadId and selectCompletedTablesForExtractByLoadId build a set of incomplete and completed tables. Incompletes are sorted to pending and active panels, while completed are sorted to completed panel.

However, the active panel puts a checkmark under its loaded column when ReloadStatus is marked as complete (when batch counts are at the right number), while the completed panel checks load_time to not be null (as stated above) to put the table in its panel.

So, if end_batch_id is never hit or hit in the wrong order, the loaded_time is set as null despite the batch being marked as complete in ReloadStatus. This leads to the inconsistency between the second and third panels.

elong

2021-06-22 19:12

developer   ~0001960

This happens when sym_channel.max_batch_to_send > 1 and the remote status shows a tables as complete before the acknowledgment is received. A workaround is to set sym_channel.max_batch_to_send = 1.

Issue History

Date Modified Username Field Change
2020-04-24 16:32 pmarzullo New Issue
2020-04-24 16:32 pmarzullo File Added: image004.jpg
2020-04-24 16:32 pmarzullo Tag Attached: initial/partial load
2020-05-12 16:47 elong Note Added: 0001715
2020-05-26 12:24 elong Target Version 3.11.9 => 3.11.10
2020-05-26 12:24 elong Description Updated View Revisions
2020-06-24 20:34 elong Target Version 3.11.10 => 3.12.2
2020-07-20 13:10 elong Target Version 3.12.2 => 3.12.3
2020-07-20 13:10 elong Assigned To => elong
2020-07-20 13:10 elong Status new => feedback
2020-07-20 13:29 pmarzullo Note Added: 0001736
2020-07-20 13:29 pmarzullo Status feedback => assigned
2020-07-23 14:03 elong Assigned To elong =>
2020-07-23 14:03 elong Status assigned => acknowledged
2020-07-31 17:49 JJ_Starrett Note Added: 0001744
2020-08-31 19:44 elong Target Version 3.12.3 => 3.12.4
2020-09-23 15:33 admin Target Version 3.12.4 => 3.12.5
2020-11-09 13:49 admin Target Version 3.12.5 => 3.12.6
2021-01-08 20:46 admin Target Version 3.12.6 => 3.12.7
2021-02-25 13:10 admin Target Version 3.12.7 => 3.12.8
2021-03-30 19:14 admin Target Version 3.12.8 => 3.12.9
2021-04-28 14:43 admin Target Version 3.12.9 => 3.12.10
2021-05-28 11:55 admin Target Version 3.12.10 => 3.12.11
2021-06-22 19:12 elong Note Added: 0001960
2021-06-22 19:12 elong Assigned To => elong
2021-06-22 19:12 elong Status acknowledged => resolved
2021-06-22 19:12 elong Resolution open => fixed
2021-06-22 19:12 elong Fixed in Version => 3.12.11
2021-07-13 19:48 admin Status resolved => closed