You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jena.apache.org by bu...@apache.org on 2014/09/04 23:28:57 UTC
svn commit: r921261 - in /websites/staging/jena/trunk/content: ./
documentation/tdb/faqs.html
Author: buildbot
Date: Thu Sep 4 21:28:57 2014
New Revision: 921261
Log:
Staging update by buildbot for jena
Modified:
websites/staging/jena/trunk/content/ (props changed)
websites/staging/jena/trunk/content/documentation/tdb/faqs.html
Propchange: websites/staging/jena/trunk/content/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Thu Sep 4 21:28:57 2014
@@ -1 +1 @@
-1622416
+1622566
Modified: websites/staging/jena/trunk/content/documentation/tdb/faqs.html
==============================================================================
--- websites/staging/jena/trunk/content/documentation/tdb/faqs.html (original)
+++ websites/staging/jena/trunk/content/documentation/tdb/faqs.html Thu Sep 4 21:28:57 2014
@@ -156,6 +156,7 @@
<li><a href="#ssd">Should I use a SSD?</a></li>
<li><a href="#lock-exception">Why do I get the exception <em>Can't open database at location /path/to/db as it is already locked by the process with PID 1234</em> when trying to open a TDB database?</a></li>
<li><a href="#no-lock-warning">I see a warning that <em>Location /path/to/db was not locked, if another JVM accessed this location simultaneously data corruption may have occurred</em> in my logs?</a></li>
+<li><a href="#windows-dataset-delete">Why can't I delete a dataset (MS Windows/64 bit)?</a></li>
</ul>
<p><a name="transactions"></a></p>
<h2 id="does-tdb-support-transactions">Does TDB support transactions?</h2>
@@ -259,6 +260,20 @@ the other process is not accessing the T
database was eligible to be locked but wasn't. This can usually only occur if you circumvented the normal TDB database opening procedures somehow.</p>
<p>As the warning states data corruption may occur if another JVM accesses the location while your process is accessing it. Ideally you should follow the
advice on <a href="#multi-jvm">multi-JVM usage</a> if this might happen, otherwise the warning can likely be safely ignored.</p>
+<h2 id="windows-dataset-delete">Deleting Datasets on MS Windows</h2>
+<p>Java on MS Windows does not provide the ability to delete a memory mapped
+file while the JVM is still running. The file is properly deleted when the
+JVM exits. This is a known issue with Java.<br />
+See the Java bug database e.g.
+<a href="http://bugs.java.com/view_bug.do?bug_id=4724038">Bug id: 4724038</a> and several
+others. While there are some workarounds mentioned on the web,
+none is known to always work on all JVMs.</p>
+<p>On 64 bit systems, TDB uses memory mapped to manage datasets on disk. This
+means that the operating system dynamically controls how much of a file is held in
+RAM, trading off against requests by other applications. But it also means
+the database files are not properly deleted until the JVM exits. A new
+dataset can not be created in the same location (directory on disk).</p>
+<p>The workaround is to use a different location.</p>
</div>
</div>