On 18/07/16 14:50, Andy Seaborne wrote:
So obvious question - what testing has been done? And was it in a live scenario?
Not if "live" means "in a production version".
I constructed a big(ish) boring dataset
for s in {1..10000}; do
for p in {1..10}; do
for o in {27..42}; do
echo "<http://chris.com/loc/"$s">" "<http://chris.com/prop/"$p">" $o . ;
done;
done;
done > mega.ttl
and loaded it into a Fuseki serving its default graph.
I instrumented the code of the comparator so that it announced itself
to on System.err every few thousands of calls to compare -- I adjusted the
number so that the entire query generated 10-20 messages.
I ran the query with
s-query --service http://localhost:3030/ds/query 'SELECT * {?s ?p ?o} ORDER
BY ?o'
and a simple config file with no timeout to size up the messages.
Then I ran the query on Fuseki's with different timeouts (ie,
restarting Fuseki for each revised configuration file timeout
setting). When the timeout happens (observation: log message
on console) then there is at most (and usually) one additional
message from the comparator, indicating that the sort has been
abandoned. Shorten the timeout (enough) and additional comparator
messages no longer appear.
It would be nice if the code followed the formatting conventions the project now
tends to follow.
Oops! I thought I'd fixed those. Which conventions am I flouting?
I will sort them out in a bit.
There are some development code items in the diff that need removing.
I will do that in the pull request.
Chris
--
"If I were you, I would go to the crackpots." /They Shall Have Stars/
Epimorphics Ltd, http://www.epimorphics.com
Registered address: Court Lodge, 105 High Street, Portishead, Bristol BS20 6PT
Epimorphics Ltd. is a limited company registered in England (number 7016688)