[Bucardo-general] issue when trying to update dbgroup

Videanu Adrian videanuadrian at yahoo.com
Wed Dec 30 14:17:00 UTC 2015


Hi,
First of all I  want to let you know that while i`m a php/java developer I have never ever wrote any perl script.
Here what i did to overcome the issues from my last email.1. I have added 

no strict "refs";
to /usr/local/bin/bucardo file so that the the previous warning was eliminated. I do not know if this is the correct way but worked.
2. After that I tried to run again 
bucardo update dbgroup mdsSyncAll db1:source db2:source db3:source
but this time I`ve got : 
Deep recursion on subroutine "bucardo::update_dbgroup" at /usr/local/bin/bucardo line 9380.
Deep recursion on subroutine "bucardo::check_recurse" at /usr/local/bin/bucardo line 2641.
and all my memory was "eaten" by the script.
3. I had a look at /usr/local/bin/bucardo line 9380 and found 

## If the name is 'all', recursively call on all objects of this type
    if ($name =~ /all/i) {...    ...    }
I then realized that the function is called recursively due to the "all" from mdsSyncAll, and i tried to rename the dbgroup to just mdsSync, but the same problem appeared.I have modified the line from 

if ($name =~ /all/i) {.
to
if ($name =~ /alla/i) {.
and rename the dbgroup. With the dbgroup renamed I have modified back the code to  "if ($name =~ /all/i) {." and the was able to run:
bucardo update dbgroup mdsSync db1:source db2:source db3:source

So, I guess there are 2 items to fix here : 
1. To be able to run the script without  no strict "refs";2. To be able to run with names the contains substring "all"
 Regards, Adrian Videanu
 

      From: Videanu Adrian <videanuadrian at yahoo.com>
 To: Bucardo <bucardo-general at bucardo.org> 
 Sent: Wednesday, December 30, 2015 8:05 AM
 Subject: issue when trying to update dbgroup
   
Hi All,
I have installed Bucardo 5.4.1 from source on a gentoo(amd64) in order to setup a master master cluster.The current setup consists of two database servers and it`s working nice.The issue appears when i want to add a 3rd server, and when I try to update the dbgroup I get:
bucardo update dbgroup mdsSyncAll db1:source db2:source db3:source
Can't use string ("bucardo::update_dbgroup") as a subroutine ref while "strict refs" in use at /usr/local/bin/bucardo line 9379.

I have added the 3rd database before this operation.

Any idea what i`m doing wrong ? 

Regards, Adrian Videanu

  
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.endcrypt.com/pipermail/bucardo-general/attachments/20151230/113efaa0/attachment-0001.html>


More information about the Bucardo-general mailing list