view website/issues/html/_generic.item.html @ 5142:93832cec4c31

issue2550839: Xapian, DatabaseLockError: Unable to get write lock on db/text-index: already locked I put in a retry loop that will attempt to get the lock. 10 tries with a delaythatvaries from .02 seconds to .64 seconds. Total delay over 10 cycles approx. 4.5 seconds. I can't figure out how to make pytest run two parallel processes to test this code. I did try running: ./run_tests.py -k Xapian test/test_indexer.py & ./run_tests.py -k Xapian test/test_indexer.py and confirmed that one of the processes seemed to hang on a test and then threw a lock failure error. So at least the code path is being exercised. If anybody knows how to correctly test this I would love to do a real test.
author John Rouillard <rouilj@ieee.org>
date Wed, 13 Jul 2016 19:42:44 -0400
parents c2d0d3e9099d
children
line wrap: on
line source

<tal:block metal:use-macro="templates/page/macros/icing">
<title metal:fill-slot="head_title" i18n:translate=""
 ><span tal:replace="python:context._classname.capitalize()"
 i18n:name="class" /> editing - <span i18n:name="tracker"
 tal:replace="config/TRACKER_NAME" /></title>
<tal:block metal:fill-slot="body_title" i18n:translate=""
 ><span tal:replace="python:context._classname.capitalize()"
 i18n:name="class" /> editing</tal:block>

<td class="content" metal:fill-slot="content">

<p tal:condition="python:not (context.is_view_ok()
 or request.user.hasRole('Anonymous'))" i18n:translate="">
 You are not allowed to view this page.</p>

<p tal:condition="python:not context.is_view_ok()
 and request.user.hasRole('Anonymous')" i18n:translate="">
 Please login with your username and password.</p>

<div tal:condition="context/is_view_ok">

<form method="POST" onSubmit="return submit_once()"
      enctype="multipart/form-data" tal:condition="context/is_view_ok"
      tal:attributes="action context/designator">

<input type="hidden" name="@template" value="item">

<table class="form">

<tr tal:repeat="prop python:db[context._classname].properties()">
 <tal:block tal:condition="python:prop._name not in ('id',
   'creator', 'creation', 'actor', 'activity')">
  <th tal:content="prop/_name"></th>
  <td tal:content="structure python:context[prop._name].field()"></td>
 </tal:block>
</tr>
<tr>
 <td>&nbsp;</td>
 <td colspan=3 tal:content="structure context/submit">
  submit button will go here
 </td>
</tr>
</table>

</form>

<tal:block tal:condition="context/id" tal:replace="structure context/history" />

</div>

</td>

</tal:block>

Roundup Issue Tracker: http://roundup-tracker.org/