Class::reload_classes uses Store::get_all_classes to read the data from
the class table.  If you've got schema version 10 and above, then
get_all_classes also reads the replpolicy field.  There's a bug because
reload_classes is ignoring the replpolicy field, so it's never getting
set in the class, and we're always getting the default replpolicy when
we call repl_policy_string.

Attached patch is a single new line against r1127 that fixes this.

cheers.

diff -urP trunk_r1127/server/lib/MogileFS/Class.pm trunk_r1127_patched/server/lib/MogileFS/Class.pm
--- trunk_r1127/server/lib/MogileFS/Class.pm	2007-09-04 15:05:53.000000000 +0100
+++ trunk_r1127_patched/server/lib/MogileFS/Class.pm	2007-10-03 15:51:03.000000000 +0100
@@ -73,6 +73,7 @@
                  classid     => $row->{classid},
                  name        => $row->{classname},
                  mindevcount => $row->{mindevcount},
+                 replpolicy  => $row->{replpolicy}, 
              }, $pkg);
         $cl->{_loaded} = 1;
     }

Reply via email to