mit SVN 4556 habe ich nun wegen den aktuellen Problemen mit dem  
Abreissen der Verbindung nun den gegenteiligen Kurs angesteuert, um  
das Beenden von Verbindungen möglichst zu vermeiden. Verbindungen die  
keinen Traffic mehr haben werden aber wegen dem Watchdog, der  
irgenwann dazugekommen ist wieder gekillt. Ich hoffe also dass das  
ursprüngliche Problem nicht mehr auftritt, bitte beobachten.


Am 03.10.2007 um 14:18 schrieb [EMAIL PROTECTED]:

> Author: fuchsi
> Date: 2007-10-03 14:18:26 +0200 (Wed, 03 Oct 2007)
> New Revision: 4132
>
> Modified:
>   trunk/source/de/anomic/http/httpc.java
> Log:
> Make sure that sockets which couldn't be opened aren't handled as  
> active connections, in which case they wouldn't be closed.
>
> Please test this and report any problems (connections that stay open  
> for a very long time according to http://<your_yacy_peed>/ 
> Connections_p.html to http://forum.yacy-websuche.de/viewtopic.php?f=5&t=386
>
> Modified: trunk/source/de/anomic/http/httpc.java
> ===================================================================
> --- trunk/source/de/anomic/http/httpc.java    2007-10-03 04:00:52 UTC  
> (rev 4131)
> +++ trunk/source/de/anomic/http/httpc.java    2007-10-03 12:18:26 UTC  
> (rev 4132)
> @@ -227,8 +227,9 @@
>             String outgoingByteCountAccounting
>     ) throws IOException {
>
> +        // TODO method can be removed completely when no more  
> CLOSE_WAIT connections appear.
>       // remove old connections
> -     checkIdleConnections();
> +     //checkIdleConnections();
>       
>       // register new connection
>       this.hashIndex = objCounter;
> @@ -390,13 +391,9 @@
>
>             // trying to establish a connection to the address
>             this.initTime = System.currentTimeMillis();
> +            this.socket.setKeepAlive(false); //
>             this.socket.connect(address, timeout);
>
> -            // setting socket timeout and keep alive behaviour
> -            this.socket.setSoTimeout(timeout); // waiting time for  
> read
> -            //socket.setSoLinger(true, timeout);
> -            this.socket.setKeepAlive(false); //
> -
>             if (incomingByteCountAccounting != null) {
>                 this.clientInputByteCount = new  
> httpdByteCountInputStream 
> (this.socket.getInputStream(),incomingByteCountAccounting);
>             }
> @@ -418,6 +415,14 @@
>             }
>             this.socket = null;
>             throw new IOException("unknown host: " + server);
> +        } catch (IOException e) {
> +            // There was an error while connecting the socket,  
> probably a SocketTimeoutException
> +            // we have to close the httpc, otherwise it would stay  
> in activeConnections forever
> +            serverLog.logFine("HTTPC", "Couldn't open socket to: "  
> + this.adressed_host + ":" + this.adressed_port);
> +            close();
> +
> +            // TODO do we need to hand it over to the caller?
> +            throw e;
>         }
>     }
>
> @@ -429,6 +434,7 @@
>         return (this.clientOutputByteCount == null)? 
> 0:this.clientOutputByteCount.getCount();
>     }
>
> +    // TODO remove when it's sure that the CLOSE_WAIT problem was  
> solved.
>     public static int checkIdleConnections() {
>         // try to find and close all connections that did not find a  
> target server and are idle waiting for a server socket
>
> @@ -508,7 +514,7 @@
>
>     public void close() {
>       synchronized (activeConnections)  
> {activeConnections.remove(this);}
> -     //System.out.println("*** DEBUG close httpc: " +  
> activeConnections.size() + " connections online");
> +     System.out.println("*** DEBUG close httpc: " +  
> activeConnections.size() + " connections online");
>       
>         if (this.clientInput != null) {
>             try {this.clientInput.close();} catch (Exception e) {}
>
> _______________________________________________
> YaCy-svn mailing list
> [email protected]
> https://lists.berlios.de/mailman/listinfo/yacy-svn

_______________________________________________
YaCy-svn mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/yacy-svn

Antwort per Email an