<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:st1="urn:schemas-microsoft-com:office:smarttags" xmlns="http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=Content-Type content="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 11 (filtered medium)">
<!--[if !mso]>
<style>
v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style>
<![endif]--><o:SmartTagType
 namespaceuri="urn:schemas-microsoft-com:office:smarttags" name="PersonName"/>
<!--[if !mso]>
<style>
st1\:*{behavior:url(#default#ieooui) }
</style>
<![endif]-->
<style>
<!--
 /* Font Definitions */
 @font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman";}
a:link, span.MsoHyperlink
        {color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal;
        font-family:Arial;
        color:windowtext;}
span.EmailStyle18
        {mso-style-type:personal-reply;
        font-family:Arial;
        color:navy;}
@page Section1
        {size:595.3pt 841.9pt;
        margin:70.85pt 70.85pt 70.85pt 70.85pt;}
div.Section1
        {page:Section1;}
-->
</style>

</head>

<body lang=RO link=blue vlink=purple>

<div class=Section1>

<p class=MsoNormal><font size=2 color=navy face=Arial><span lang=EN-GB
style='font-size:10.0pt;font-family:Arial;color:navy'>Hello again, <o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span lang=EN-GB
style='font-size:10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span lang=EN-GB
style='font-size:10.0pt;font-family:Arial;color:navy'>In order to solve the problem
described in previous email, I made some changes in pool_connection_pool.c
file. The changes are listed below. Basically I wrote a new method : </span></font><font
size=1 color=black face="Courier New"><span lang=EN-GB style='font-size:8.0pt;
font-family:"Courier New";color:black'>reinitCurrentCluster </span></font><font
size=2 color=navy face=Arial><span lang=EN-GB style='font-size:10.0pt;
font-family:Arial;color:navy'>to find a new value for CurrentCluster variable, if
an error is found when connecting to one node in cluster. Now in method </span></font><font
size=1 color=black face="Courier New"><span lang=EN-GB style='font-size:8.0pt;
font-family:"Courier New";color:black'>create_cp</span></font><font size=2
color=navy face=Arial><span lang=EN-GB style='font-size:10.0pt;font-family:
Arial;color:navy'> a loop exists: from label</span></font><font size=1
color=navy face=Arial><span lang=EN-GB style='font-size:8.0pt;font-family:Arial;
color:navy'> tryConnect</span></font><font size=2 color=navy face=Arial><span
lang=EN-GB style='font-size:10.0pt;font-family:Arial;color:navy'> .... up to &nbsp;</span></font><font
size=1 color=navy face=Arial><span lang=EN-GB style='font-size:8.0pt;
font-family:Arial;color:navy'>goto tryConnect</span></font><font size=2
color=navy face=Arial><span lang=EN-GB style='font-size:10.0pt;font-family:
Arial;color:navy'>. We exit this loop when a valid DB node is found or when no
more nodes with status TBL_INIT or TBL_USE exist.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span lang=EN-GB
style='font-size:10.0pt;font-family:Arial;color:navy'>What do you thing about these
changes? I already tested them and they seem to work fine. Is there any chance
to be included in Cybercluster release code?<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span lang=EN-GB
style='font-size:10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span lang=EN-GB
style='font-size:10.0pt;font-family:Arial;color:navy'>Appendix:
pool_connection_pool.c file<o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 color=navy
face=Arial><span style='font-size:10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 color=navy
face=Arial><span style='font-size:10.0pt;font-family:Arial;color:navy'>.......<o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><b><font size=1 color=black
face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New";
color:black;font-weight:bold'>stati</span></font></b><b><font size=1
color="#7f0055" face="Courier New"><span style='font-size:8.0pt;font-family:
"Courier New";color:#7F0055;font-weight:bold'>c</span></font></b><font size=1
color=black face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New";
color:black'> </span></font><b><font size=1 color="#7f0055" face="Courier New"><span
style='font-size:8.0pt;font-family:"Courier New";color:#7F0055;font-weight:
bold'>int</span></font></b><font size=1 color=black face="Courier New"><span
style='font-size:8.0pt;font-family:"Courier New";color:black'>
reinitCurrentCluster(</span></font><b><font size=1 color="#7f0055"
face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New";
color:#7F0055;font-weight:bold'>void</span></font></b><font size=1 color=black
face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New";
color:black'>);<o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><b><font size=1 color=black
face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New";
color:black;font-weight:bold'>............<o:p></o:p></span></font></b></p>

<p class=MsoNormal style='text-autospace:none'><b><font size=1 color=black
face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New";
color:black;font-weight:bold'>stati</span></font></b><b><font size=1
color="#7f0055" face="Courier New"><span style='font-size:8.0pt;font-family:
"Courier New";color:#7F0055;font-weight:bold'>c</span></font></b><font size=1
color=black face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New";
color:black'> </span></font><b><font size=1 color="#7f0055" face="Courier New"><span
style='font-size:8.0pt;font-family:"Courier New";color:#7F0055;font-weight:
bold'>int</span></font></b><font size=1 color=black face="Courier New"><span
style='font-size:8.0pt;font-family:"Courier New";color:black'>
reinitCurrentCluster(</span></font><b><font size=1 color="#7f0055"
face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New";
color:#7F0055;font-weight:bold'>void</span></font></b><font size=1 color=black
face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New";
color:black'>){</span></font><font size=1 face="Courier New"><span
style='font-size:8.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><b><font size=1 color="#7f0055"
face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New";
color:#7F0055;font-weight:bold'>&nbsp; int</span></font></b><font size=1
color=black face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New";
color:black'> count;</span></font><font size=1 face="Courier New"><span
style='font-size:8.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=1 color=black
face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New";
color:black'>&nbsp; ClusterTbl * cluster_p = NULL;</span></font><font size=1
face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><b><font size=1 color="#7f0055"
face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New";
color:#7F0055;font-weight:bold'>&nbsp; char</span></font></b><font size=1
color=black face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New";
color:black'> * func = </span></font><font size=1 color="#2a00ff"
face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New";
color:#2A00FF'>&quot;reinitCurrentCluster()&quot;</span></font><font size=1
color=black face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New";
color:black'>;</span></font><font size=1 face="Courier New"><span
style='font-size:8.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=1 color="#3f7f5f"
face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New";
color:#3F7F5F'>&nbsp; /* get the least locaded cluster server info */</span></font><font
size=1 face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=1 color=black
face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New";
color:black'>&nbsp; cluster_p = PGRscan_cluster();</span></font><font size=1
face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=1 color=black
face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New";
color:black'>&nbsp; count = 0;</span></font><font size=1 face="Courier New"><span
style='font-size:8.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=1 color=black
face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New";
color:black'>&nbsp; </span></font><b><font size=1 color="#7f0055"
face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New";
color:#7F0055;font-weight:bold'>while</span></font></b><font size=1
color=black face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New";
color:black'> (cluster_p == NULL ){</span></font><font size=1 face="Courier New"><span
style='font-size:8.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=1 color=black
face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New";
color:black'>&nbsp;&nbsp;&nbsp; </span></font><b><font size=1 color="#7f0055"
face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New";
color:#7F0055;font-weight:bold'>if</span></font></b><font size=1 color=black
face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New";
color:black'> ( count &gt; PGLB_CONNECT_RETRY_TIME){</span></font><font size=1
face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=1 color=black
face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New";
color:black;background:white'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; show_error(</span></font><font
size=1 color="#2a00ff" face="Courier New"><span style='font-size:8.0pt;
font-family:"Courier New";color:#2A00FF;background:white'>&quot;%s:no cluster
available&quot;</span></font><font size=1 color=black face="Courier New"><span
style='font-size:8.0pt;font-family:"Courier New";color:black;background:white'>,func);</span></font><font
size=1 face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=1 color=black
face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New";
color:black;background:white'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; exit(1);</span></font><font
size=1 face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=1 color=black
face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New";
color:black;background:white'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></font><b><font
size=1 color="#7f0055" face="Courier New"><span style='font-size:8.0pt;
font-family:"Courier New";color:#7F0055;background:white;font-weight:bold'>return</span></font></b><font
size=1 color=black face="Courier New"><span style='font-size:8.0pt;font-family:
"Courier New";color:black;background:white'> STATUS_ERROR;</span></font><font
size=1 face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=1 color=black
face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New";
color:black;background:white'>&nbsp;&nbsp;&nbsp; }</span></font><font size=1
face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=1 color=black
face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New";
color:black;background:white'>&nbsp;&nbsp;&nbsp; cluster_p = PGRscan_cluster();</span></font><font
size=1 face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=1 color=black
face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New";
color:black;background:white'>&nbsp;&nbsp;&nbsp; count ++;</span></font><font
size=1 face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=1 color=black
face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New";
color:black;background:white'>&nbsp; }</span></font><font size=1
face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=1 color=black
face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New";
color:black;background:white'>&nbsp; CurrentCluster = cluster_p;</span></font><font
size=1 face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><b><font size=1 color="#7f0055"
face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New";
color:#7F0055;font-weight:bold'>&nbsp; return</span></font></b><font size=1
color=black face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New";
color:black'> STATUS_OK;</span></font><font size=1 face="Courier New"><span
style='font-size:8.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=1 color=black
face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New";
color:black'>}</span></font><font size=1 face="Courier New"><span
style='font-size:8.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=1 face="Courier New"><span
style='font-size:8.0pt;font-family:"Courier New"'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><b><font size=1 color="#7f0055"
face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New";
color:#7F0055;font-weight:bold'>static</span></font></b><font size=1
color=black face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New";
color:black'> POOL_CONNECTION_POOL_SLOT *create_cp(POOL_CONNECTION_POOL_SLOT
*cp, </span></font><b><font size=1 color="#7f0055" face="Courier New"><span
style='font-size:8.0pt;font-family:"Courier New";color:#7F0055;font-weight:
bold'>int</span></font></b><font size=1 color=black face="Courier New"><span
style='font-size:8.0pt;font-family:"Courier New";color:black'>
secondary_backend){</span></font><font size=1 face="Courier New"><span
style='font-size:8.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=1 color=black
face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New";
color:black'>&nbsp; &nbsp;</span></font><b><font size=1 color="#7f0055"
face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New";
color:#7F0055;font-weight:bold'>char</span></font></b><font size=1 color=black
face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New";
color:black'> * func = </span></font><font size=1 color="#2a00ff"
face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New";
color:#2A00FF'>&quot;create_cp()&quot;</span></font><font size=1 color=black
face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New";
color:black'>;</span></font><font size=1 face="Courier New"><span
style='font-size:8.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><b><font size=1 color="#7f0055"
face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New";
color:#7F0055;font-weight:bold'>&nbsp;&nbsp; int</span></font></b><font size=1
color=black face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New";
color:black'> fd;</span></font><font size=1 face="Courier New"><span
style='font-size:8.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><b><font size=1 color="#7f0055"
face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New";
color:#7F0055;font-weight:bold'>&nbsp;&nbsp; char</span></font></b><font
size=1 color=black face="Courier New"><span style='font-size:8.0pt;font-family:
"Courier New";color:black'> hostName[HOSTNAME_MAX_LENGTH];</span></font><font
size=1 face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=1 color=black
face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New";
color:black'>tryConnect:</span></font><font size=1 face="Courier New"><span
style='font-size:8.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><b><font size=1 color="#7f0055"
face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New";
color:#7F0055;font-weight:bold'>&nbsp; if</span></font></b><font size=1
color=black face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New";
color:black'> (gethostname(hostName,</span></font><b><font size=1
color="#7f0055" face="Courier New"><span style='font-size:8.0pt;font-family:
"Courier New";color:#7F0055;font-weight:bold'>sizeof</span></font></b><font
size=1 color=black face="Courier New"><span style='font-size:8.0pt;font-family:
"Courier New";color:black'>(hostName)) &lt; 0){</span></font><font size=1
face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=1 color=black
face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New";
color:black'>&nbsp;&nbsp;&nbsp; show_error(</span></font><font size=1
color="#2a00ff" face="Courier New"><span style='font-size:8.0pt;font-family:
"Courier New";color:#2A00FF'>&quot;%s:gethostname()</span></font><b><font
size=1 color=black face="Courier New"><span style='font-size:8.0pt;font-family:
"Courier New";color:black;font-weight:bold'> failed. (%s)&quot;</span></font></b><font
size=1 color=black face="Courier New"><span style='font-size:8.0pt;font-family:
"Courier New";color:black'>,func,strerror(errno));</span></font><font size=1
face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><b><font size=1 color="#7f0055"
face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New";
color:#7F0055;font-weight:bold'>&nbsp;&nbsp;&nbsp; return</span></font></b><font
size=1 color=black face="Courier New"><span style='font-size:8.0pt;font-family:
"Courier New";color:black'> NULL;</span></font><font size=1 face="Courier New"><span
style='font-size:8.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=1 color=black
face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New";
color:black'>&nbsp; }</span></font><font size=1 face="Courier New"><span
style='font-size:8.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><b><font size=1 color="#7f0055"
face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New";
color:#7F0055;font-weight:bold'>&nbsp; if</span></font></b><font size=1
color=black face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New";
color:black'> (PGRis_same_host(hostName,CurrentCluster-&gt;hostName<b><span
style='font-weight:bold'>) == 1){</span></b></span></font><font size=1
face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><b><font size=1 color=black
face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New";
color:black;font-weight:bold'>#ifdef</span></font></b><font size=1 color=black
face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New";
color:black'> PRINT_DEBUG</span></font><font size=1 face="Courier New"><span
style='font-size:8.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=1 color=black
face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New";
color:black'>&nbsp; &nbsp;&nbsp;show_debug(</span></font><font size=1
color="#2a00ff" face="Courier New"><span style='font-size:8.0pt;font-family:
"Courier New";color:#2A00FF'>&quot;%s:[%s] [%s] is same&quot;</span></font><font
size=1 color=black face="Courier New"><span style='font-size:8.0pt;font-family:
"Courier New";color:black'>,func,hostName,CurrentCluster-&gt;hostName);</span></font><font
size=1 face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><b><font size=1 color="#7f0055"
face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New";
color:#7F0055;font-weight:bold'>#endif</span></font></b><font size=1
color=black face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New";
color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></font><font
size=1 face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=1 color=black
face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New";
color:black'>&nbsp; &nbsp;&nbsp;&nbsp;fd = connect_unix_domain_socket(secondary_backend);</span></font><font
size=1 face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=1 color=black
face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New";
color:black'>&nbsp; }</span></font><font size=1 face="Courier New"><span
style='font-size:8.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><b><font size=1 color="#7f0055"
face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New";
color:#7F0055;font-weight:bold'>&nbsp; else</span></font></b><font size=1
color=black face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New";
color:black'>{</span></font><font size=1 face="Courier New"><span
style='font-size:8.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=1 color=black
face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New";
color:black'>&nbsp;&nbsp;&nbsp; fd =
connect_inet_domain_socket(secondary_backend);</span></font><font size=1
face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=1 color=black
face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New";
color:black'>&nbsp; }</span></font><font size=1 face="Courier New"><span
style='font-size:8.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><b><font size=1 color="#7f0055"
face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New";
color:#7F0055;font-weight:bold'>&nbsp; if</span></font></b><font size=1
color=black face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New";
color:black'> (fd &lt; 0){</span></font><font size=1 face="Courier New"><span
style='font-size:8.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><b><font size=1 color="#7f0055"
face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New";
color:#7F0055;font-weight:bold'>#ifdef</span></font></b><font size=1
color=black face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New";
color:black'> PRINT_DEBUG</span></font><font size=1 face="Courier New"><span
style='font-size:8.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=1 color=black
face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New";
color:black'>&nbsp;&nbsp;&nbsp;&nbsp; show_debug(</span></font><font size=1
color="#2a00ff" face="Courier New"><span style='font-size:8.0pt;font-family:
"Courier New";color:#2A00FF'>&quot;%s:[%s] right here&quot;</span></font><font
size=1 color=black face="Courier New"><span style='font-size:8.0pt;font-family:
"Courier New";color:black'>,func,CurrentCluster-&gt;hostName);</span></font><font
size=1 face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><b><font size=1 color="#7f0055"
face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New";
color:#7F0055;font-weight:bold'>#endif</span></font></b><font size=1
color=black face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New";
color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></font><font size=1
face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=1 color="#3f7f5f"
face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New";
color:#3F7F5F'>&nbsp;&nbsp; /* fatal error, notice to parent and exi</span></font><b><font
size=1 color=black face="Courier New"><span style='font-size:8.0pt;font-family:
"Courier New";color:black;font-weight:bold'>t */</span></font></b><font size=1
face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><b><font size=1 color=black
face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New";
color:black;font-weight:bold'>&nbsp; &nbsp;notice_b</span></font></b><font
size=1 color=black face="Courier New"><span style='font-size:8.0pt;font-family:
"Courier New";color:black'>ackend_error();</span></font><font size=1
face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=1 color="#3f7f5f"
face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New";
color:#3F7F5F'>&nbsp;&nbsp; //exit(1);</span></font><font size=1
face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=1 color=black
face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New";
color:black'>&nbsp;&nbsp; reinitCurrentCluster();</span></font><font size=1
face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><b><font size=1 color="#7f0055"
face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New";
color:#7F0055;font-weight:bold'>&nbsp; &nbsp;goto</span></font></b><font
size=1 color=black face="Courier New"><span style='font-size:8.0pt;font-family:
"Courier New";color:black'> tryConnect;</span></font><font size=1
face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><b><font size=1 color="#7f0055"
face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New";
color:#7F0055;font-weight:bold'>&nbsp; &nbsp;return</span></font></b><font
size=1 color=black face="Courier New"><span style='font-size:8.0pt;font-family:
"Courier New";color:black'> NULL;</span></font><font size=1 face="Courier New"><span
style='font-size:8.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=1 color=black
face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New";
color:black'>&nbsp;}<o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=1 color=black
face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New";
color:black'>&nbsp; cp-&gt;con = pool_open(fd);</span></font><font size=1
face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=1 color=black
face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New";
color:black'>&nbsp; cp-&gt;closetime = 0;</span></font><font size=1
face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><b><font size=1 color="#7f0055"
face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New";
color:#7F0055;font-weight:bold'>&nbsp; return</span></font></b><font size=1
color=black face="Courier New"><span style='font-size:8.0pt;font-family:"Courier New";
color:black'> cp;</span></font><font size=1 face="Courier New"><span
style='font-size:8.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=1 color=black face="Courier New"><span
style='font-size:8.0pt;font-family:"Courier New";color:black'>}</span></font><font
size=1 color=navy face=Arial><span style='font-size:8.0pt;font-family:Arial;
color:navy'><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>.......................................<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Cheers,<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Lia Domide.<o:p></o:p></span></font></p>

<div>

<div class=MsoNormal align=center style='text-align:center'><font size=3
face="Times New Roman"><span lang=EN-US style='font-size:12.0pt'>

<hr size=2 width="100%" align=center tabindex=-1>

</span></font></div>

<p class=MsoNormal><b><font size=2 face=Tahoma><span lang=EN-US
style='font-size:10.0pt;font-family:Tahoma;font-weight:bold'>From:</span></font></b><font
size=2 face=Tahoma><span lang=EN-US style='font-size:10.0pt;font-family:Tahoma'>
pgcluster-general-bounces@pgfoundry.org
[mailto:pgcluster-general-bounces@pgfoundry.org] <b><span style='font-weight:
bold'>On Behalf Of </span></b>Lia Domide<br>
<b><span style='font-weight:bold'>Sent:</span></b> 13 February 2008 14:29<br>
<b><span style='font-weight:bold'>To:</span></b> <st1:PersonName w:st="on">pgcluster-general@pgfoundry.org</st1:PersonName><br>
<b><span style='font-weight:bold'>Subject:</span></b> [Pgcluster-general]
Cybercluster's Load Balance-- problem</span></font><span lang=EN-US><o:p></o:p></span></p>

</div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-US style='font-size:
10.0pt;font-family:Arial'>Hi everybody,<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-US style='font-size:
10.0pt;font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-US style='font-size:
10.0pt;font-family:Arial'>I am testing cybercluster with multiple nodes again.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-US style='font-size:
10.0pt;font-family:Arial'>If one LB has, let&#8217;s say, 3 DB nodes registered
(gn1, gn2 and gn3). Consider the situation when gn1 is down, but gn2 and gn3
are running ok.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-US style='font-size:
10.0pt;font-family:Arial'>When restarting LB service, it assigns to each DB
node state TBL_INIT (1). First connection request will return Error to the
backend, as the LB tries to connect to gn1 (which is down). In that try gn1
will be updated in LB&#8217;s memory (status = TBL_ERROR_NOTICE =98), and a
second connection will go to gn2 (OK).<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-US style='font-size:
10.0pt;font-family:Arial'>Is there any possible change in Cybercluster that
could be done, to avoid such situations? Could LB repeatable try to connect to
all DB&#8217;s in his list? &nbsp;<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-US style='font-size:
10.0pt;font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-US style='font-size:
10.0pt;font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-US style='font-size:
10.0pt;font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Thanks in advance,<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-US style='font-size:
10.0pt;font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Lia Domide.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-US style='font-size:
10.0pt;font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

</div>

</body>

</html>