Browse Source

[155628] Fractional Replication: modify does not issue notify;
reversed the logic to set change_is_relevant, which triggers to send notify.

Noriko Hosoi 20 years ago
parent
commit
2b1cfd1082
1 changed files with 7 additions and 7 deletions
  1. 7 7
      ldap/servers/plugins/replication/repl5_agmt.c

+ 7 - 7
ldap/servers/plugins/replication/repl5_agmt.c

@@ -1483,7 +1483,7 @@ agmt_notify_change(Repl_Agmt *agmt, Slapi_PBlock *pb)
 				 * attributes.
 				 */
 				int optype;
-				int affects_fractional_attribute = 0;
+				int affects_non_fractional_attribute = 0;
 
 				slapi_pblock_get(pb, SLAPI_OPERATION_TYPE, &optype);
 				if (SLAPI_OPERATION_MODIFY == optype)
@@ -1492,14 +1492,14 @@ agmt_notify_change(Repl_Agmt *agmt, Slapi_PBlock *pb)
 					int i, j;
 
 					slapi_pblock_get(pb, SLAPI_MODIFY_MODS, &mods);
-					for (i = 0; !affects_fractional_attribute && NULL != agmt->frac_attrs[i]; i++)
+					for (i = 0; !affects_non_fractional_attribute && NULL != agmt->frac_attrs[i]; i++)
 					{
-						for (j = 0; !affects_fractional_attribute && NULL != mods[j]; j++)
+						for (j = 0; !affects_non_fractional_attribute && NULL != mods[j]; j++)
 						{
-							if (slapi_attr_types_equivalent(agmt->frac_attrs[i],
+							if (!slapi_attr_types_equivalent(agmt->frac_attrs[i],
 								mods[j]->mod_type))
 							{
-								affects_fractional_attribute = 1;
+								affects_non_fractional_attribute = 1;
 							}
 						}
 					}
@@ -1510,9 +1510,9 @@ agmt_notify_change(Repl_Agmt *agmt, Slapi_PBlock *pb)
 					 * Add, delete, and modrdn always cause some sort of
 					 * operation replay, even if agreement is fractional.
 					 */
-					affects_fractional_attribute = 1;
+					affects_non_fractional_attribute = 1;
 				}
-				if (affects_fractional_attribute)
+				if (affects_non_fractional_attribute)
 				{
 					change_is_relevant = 1;
 				}