Marek Neumann created BATIK-1366:
------------------------------------

             Summary: Timeouts missing in URLConnection of ParsedURLData
                 Key: BATIK-1366
                 URL: https://issues.apache.org/jira/browse/BATIK-1366
             Project: Batik
          Issue Type: Bug
    Affects Versions: 1.17
            Reporter: Marek Neumann
         Attachments: setting_timeouts_on_ParsedURLData.patch

We encounter several long running threads being stuck in building up http 
connections:

 
{code:java}
java.base@17.0.7/sun.nio.ch.Net.poll(Native Method)
        java.base@17.0.7/sun.nio.ch.NioSocketImpl.park(NioSocketImpl.java:181)
        
java.base@17.0.7/sun.nio.ch.NioSocketImpl.timedFinishConnect(NioSocketImpl.java:548)
        
java.base@17.0.7/sun.nio.ch.NioSocketImpl.connect(NioSocketImpl.java:597)
        java.base@17.0.7/java.net.Socket.connect(Socket.java:633)
        
java.base@17.0.7/sun.net.NetworkClient.doConnect(NetworkClient.java:181)
        
java.base@17.0.7/sun.net.www.http.HttpClient.openServer(HttpClient.java:531)
        
java.base@17.0.7/sun.net.www.http.HttpClient.openServer(HttpClient.java:636)
        
java.base@17.0.7/sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:779)
        
java.base@17.0.7/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1688)
        
java.base@17.0.7/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1589)
        
java.base@17.0.7/sun.net.www.protocol.http.HttpURLConnection.getHeaderField(HttpURLConnection.java:3243)
        
java.base@17.0.7/java.net.URLConnection.getContentType(URLConnection.java:520)
        
app//org.apache.batik.util.ParsedURLData.openStreamInternal(ParsedURLData.java:548)
        
app//org.apache.batik.util.ParsedURLData.openStream(ParsedURLData.java:476)
        app//org.apache.batik.util.ParsedURL.openStream(ParsedURL.java:440)
        
app//org.apache.batik.bridge.SVGImageElementBridge.openStream(SVGImageElementBridge.java:414)
        
app//org.apache.batik.bridge.SVGImageElementBridge.createImageGraphicsNode(SVGImageElementBridge.java:244)
        
app//org.apache.batik.bridge.SVGImageElementBridge.buildImageGraphicsNode(SVGImageElementBridge.java:179)
        
app//org.apache.batik.bridge.SVGImageElementBridge.createGraphicsNode(SVGImageElementBridge.java:121)
        
app//org.apache.batik.bridge.GVTBuilder.buildGraphicsNode(GVTBuilder.java:213)
        
app//org.apache.batik.bridge.GVTBuilder.buildComposite(GVTBuilder.java:171)
        app//org.apache.batik.bridge.GVTBuilder.build(GVTBuilder.java:82)
        
app//org.apache.batik.transcoder.SVGAbstractTranscoder.transcode(SVGAbstractTranscoder.java:210)
        
app//org.apache.batik.transcoder.image.ImageTranscoder.transcode(ImageTranscoder.java:92)
        
app//org.apache.batik.transcoder.XMLAbstractTranscoder.transcode(XMLAbstractTranscoder.java:142)
        
app//org.apache.batik.transcoder.SVGAbstractTranscoder.transcode(SVGAbstractTranscoder.java:158)
 {code}
Looking at the code ParsedURLData does not seem to set any timeout (neither 
connect nor read timeout) on the used java.net.URLConnection in 
org/apache/batik/util/ParsedURLData.java:524.

I will attach a possible change which sets read and connect timeouts. The unit 
test demonstrates that the read timeout is used accordingly. Likely the 
location is not ideal and can be made configurable but I would leave it up to 
the Batik devs.

 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: batik-dev-unsubscr...@xmlgraphics.apache.org
For additional commands, e-mail: batik-dev-h...@xmlgraphics.apache.org

Reply via email to