-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/62423/
-----------------------------------------------------------
Review request for Aurora.
Bugs: AURORA-1947
https://issues.apache.org/jira/browse/AURORA-1947
Repository: aurora
Description
-------
MesosLogStreamModule tries to connect to ZooKeeper servers specified by
-zk_endpoints even when -zk_in_proc=true. I updated the module to use injected
server endpoints which will be based on the ephemeral port assigned to
ZooKeeperTestServer if -zk_in_proc=true. This required to make
@ServiceDiscoveryBindings.ZooKeeper public.
I also tweaked shutdown process of ServiceDiscoveryModule.TestServerService so
that it won't close existing ZooKeeper connections before clients close the
session. While just delaying the execution by 1 second doesn't really
guarantee that behavior, in practice this achieved clean shutdown of the
scheduler with in-process ZooKeeper server.
Diffs
-----
src/main/java/org/apache/aurora/scheduler/discovery/ServiceDiscoveryBindings.java
28cdc4b3b454b3d25008a21c6b12634173e1f878
src/main/java/org/apache/aurora/scheduler/discovery/ServiceDiscoveryModule.java
c105dbdbe8339db7f5cca2e5e391fffb4cd87b07
src/main/java/org/apache/aurora/scheduler/log/mesos/MesosLogStreamModule.java
6704a328a4023a178ed8f86ae4772cb04eb2fa8e
Diff: https://reviews.apache.org/r/62423/diff/1/
Testing
-------
1. Launch Mesos master and slave on my laptop.
2. Launch Aurora scheduler with following arguments:
```
-backup_dir=/var/lib/aurora/backups
-cluster_name=local
-mesos_master_address=localhost:5050
-serverset_path=/aurora/scheduler
-ip=127.0.0.1
-hostname=localhost
-http_port=8081
-zk_in_proc=true
-zk_endpoints=localhost:2181
-native_log_zk_group_path=/aurora/replicated-log
-native_log_file_path=/var/db/aurora
```
3. Observe that there are no ZooKeeper error log outputs caused by missing
endpoint.
4. Create a simple job, observer it launches normally and then kill it.
5. Stop the scheduler by sending /quitquitquit.
6. Observe that scheduler process shuts down normally.
Thanks,
Keisuke Nishimoto