| OLD | NEW |
| 1 TODO(devlin): MD docs seem to be the new hotness; this should probably be | 1 TODO(devlin): MD docs seem to be the new hotness; this should probably be |
| 2 converted. | 2 converted. |
| 3 | 3 |
| 4 -------- | 4 -------- |
| 5 Overview | 5 Overview |
| 6 | 6 |
| 7 This is a Google App Engine server which serves the documentation for Chrome | 7 This is a Google App Engine server which serves the documentation for Chrome |
| 8 apps and extensions. At time of this writing, the primary URL is: | 8 apps and extensions. At time of this writing, the primary URL is: |
| 9 http://developer.chrome.com/. | 9 http://developer.chrome.com/. |
| 10 | 10 |
| (...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 143 consider the case where no new commits are landing in the chrome repository | 143 consider the case where no new commits are landing in the chrome repository |
| 144 but a change was just pushed to one of the GCS providers (like say, the | 144 but a change was just pushed to one of the GCS providers (like say, the |
| 145 chromedocs-multidevice bucker). In this case, you may want to force an update | 145 chromedocs-multidevice bucker). In this case, you may want to force an update |
| 146 of only the content_providers data. | 146 of only the content_providers data. |
| 147 | 147 |
| 148 ./update_docs.sh --data-source=content_providers --force | 148 ./update_docs.sh --data-source=content_providers --force |
| 149 | 149 |
| 150 This will safely do the push for you, ensuring that the automated job | 150 This will safely do the push for you, ensuring that the automated job |
| 151 does not collide with your own. | 151 does not collide with your own. |
| 152 | 152 |
| 153 --------------------------------------- |
| 154 VM: Some notes and troubleshooting tips |
| 155 |
| 156 Q1: How is the datastore populated in the VM? |
| 157 A: /home/git-processor/update-docs-full.sh |
| 158 This script is run frequently (TODO(lazyboy): How frequently?) through cron |
| 159 to sync the chromium git repo in this machine. Once it has done so, it will |
| 160 populate docserver data store and write that in |
| 161 /home/git-processor/.docserver_cache. Docserver uses this file as data |
| 162 sources to populate its documentation. |
| 163 |
| 164 Q2: Is chromium repo in the VM in sync? |
| 165 A: Check the git logs on the repo. |
| 166 |
| 167 $ sudo su git-processor |
| 168 $ cd ~/chrome/src |
| 169 $ git log |
| 170 |
| 171 Verify that chromium checkout is up-to-date by looking at the latest git log |
| 172 results. |
| 173 |
| 174 Q3: Did the last run to populate .docserver_cache succeed? |
| 175 A: Check the logs. |
| 176 |
| 177 $ sudo -s # You need to be root. |
| 178 $ vi /var/log/user.log |
| 179 |
| 180 Jan 19 21:51:39 git-processor logger: Acquiring docserver update lock... |
| 181 Jan 19 21:51:39 git-processor logger: INFO:root:Starting refresh from commit 1ee
51d53b10f8d2688a225d6cbd33dfdf8965403... |
| 182 ... |
| 183 Specifically you want to see some logs about writing keys to the |
| 184 cache file, e.g.: |
| 185 Jan 19 21:33:21 git-processor logger: INFO:root:Saved 644 keys to /home/git-proc
essor/.docserver_cache. |
| 186 |
| 187 Q4: Docs stopped updating for a while, what to do? |
| 188 A: Start by checking whether the appengine instance contains datastore *close* |
| 189 to HEAD. You can do this by visiting |
| 190 |
| 191 https://developer.chrome.com/_query_commit/master |
| 192 |
| 193 Then check the commit hash. If the commit hash is behind by more than few |
| 194 days from HEAD then this means that last run(s) to populate .docserver_cache |
| 195 failed in the VM. An example of this happening can be found in: |
| 196 https://crbug.com/682376. |
| 197 |
| 198 Start checking the logs (Q3). If you see that there are no logs after |
| 199 "Acquiring docserver update lock..", then the script might have hung. The |
| 200 script uses /var/lock/docserver-update.lock lock file with flock. The |
| 201 process/script probably is still running (I don't know why that happens |
| 202 yet). You'd need to verify that this is the case. |
| 203 For example, I ran: |
| 204 |
| 205 $ ps -e -o lstart,pid,ppid,cmd | grep update-docs |
| 206 |
| 207 Sat Oct 1 15:00:00 2016 10230 10229 /bin/sh -c /usr/bin/env bash /home/git-proc
essor/update-docs-full.sh 2>&1 | /usr/bin> |
| 208 Sat Oct 1 15:00:00 2016 10231 10230 bash /home/git-processor/update-docs-full.s
h |
| 209 Wed Dec 14 19:50:01 2016 10744 10743 /bin/sh -c /usr/bin/env bash /home/git-proc
essor/update-docs-full.sh 2>&1 | /usr/bin> |
| 210 Wed Dec 14 19:50:01 2016 10745 10744 bash /home/git-processor/update-docs-full.s
h |
| 211 Once you're sure that one or more of these processes are running for a |
| 212 while, you'd want to kill them, which should be "safe" (endorsed by rockot@) |
| 213 in most of the cases. If that doesn't work, then delete the lock file. This |
| 214 will let subsequent cron runs to update docserver. |
| OLD | NEW |