[ 
https://issues.apache.org/jira/browse/ZOOKEEPER-776?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Gregory Haskins updated ZOOKEEPER-776:
--------------------------------------

    Status: Patch Available  (was: Open)

commit 840f56d388582e1df39f7513aa7f4d4ce0610718
Author: Gregory Haskins <ghask...@novell.com>
Date:   Fri May 21 14:58:14 2010 -0400

    javaclient: validate sessionTimeout field at ZooKeeper init
    
    JIRA ZOOKEEPER-776 describes the following problem:
    
    passing in a "0" sessionTimeout to ZooKeeper() constructor leads to errors
    in subsequent operations. It would be ideal to capture this configuration
    error at the source by throwing something like an IllegalArgument exception
    when the bogus sessionTimeout is specified, instead of later when it is
    utilized.
    
    This patch is a proposal to fix the problem referenced above.
    
    Signed-off-by: Gregory Haskins <ghask...@novell.com>

diff --git a/src/java/main/org/apache/zookeeper/ClientCnxn.java b/src/java/main/
index 8eb227d..682811b 100644
--- a/src/java/main/org/apache/zookeeper/ClientCnxn.java
+++ b/src/java/main/org/apache/zookeeper/ClientCnxn.java
@@ -353,6 +353,11 @@ public class ClientCnxn {
         this.sessionId = sessionId;
         this.sessionPasswd = sessionPasswd;
 
+       if (sessionTimeout <= 0) {
+           throw new IOException("sessionTimeout " + sessionTimeout
+                                 + " is not valid");
+       }
+
         // parse out chroot, if any
         int off = hosts.indexOf('/');
         if (off >= 0) {

> API should sanity check sessionTimeout argument
> -----------------------------------------------
>
>                 Key: ZOOKEEPER-776
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-776
>             Project: Zookeeper
>          Issue Type: Improvement
>          Components: c client, java client
>    Affects Versions: 3.3.1, 3.3.0, 3.2.2
>         Environment: OSX 10.6.3, JVM 1.6.0-20
>            Reporter: Gregory Haskins
>            Priority: Minor
>             Fix For: 3.4.0
>
>
> passing in a "0" sessionTimeout to ZooKeeper() constructor leads to errors in 
> subsequent operations.  It would be ideal to capture this configuration error 
> at the source by throwing something like an IllegalArgument exception when 
> the bogus sessionTimeout is specified, instead of later when it is utilized.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to