View Issue Details

IDProjectCategoryView StatusLast Update
0004444SymmetricDSImprovementpublic2020-06-24 16:47
ReporterelongAssigned Toelong 
Prioritynormal 
Status closedResolutionfixed 
Product Version3.12.0 
Target Version3.12.1Fixed in Version3.12.1 
Summary0004444: Push job gets error writing request body
DescriptionThe push job at the client can receive an error writing the request, while the server has nothing in the logs:

ERROR [acm-3] [DataExtractorService] [acm-3-push-default-3] ParameterizedMessage[messagePattern=Failed to extract batch {}, stringArgs=[4-1477516, java.lang.RuntimeException: java.io.IOException: Error writing request body to server], throwable=java.lang.RuntimeException: java.io.IOException: Error writing request body to server] StackTraceKey.init [RuntimeException:2661209486]
java.lang.RuntimeException: java.io.IOException: Error writing request body to server
        at org.jumpmind.symmetric.service.impl.DataExtractorService.transferFromStaging(DataExtractorService.java:1567) ~[symmetric-core-3.12.0.1.jar:3.12.0.1]
        at org.jumpmind.symmetric.service.impl.DataExtractorService.sendOutgoingBatch(DataExtractorService.java:1423) ~[symmetric-core-3.12.0.1.jar:3.12.0.1]
        at org.jumpmind.symmetric.service.impl.DataExtractorService.extract(DataExtractorService.java:780) [symmetric-core-3.12.0.1.jar:3.12.0.1]
        at org.jumpmind.symmetric.service.impl.DataExtractorService.extract(DataExtractorService.java:569) [symmetric-core-3.12.0.1.jar:3.12.0.1]
        at org.jumpmind.symmetric.service.impl.PushService.pushToNode(PushService.java:206) [symmetric-core-3.12.0.1.jar:3.12.0.1]
        at org.jumpmind.symmetric.service.impl.PushService.execute(PushService.java:167) [symmetric-core-3.12.0.1.jar:3.12.0.1]
        at org.jumpmind.symmetric.service.impl.NodeCommunicationService$1.run(NodeCommunicationService.java:519) [symmetric-core-3.12.0.1.jar:3.12.0.1]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?:1.8.0_20]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:1.8.0_20]
        at java.lang.Thread.run(Thread.java:745) [?:1.8.0_20]
Caused by: java.io.IOException: Error writing request body to server
        at sun.net.www.protocol.http.HttpURLConnection$StreamingOutputStream.checkError(HttpURLConnection.java:3465) ~[?:1.8.0_20]
        at sun.net.www.protocol.http.HttpURLConnection$StreamingOutputStream.write(HttpURLConnection.java:3448) ~[?:1.8.0_20]
        at java.util.zip.DeflaterOutputStream.deflate(DeflaterOutputStream.java:253) ~[?:1.8.0_20]
        at java.util.zip.DeflaterOutputStream.write(DeflaterOutputStream.java:211) ~[?:1.8.0_20]
        at java.util.zip.GZIPOutputStream.write(GZIPOutputStream.java:145) ~[?:1.8.0_20]
        at sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:221) ~[?:1.8.0_20]
        at sun.nio.cs.StreamEncoder.implWrite(StreamEncoder.java:282) ~[?:1.8.0_20]
        at sun.nio.cs.StreamEncoder.write(StreamEncoder.java:125) ~[?:1.8.0_20]
        at java.io.OutputStreamWriter.write(OutputStreamWriter.java:207) ~[?:1.8.0_20]
        at java.io.BufferedWriter.write(BufferedWriter.java:188) ~[?:1.8.0_20]
        at org.jumpmind.symmetric.service.impl.DataExtractorService.writeBatchStats(DataExtractorService.java:1687) ~[symmetric-core-3.12.0.1.jar:3.12.0.1]
        at org.jumpmind.symmetric.service.impl.DataExtractorService.transferFromStaging(DataExtractorService.java:1508) ~[symmetric-core-3.12.0.1.jar:3.12.0.1]
Steps To ReproduceSetup group links for only push, or disable the pull job
Update sym_node_security on server to set registration_enabled = 1, registration_time = null for client
The actual exception may or may not reproduce. When exception was occurring, switching between okhttp and JDK did not help. Unsure how to reproduce reliably.
Additional InformationThe client sends a HEAD and gets 200, so it attempts a PUT with the batch data. The server gets the PUT and immediately returns a 667 or 657 because the registration flag is on, without reading the batch. Because the client's output isn't read, it gets an exception.
Tagsdata sync

Activities

There are no notes attached to this issue.

Related Changesets

SymmetricDS: 3.12 57ebc9e7

2020-06-23 13:47:33

admin

Details Diff
0004444: Push job gets error writing request body
0004444
mod - symmetric-server/src/main/java/org/jumpmind/symmetric/web/NodeConcurrencyInterceptor.java Diff File
mod - symmetric-server/src/main/java/org/jumpmind/symmetric/web/PushUriHandler.java Diff File
mod - symmetric-server/src/main/java/org/jumpmind/symmetric/web/ServerSymmetricEngine.java Diff File

SymmetricDS: 3.12 fe72691c

2020-06-23 13:54:20

admin

Details Diff
0004444: Push job gets error writing request body
0004444
mod - symmetric-core/src/main/java/org/jumpmind/symmetric/service/impl/BandwidthService.java Diff File

Issue History

Date Modified Username Field Change
2020-06-23 13:43 elong New Issue
2020-06-23 13:43 elong Status new => assigned
2020-06-23 13:43 elong Assigned To => elong
2020-06-23 13:43 elong Tag Attached: data sync
2020-06-23 13:47 elong Status assigned => resolved
2020-06-23 13:47 elong Resolution open => fixed
2020-06-23 13:47 elong Fixed in Version => 3.12.1
2020-06-23 14:00 admin Changeset attached => SymmetricDS 3.12 fe72691c
2020-06-23 14:00 admin Changeset attached => SymmetricDS 3.12 57ebc9e7
2020-06-24 16:47 admin Status resolved => closed