Dear Virtuoso devs,
On commit 2701d3f242a630562302471d168d20fec5ed2805 of the develop/7 branch.
I load the file
ftp://ftp.uniprot.org/pub/databases/uniprot/current_release/rdf/taxonomy.rdf.gz
into the graph named
http://beta.sparql.uniprot.org/taxonomy/.
Then checkpoint. Then I the run the SPARUL query
PREFIX rdfs:<http://www.w3.org/2000/01/rdf-schema#>
INSERT { GRAPH <http://beta.sparql.uniprot.org/taxonomy/> {
?sub rdfs:subClassOf ?super}}
WHERE { GRAPH <http://beta.sparql.uniprot.org/taxonomy/> {
?sub
rdfs:subClassOf/rdfs:subClassOf ?super .
MINUS { ?sub rdfs:subClassOf ?super .}}}
I get a message
17:27:41 * Monitor: Low query memory limit, try to increase MaxQueryMem
Then I again run the same query
PREFIX rdfs:<http://www.w3.org/2000/01/rdf-schema#>
INSERT { GRAPH <http://beta.sparql.uniprot.org/taxonomy/> {
?sub rdfs:subClassOf ?super}}
WHERE { GRAPH <http://beta.sparql.uniprot.org/taxonomy/> {
?sub
rdfs:subClassOf/rdfs:subClassOf ?super .
MINUS { ?sub rdfs:subClassOf ?super .}}}
And virtuoso crashes without leaving a trace in the logs.
The query log shows the first execution but not the second.
And that looks like this
Precode:
0: { FOR UPDATE
time -nan% fanout 1 input 1 rows
time -nan% fanout 1 input 1 rows
Precode:
0: vector := Call vector ( 1 , 0 , 3 , ##subClassOf , 1 , 1 )
5: vector := Call vector (vector)
10: vector := Call vector ()
15: __bft := Call __bft (<c
http://beta.sparql.uniprot.org/taxonomy/>, 1 )
20: BReturn 0
{ fork
time -nan% fanout 1.09875e+06 input 1 rows
RDF_QUAD_POGS 2.4e+03 rows(s_6_4_t1.O, s_6_4_t1.S)
inlined P = ##subClassOf G = #/
time -nan% fanout 0.999965 input 1.09875e+06 rows
RDF_QUAD 1 rows(s_6_7_t2.O)
inlined P = ##subClassOf , S = k_s_6_4_t1.O G = #/
time -nan% fanout 0 input 1.09871e+06 rows
END Node
After test:
0: if ({
time -nan% fanout 1 input 1.09871e+06 rows
time -nan% fanout 0 input 1.09871e+06 rows
RDF_QUAD_POGS unq 0.0011 rows ()
P = ##subClassOf , O = k_s_6_7_t2.O , S = k_s_6_4_t1.S , G = #/
time -nan% fanout 0 input 0 rows
Subquery Select( <none> )
}
) then 5 else 4 unkn 5
4: BReturn 1
5: BReturn 0
After code:
0: __ro2lo := Call __ro2lo (s_6_7_t2.O)
5: vector := Call vector (s_6_4_t1.S, __ro2lo)
10: if ($63 "user_aggr_notfirst" = 1 ) then 25 else 14 unkn 14
14: $63 "user_aggr_notfirst" := := artm 1
18: user_aggr_ret := Call DB.DBA.SPARQL_CONSTRUCT_INIT ($64
"user_aggr_env")
25: user_aggr_ret := Call DB.DBA.SPARQL_CONSTRUCT_ACC ($64
"user_aggr_env", vector, vector, vector, 0 )
32: BReturn 0
}
time -nan% fanout 1 input 1 rows
skip node 1 <none> set_ctr
After code:
0: DB.DBA.SPARQL_CONSTRUCT_FIN := Call
DB.DBA.SPARQL_CONSTRUCT_FIN ($64 "user_aggr_env")
7: callret-0 := Call DB.DBA.SPARQL_INSERT_DICT_CONTENT (__bft,
DB.DBA.SPARQL_CONSTRUCT_FIN, 0 , <DB_NULL>, 0 )
14: BReturn 0
time -nan% fanout 0 input 1 rows
skip node 1 <none> set_ctr
After code:
0: DB.DBA.SPARQL_CONSTRUCT_FIN := Call
DB.DBA.SPARQL_CONSTRUCT_FIN ($64 "user_aggr_env")
7: callret-0 := Call DB.DBA.SPARQL_INSERT_DICT_CONTENT (__bft,
DB.DBA.SPARQL_CONSTRUCT_FIN, 0 , <DB_NULL>, 0 )
14: BReturn 0
time -nan% fanout 0 input 1 rows
Subquery Select(callret-0)
}
8: $184 "vector" := Call vector ($185 "scalar")
13: $183 "DB.DBA.SPARUL_RUN" := Call DB.DBA.SPARUL_RUN ($184
"vector")
20: <none> := Call set_row_count ($183 "DB.DBA.SPARUL_RUN")
25: BReturn 0
END Node
}
^@^B<80>^@<BD>^@^P<C3><D7><C1><BC>+<BD>^@^@8Z<D3>^K8^X^PqP^@ESC
<<BC>^@<BC>^@<B5> 127.0.0.1<B5>^Cdba<CC>^S<BD>^@#k<A2><BD>^@^@G
<B5>^Nlog_enable (3)^A<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@
<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<B6>^@^@^@W{
Precode:
0: <none> := Call log_enable ( 3 )
5: BReturn 0
END Node
}
^@^A@^@<BC>^@<C1><BC>+<BD>^@^@8[<D3>^K8^X^PqP^@^\ <<BC>^@<BC>^@<B5>
127.0.0.1<B5>^Cdba<CC>^S<BD>^@#k<A3><BD>^@^@G
<B5>^Xcheckpoint_interval
(60)^A<BC>^@<BC>^A<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@
<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<B6>^@^@^@a{
Precode:
0: <none> := Call checkpoint_interval ( 60 )
5: BReturn 0
END Node
}
^@^A@^@<BC>^@<C1><BC>+<BD>^@^@8\<D3>^K8^X^PqP^@^^ <<BC>^@<BC>^@<B5>
127.0.0.1<B5>^Cdba<CC>^S<BD>^@#k<B6><BD>^@^@G
<B5>^Wcheckpoint_interval
(0)^A<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@
<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<B6>^@^@^@`{
Precode:
0: <none> := Call checkpoint_interval ( 0 )
5: BReturn 0
END Node
}
^@^A@^@<BC>^@<C1><BC>+<BD>^@^@8]<D3>^K8^X^PqP^@^_ <<BC>^@<BC>^@<B5>
127.0.0.1<B5>^Cdba<CC>^S<BD>^@#k<B6><BD>^@^@G <B5>^Nlog_enable
(0)^A<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>
^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<B6>^@^@^@W{
Precode:
0: <none> := Call log_enable ( 0 )
5: BReturn 0
END Node
}
I would expect the next query to show up here but it did not. The change
to the checkpoint interval and logging status show that the two
statements before the SPARUL succeeded.
The exception caught from the java side is
Exception:virtuoso.jdbc4.VirtuosoException: Virtuoso Communications
Link Failure (timeout) : Connection to the server lost
at
virtuoso.sesame2.driver.VirtuosoRepositoryConnection.executeSPARUL(Unknown
Source)
at
virtuoso.sesame2.driver.VirtuosoRepositoryConnection$4.execute(Unknown
Source)
Is there a way I can change the error log level to be more
verbose/helpfull?
Regards,
Jerven
--
-------------------------------------------------------------------
Jerven Bolleman jerven.bolle...@isb-sib.ch
SIB Swiss Institute of Bioinformatics Tel: +41 (0)22 379 58 85
CMU, rue Michel Servet 1 Fax: +41 (0)22 379 58 58
1211 Geneve 4,
Switzerland www.isb-sib.ch - www.uniprot.org
Follow us at https://twitter.com/#!/uniprot
-------------------------------------------------------------------
;
; virtuoso.ini
;
; Database setup
;
[Database]
DatabaseFile =
/home/jbollema/git/expasy4j-sparql/./data/virtuoso/virtuoso.db
ErrorLogFile =
/home/jbollema/git/expasy4j-sparql/./data/virtuoso/virtuoso.log
LockFile =
/home/jbollema/git/expasy4j-sparql/./data/virtuoso/virtuoso.lck
TransactionFile =
/home/jbollema/git/expasy4j-sparql/./data/virtuoso/virtuoso.trx
xa_persistent_file =
/home/jbollema/git/expasy4j-sparql/./data/virtuoso/virtuoso.pxa
ErrorLogLevel = 7
FileExtend = 20000
MaxCheckpointRemap = 20000
Striping = 0
TempStorage = TempDatabase
[TempDatabase]
DatabaseFile =
/home/jbollema/git/expasy4j-sparql/./data/virtuoso/virtuoso-temp.db
TransactionFile =
/home/jbollema/git/expasy4j-sparql/./data/virtuoso/virtuoso-temp.trx
MaxCheckpointRemap = 2000
Striping = 0
;
; Server parameters
;
[Parameters]
ServerPort = 1112
LiteMode = 1
DisableUnixSocket = 0
DisableTcpSocket = 0
ServerThreads = 20
CheckpointInterval = 60
O_DIRECT = 1
CaseMode = 2
MaxStaticCursorRows = 5000
CheckpointAuditTrail = 0
AllowOSCalls = 0
SchedulerInterval = 10
DirsAllowed = ., /scratch/virtuoso//share/virtuoso/vad
ThreadCleanupInterval = 0
ThreadThreshold = 10
ResourcesCleanupInterval = 0
FreeTextBatchSize = 100000
SingleCPU = 0
VADInstallDir = /scratch/virtuoso//share/virtuoso/vad/
PrefixResultNames = 0
RdfFreeTextRulesSize = 100
IndexTreeMaps = 256
MaxMemPoolSize = 0
PrefixResultNames = 0
MacSpotlight = 0
IndexTreeMaps = 64
TransactionAfterImageLimit = 500000000
ColumnStore = 1
QueryLog = /tmp/virtuoso-query.log
NumberOfBuffers = 680000
MaxDirtyBuffers = 500000
MaxQueryMem = 200M
VectorSize = 10000
MaxVectorSize = 1000000
AdjustVectorSize = 1
[AutoRepair]
BadParentLinks = 0
[Client]
SQL_PREFETCH_ROWS = 100
SQL_PREFETCH_BYTES = 16000
SQL_QUERY_TIMEOUT = 0
SQL_TXN_TIMEOUT = 0
[VDB]
ArrayOptimization = 0
NumArrayParameters = 10
VDBDisconnectTimeout = 1000
KeepConnectionOnFixedThread = 0
[Replication]
ServerName = db-LIN-072
ServerEnable = 1
QueueMax = 50000
;
; Striping setup
;
; These parameters have only effect when Striping is set to 1 in the
; [Database] section, in which case the DatabaseFile parameter is ignored.
;
; With striping, the database is spawned across multiple segments
; where each segment can have multiple stripes.
;
; Format of the lines below:
; Segment<number> = <size>, <stripe file name> [, <stripe file name> .. ]
;
; <number> must be ordered from 1 up.
;
; The <size> is the total size of the segment which is equally divided
; across all stripes forming the segment. Its specification can be in
; gigabytes (g), megabytes (m), kilobytes (k) or in database blocks
; (b, the default)
;
; Note that the segment size must be a multiple of the database page size
; which is currently 8k. Also, the segment size must be divisible by the
; number of stripe files forming the segment.
;
; The example below creates a 200 meg database striped on two segments
; with two stripes of 50 meg and one of 100 meg.
;
; You can always add more segments to the configuration, but once
; added, do not change the setup.
;
[Striping]
Segment1 = 100M, db-seg1-1.db, db-seg1-2.db
Segment2 = 100M, db-seg2-1.db
;...
;[TempStriping]
;Segment1 = 100M, db-seg1-1.db, db-seg1-2.db
;Segment2 = 100M, db-seg2-1.db
;...
[SPARQL]
;ExternalQuerySource = 1
;ExternalXsltSource = 1
DefaultGraph = http://beta.sparql.uniprot.org/
ResultSetMaxRows = 80000000
MaxQueryCostEstimationTime = 360000 ; in seconds
MaxQueryExecutionTime = 360000 ; in seconds
DefaultQuery = select distinct ?Concept where {[] a
?Concept} LIMIT 100
DeferInferenceRulesInit = 0 ; controls inference rules loading
Tue Jan 21 2014
16:54:03 OpenLink Virtuoso Universal Server
16:54:03 Version 07.00.3207-pthreads for Linux as of Jan 16 2014
16:54:03 uses parts of OpenSSL, PCRE, Html Tidy
16:54:04 Entering Lite Mode
16:54:04 SQL Optimizer enabled (max 1000 layouts)
16:54:04 Compiler unit is timed at 0.000431 msec
16:54:04 Checkpoint started
16:54:05 Roll forward started
16:54:05 Roll forward complete
16:54:05 Checkpoint started
16:54:05 Checkpoint finished, log reused
16:54:05 Checkpoint started
16:54:05 Checkpoint finished, log reused
16:54:05 Checkpoint started
16:54:05 Checkpoint finished, log reused
16:54:05 Checkpoint started
16:54:06 Checkpoint finished, log reused
16:54:08 Server online at 1112 (pid 16955)
16:55:37 Checkpoint started
16:55:38 Checkpoint finished, log reused
16:55:39 Checkpoint started
16:55:39 Checkpoint finished, log reused
16:55:40 Checkpoint started
16:55:40 Checkpoint finished, log reused
16:55:53 Checkpoint started
16:55:54 Checkpoint finished, log reused
17:22:27 Checkpoint started
17:23:02 Checkpoint finished, log reused
17:23:05 Checkpoint started
17:23:09 Checkpoint finished, log reused
17:26:34 Checkpoint started
17:27:20 Checkpoint finished, log reused
17:27:41 * Monitor: Low query memory limit, try to increase MaxQueryMem
------------------------------------------------------------------------------
CenturyLink Cloud: The Leader in Enterprise Cloud Services.
Learn Why More Businesses Are Choosing CenturyLink Cloud For
Critical Workloads, Development Environments & Everything In Between.
Get a Quote or Start a Free Trial Today.
http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.clktrk
_______________________________________________
Virtuoso-users mailing list
Virtuoso-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/virtuoso-users