Hi.
As the quad dump failed I went with an option to select list of named
graphs we needed to save from corrupted database and I am making dumps
of those graphs one by one using procedure specified here
http://virtuoso.openlinksw.com/dataspace/doc/dav/wiki/Main/VirtRDFDatasetDump.
I uploaded to new fresh database 1745454 named graphs from old database
using bulk loader. This is just a small amount of overall named graphs
still need loading to new database. After uploading those graphs with
bulk loader I started a process to insert some named graphs through our
java process using query "SPARQL INSERT DATA { GRAPH <named_graph> { ...
}}". After processing 233270 named graphs I got the same error in the
clean database:
COL..: Insert stopped because out of seg data here or elsewhere
host 0 key RDF_QUAD_SP slice 0
The clean database file size is only 4G. Made an integrity check after
that and it passed. Additionally made crash dump and restore
successfully, but after starting java process again I still get the same
error. The differences with other named graphs I inserted and the named
graphs inserted through java process is that java process ones contain
multiple plain literal object values with some UTF-8 letters 'ÄÖÜÕ', for
example (test values presented):
<https://test.ee/organizations/ee-1234567890>
<http://purl.org/goodrelations/v1#legalName> "EXAMPLE TEST OÜ" .
And multiple decimal values, for example (test values presented):
<https://test.ee/amounts/total> <http://schema.org/amount>
"7.77"^^<http://www.w3.org/2001/XMLSchema#decimal> .
Integrity check passes and no errors are logged to virtuoso.log file.
The database starts up correctly and select queries work just fine.
Connection with virtuoso is made with url
"jdbc:virtuoso://<ip_address>:1111/CHARSET=UTF-8".
I was not able to create a debian package with debug binary with symbols
in place using debian/rules for compiling. Can someone maybe give me
some guidance on where to correctly add option --with-debug and CFLAGS
variable?
Best wishes.
Piret
On 12.01.16 10:36, Piret Lattikas wrote:
Hi Hugh,
Started NQuad dump on the corrupted database and at some point it
failed with the error:
Connected to OpenLink Virtuoso
Driver: 07.20.3215 OpenLink Virtuoso ODBC Driver
OpenLink Interactive SQL (Virtuoso), version 0.9849b.
Type HELP; for help and EXIT; to exit.
*** Error 22023: [Virtuoso Driver][Virtuoso Server]SR469: Dirty
read is detected, wrong BLOB HANDLE value.
at line 0 of Top-Level:
dump_nquads('dumps', 1, 1000000000, 1)
I am preparing the executable with debug mode, to get more precise
core dump.
This database was initially built up by making an NQuad dump from
another database and loading data to the database using bulk loader.
Majority of inserts after that have been made with query "SPARQL
INSERT DATA { GRAPH <named_graph> { ... }}" directly to database
connecting to port 1111 using java.sql library.
Best wishes,
Piret
On 10.01.16 19:57, Hugh Williams wrote:
Hi Piret,
If you build a debug binary with symbols in place you will get a more
meaningful gdb back trace ie “?”’s will resolve, as follows:
1. Configure using the —with debug option:
./configure —with-debug
2. In the Makefile, check to ensure CFLAGS has the “-g” option set
which generates debug information:
CFLAGS = -g -O2
3. Then do "make clean all deinstall reinstall” to build a new debug
unstripped binary (virtuoso-t)
4. Start database with this new binary and force the crash condition
again to generate a new core file
5. Use gdb to load core file
gdb virtuoso-t core
6. At the prompt, type "bt" or “backtrace” to backtrace through
stack and provide the output when top of stack is reached.
If the database starts, then yes you can dump the data to NQuads and
reload into an empty database to get an uncorrupted database …
Should still also ensure you have an backup strategy in place …
What method is being used to perform your data insert, was this using
bulk loader, sparql insert directly to database, via sesame/jena or
other ?
Best Regards
Hugh Williams
Professional Services
OpenLink Software, Inc. // http://www.openlinksw.com/
Weblog -- http://www.openlinksw.com/blogs/
LinkedIn -- http://www.linkedin.com/company/openlink-software/
Twitter -- http://twitter.com/OpenLink
Google+ -- http://plus.google.com/100570109519069333827/
Facebook -- http://www.facebook.com/OpenLinkSoftware
Universal Data Access, Integration, and Management Technology Providers
------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=267308311&iu=/4140
_______________________________________________
Virtuoso-users mailing list
Virtuoso-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/virtuoso-users