[ https://issues.apache.org/jira/browse/ZOOKEEPER-544?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Mahadev konar updated ZOOKEEPER-544: ------------------------------------ Attachment: ZOOKEEPER-544.patch updating the patch to trunk. Resolved the conflict. Pat, can you check if the patch is all fine and I didnt miss anything. > improve client testability - allow test client to access connected server > location > ---------------------------------------------------------------------------------- > > Key: ZOOKEEPER-544 > URL: https://issues.apache.org/jira/browse/ZOOKEEPER-544 > Project: Zookeeper > Issue Type: Improvement > Components: c client, java client, tests > Reporter: Patrick Hunt > Assignee: Patrick Hunt > Fix For: 3.3.0 > > Attachments: ZOOKEEPER-544.patch, ZOOKEEPER-544.patch > > > This came up recently on the user list. If you are developing tests for your > zk client you need to be able to access the server that your > session is currently connected to. The reason is that your test needs to know > which server in the quorum to shutdown in order to > verify you are handling failover correctly. Similar for session expiration > testing. > however we should be careful, we prefer not to expose this to all clients, > this is an implementation detail that we typically > want to hide. > also we should provide this in both the c and java clients > I suspect we should add a protected method on ZooKeeper. This will make a > higher bar (user will have to subclass) for > the user to access this method. In tests it's fine, typically you want a > "TestableZooKeeper" class anyway. In c we unfortunately > have less options, we can just rely on docs for now. > In both cases (c/java) we need to be very very clear in the docs that this is > for testing only and to clearly define semantics. > We should add the following at the same time: > toString() method to ZooKeeper which includes server ip/port, client port, > any other information deemed useful (connection stats like send/recv?) > the java ZooKeeper is missing "deterministic connection order" that the c > client has. this is also useful for testing. again, protected and > clear docs that this is for testing purposes only! > Any other things we should expose? -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.