|   | 
      | 
  
  
      | 
      | 
  
 
     | 
    | 
  
  
     | 
    | 
  
  
    |   | 
      | 
  
  
    | 
         
xen-api
[Xen-API] [PATCH] CA-36633: backoff delay when retrying master	connectio
 
# HG changeset patch
# User Marcus Granado <marcus.granado@xxxxxxxxxx>
# Date 1266426911 0
# Node ID 87b760a0d42c2182afaec305c5cb437540832fbc
# Parent  6d66c87993de600782428fecd670a43c8d67601e
CA-36633: backoff delay when retrying master connection
Signed-off-by: Marcus Granado <marcus.granado@xxxxxxxxxxxxx>
diff -r 6d66c87993de -r 87b760a0d42c ocaml/database/master_connection.ml
--- a/ocaml/database/master_connection.ml       Wed Feb 17 17:15:11 2010 +0000
+++ b/ocaml/database/master_connection.ml       Wed Feb 17 17:15:11 2010 +0000
@@ -112,6 +112,12 @@
   let write_ok = ref false in
   let result = ref (Xml.PCData "") in
   let surpress_no_timeout_logs = ref false in
+  let backoff_delay = ref 2.0 in (* initial delay = 2s *)
+  let update_backoff_delay () =
+    backoff_delay := !backoff_delay *. 2.0;
+    if !backoff_delay < 2.0 then backoff_delay := 2.0 
+    else if !backoff_delay > 256.0 then backoff_delay := 256.0
+  in  
   while (not !write_ok)
   do
     begin
@@ -175,7 +181,9 @@
                    raise Cannot_connect_to_master
                  end
              end;
-           Thread.delay 2.0;
+           debug "Sleeping %f seconds before retrying master connection..." 
!backoff_delay;
+           Thread.delay !backoff_delay;
+           update_backoff_delay ();
            try
              open_secure_connection()
            with _ -> () (* oh well, maybe nextime... *)
1 file changed, 9 insertions(+), 1 deletion(-)
ocaml/database/master_connection.ml |   10 +++++++++-
 
xen-api.hg.patch 
Description: Text Data 
_______________________________________________
xen-api mailing list
xen-api@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/mailman/listinfo/xen-api
 
 |   
 
| <Prev in Thread] | 
Current Thread | 
[Next in Thread> |  
- [Xen-API] [PATCH] CA-36633: backoff delay when retrying master	connection,
Marcus Granado <=
  
 |  
  
 | 
    | 
  
  
    |   | 
    |