[Thali-talk] Yaron's Weekly Update - 9/22/2014

Yaron Goland yarong at microsoft.com
Mon Sep 22 13:31:49 EDT 2014


Last Week:

  *   TL;DR - Updated the mesh article<http://www.goland.org/thalimesh/> with Bluetooth and Alljoyn. Spent most of the week on perf issues and updating to latest Couchbase bits. Started re-writing the change tracker code in Couchbase to make it thread safe and to set me up for adding continuous replication to it.
  *   Monday - Updated the mesh article<http://www.goland.org/thalimesh/> with Bluetooth and Alljoyn. Tagged our depot for the 0.0.0 release. Started writing code to help us figure out why our perf sucks.
  *   Tuesday - Lost the whole morning trying to get VPN working. Spent the rest of the day working on tests to explore our awful perf.
  *   Wednesday - Ran into issues getting the perf tests working and they were all because I'm an idiot. Kept adding more tests to help me explore perf.
  *   Thursday - Discovered that using Couchbase's live replication has WORSE perf than our existing approach of just doing repeated one off replications. I tried to play with some of the delay factors in Couchbase but that just made perf worse.
     *   The only sane way forward is to deep dive into the Couchbase code and understand what the hell is going on. But our version of Couchbase is old so I spent the rest of the day trying to update to the latest Couchbase bits. This quickly led to a whole mess of issues. For example, Couchbase uses an old version of mockwebserver that crashes me on Android. Then it turns out they still have tests that require the sync server even though they said they didn't. Oh and they are using the latest Android release so Intellij 13 won't work, I had to use the Early Access Preview (think pre-beta) of 14 and that caused a bunch of indigestion. Then I tried to run the tests on Java and they immediately failed with weird database issues.
  *   Friday - Determined that the Java failures are because of our old friend the file locking issue (this only shows up on Windows and Couchbase never tests on Windows). I tried to investigate this but ran into an issue that logging doesn't even work correctly in Couchbase Java so I had to fix that. I finally figured out the problem with the locks in tests and fixed that so. BTW, I submitted a whole bunch of push requests to Couchbase so they could fix these issues in their code base. But I then ran into an intermittent null pointer failure in change tracker which I tracked down to the fact that this multi-threaded object IS NOT THREAD SAFE!
     *   Now this code is really interesting to me because the data from the perf tests shows that the only way we will get decent perf is by implementing Couchdb's continuous replication feature which Couchbase doesn't support (they only support long polling) and the place that code has to be implemented? The change tracker. So I started re-writing the change tracker to make it thread safe as a way to teach me the code so I could add in continuous replication support.


This Week:

  *   Practice slide deck in preparation for Wednesday's executive review.
  *   Meet with Tim to practice the demo he kindly wrote for that review.
  *   Finish making the change tracker code thread safe and submit as a PR to Couchbase.
  *   Start implementing continuous replication in Couchbase.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://pairlist10.pair.net/pipermail/thali-talk/attachments/20140922/80f4c914/attachment.html>


More information about the Thali-talk mailing list