sijie commented on a change in pull request #301: Issue-299 
EnsemblePlacementPolicy in 4.5 is not compatible with 4.4 clients
URL: https://github.com/apache/bookkeeper/pull/301#discussion_r129767278
 
 

 ##########
 File path: 
bookkeeper-server/src/test/java/org/apache/bookkeeper/client/GenericEnsemblePlacementPolicyTest.java
 ##########
 @@ -132,9 +132,9 @@ public void testReplaceBookie() throws Exception {
                     lh.addEntry(value);
                 }
             }
-            assertEquals(2, customMetadataOnNewEnsembleStack.size());
 
 Review comment:
   I see. the callers are the new bookkeeper client. if that's the case, I am 
not sure if we should support such backward compatibility. to me, it is not a 
simple backward compatibility issue, it is a semantic issue.
   
   for example, the new placement policy introduces ackQuorumSize in 
newEnsemble and replica settings for replaceBookie. The new bookkeeper client 
expects the placement policy to be respecting the replica settings when 
choosing bookies. However the old placement policy implementation doesn't 
really respect these settings because it was implemented lack of those 
settings. This is a semantic disconnection between new client behavior and old 
placement policy implementation. I am not sure if this is a behavior that we 
should expose to applications, because there might be a lot of unknowns when 
new client uses old placement policy. same concerns applied even if we want to 
refactor it to use structures.
   
   but anyway, I am fine the approach in this pull request, but we might 
consider marking the old methods as deprecated. so that people can upgrade to 
use new interface in future.
   
   We might need to discuss the audience and stability of interfaces that 
exposed by bookkeeper in next release.
   
 
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

Reply via email to