> On June 21, 2013, 1:40 a.m., Vinod Kone wrote: > > src/detector/detector.cpp, lines 297-303 > > <https://reviews.apache.org/r/11975/diff/1/?file=308452#file308452line297> > > > > Why not add the hostname in the data when we create the znode above? > > > > I think having 2 ephemeral nodes makes it complex to reason about > > master changes. For example what does it mean if 'result' znode went away > > but 'result'-hostname did not? > > > > Of course, if we decide to add hostname to the existing znode, we need > > to carefully plan the deployment strategy to roll this kind of change out > > to production mesos clusters. For example, slaves need to be rolled first > > before masters. Also, new slaves (with this code) need to be backwards > > compatible with old masters (without this change). > > > > Thoughts? > > Brenden Matthews wrote: > > Why not add the hostname in the data when we create the znode above? > > > > I think having 2 ephemeral nodes makes it complex to reason about > master changes. For example what does it mean if 'result' znode went away but > 'result'-hostname did not? > > Both nodes are ephemeral, and we always check for 'result' before > 'result'-hostname, so it shouldn't matter if 'result'-hostname exists when > 'result' does not. If ZooKeeper is being consistent, this shouldn't ever > occur. > > Using 2 separate znodes allows us to have compatibility between versions > and gracefully handle failure.
My main concern is flexibility. In the future, if we want to add additional data (other than ip, port, hostname), I think it would be much easier if we update the data blob stored in the znode than adding additional result-xyz nodes. For example, the data blob could be a serialized protobuf. This makes writing backwards compatible code way easier. Thoughts? - Vinod ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/11975/#review22219 ----------------------------------------------------------- On June 26, 2013, 9:54 p.m., Brenden Matthews wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/11975/ > ----------------------------------------------------------- > > (Updated June 26, 2013, 9:54 p.m.) > > > Review request for mesos. > > > Repository: mesos > > > Description > ------- > > Use hostname instead of IP for redirection. > > In the Web UI, the redirection does not work for hosts where the local > interface address is not publicly accessible. For example, with EC2 the > redirection will not work. > > This change writes the Master's hostname into ZooKeeper, thereby > allowing the redirection to work with private IP addresses. > > Review: https://reviews.apache.org/r/11975/ > > > Diffs > ----- > > src/detector/detector.hpp b0e66888050c1987b7200cdbf21ebe5e2e55e6c0 > src/detector/detector.cpp 12deefa0b9df3f4946d80f500caaa5199b8ea28e > src/local/local.cpp 3364c15f6b2374d752e83eb8a1c3c49de6bcc259 > src/master/http.cpp 47471d6881fa1b101cdeb3fb48a59712490267e9 > src/master/main.cpp 19fcb9f09d8fc03a0719aada7d216b575eb3069b > src/master/master.hpp 86c5232d57e9e86e13acf48b68f1e3cf23442495 > src/master/master.cpp a0b862a4f825c00dec2b73f993fe58d8aa90812b > src/messages/messages.proto 2c196eee0f3adba90799878b7e126bc85f635b65 > src/sched/sched.cpp 7ea82e547c612159c9fa24fb6d62e3d2b5f11982 > src/slave/main.cpp 750a12766bde64059bfd4635ea077cbd43cb4301 > src/tests/cluster.hpp f743bb3251af81fb9d8afd51de4df6efcf289bb9 > src/tests/master_detector_tests.cpp > 2d140ba1a364a7af4d643951d6016ac17dd10526 > src/webui/master/static/controllers.js > f9d7c978fe4cf6d2fbb4d45990b277e44485f0cd > > Diff: https://reviews.apache.org/r/11975/diff/ > > > Testing > ------- > > make check > > > Thanks, > > Brenden Matthews > >
