When executing SPARQL updates on a the Sesame NativeRDF, temporay data is written to /tmp. In our case this might be sizable and hence beyond the available space on /tmp. Where is this directory set, so that we could (re)configure it to an alternative location?
The NativeStore employs MemoryOverflowModel
s internally, which sync their data to disk (in a temporary directory) when it computes that the amount of available RAM is insufficient to continue keeping everything in RAM. The temporary files thus created only exist for the lifetime of the MemoryOverflowModel
object (which is, at most, the duration of the transaction).
MemoryOverflowModel
uses the default configured temp directory for your OS, as defined by the system property java.io.tmpdir
. So if you wish to configure it to use a different directory, make sure this property is set to a different value. Easiest way to do this is to override when invoking the JRE (java -Djava.io.tmpdir=/some/other/dir ...
).
It also pays to configure your JRE to have more heap space available, so that disk sync is less likely to kick in, even on large updates.