Old code.
On 11/05/18 20:07, ajs6f wrote: Not to hijack the thread, (new thread? or at least change the subject?) but I think a natural question is: do we have any other such examples (well-defined portions of code that aren't under any real maintenance and that we are not releasing)? All the code is available for inspection as is the documentation so it would be useful to check that. One I know of: jena-maven-tools/ isn't currently being built because it it breaks with the latest Apache parent (not the first time this has happened). Andy
Re: parsing and matching triples
On 11/05/18 20:35, ajs6f wrote: On May 9, 2018, at 3:31 AM, Dave Reynoldswrote: On 08/05/18 16:55, ajs6f wrote: Forking a thread off to dev@: Do we have a global policy about where null is accepted as a wildcard? I know it works in at least some places... You have mentioned one place - any others? I would love to (over an appropriate period of time and with lots of warnings and deprecation and so forth) stop letting it be a wildcard and require code to use the actual wildcard objects. -1 We have a huge amount of code that assumes null-as-wildcard as provided for in the public RDF API and I doubt we're alone. There would no chance of porting all that through a normal deprecation cycle. Fair enough, Dave. Just to be clear, are you saying as much as that new methods in the public API should always accept null-as-wildcard, or just that we oughtn't be changing extant methods now? The public API - Model/Statement/RDFNode - uses null for wildcard. So does CommonsRDF. It is an idiom that is understood by users. In Jena, internally, null in triple pattern and quad pattern API calls gets converted to Node.ANY. Triples can not contain nulls. It's enforced. Quads can only have null in the G slot (which is special - different discussion), though not S, P or O. It's enforced. The big pain with nulls is returned values leading to NPEs. That's not the case here, which is usage for arguments to functions/methods. Andy This overlaps with the debate around Optional as argument. e.g. first answer to: Brian Goetz answer: https://stackoverflow.com/questions/26327957/should-java-8-getters-return-optional-type/26328555#26328555 and the quote in the second answer. also https://stackoverflow.com/questions/31922866/why-should-java-8s-optional-not-be-used-in-arguments Andy ajs6f Dave On May 8, 2018, at 11:51 AM, Andy Seaborne wrote: Barry, As a general concept "matching" happens at different levels. Triple.match corresponds to the matching done by Graph.find - RDF terms (URI, bnode, literal) match exactly, and Node.ANY is a wildcard. Triple t1 = Triple.ANY; Triple t2 = SSE.parseTriple("(:s :p :o)"); t1.matches(t2) -> true t2.matches(t1) -> false Variables are a concept for SPARQL - and matches usefully need to return which variable matched which RDF Term. Triple patterns match against graphs and return an iterator of ways they match. Consider cases like "?x ?p ?x" where the variables impose am additional shape. If you want variable bindings, you could build a SPARQL query or wrap up some of the internal code e.g. /** Evaluate a triple pattern */ private static QueryIterator match(Graph source, Triple pattern) { ExecutionContext execContext = new ExecutionContext(ARQ.getContext(), source, null, null) ; QueryIterator chain = QueryIterRoot.create(execContext) chain = new QueryIterTriplePattern(chain, pattern, execContext) ; return chain ; } Andy On 08/05/18 09:21, Nouwt, B. (Barry) wrote: Hi everybody, I’m trying to reuse Apache Jena code that parses and matches triples. I’m currently looking at the SSE class’s parseTriple() method. This seems to fit my purpose for parsing a string representation of a triple into a triple object. I also noticed the following Javadoc on the Node.maches(Node) method: Answer true iff this node accepts the other one as a match. The default is an equality test; it is over-ridden in subclasses to provide the appropriate semantics for literals, ANY, and variables. Since this is exactly what I’m looking for, I’ve tried to match two triples using the matches() method, but it does not seem to work: Triple t1 = SSE.parseTriple("(?s ?p ?o)"); Triple t2 = SSE.parseTriple("(test:subject test:predicate test:object)", pm); t1.matches(t2) The final statement returns false, while I would expect it to return true. Either, I’m missing something (which is completely realistic ), or I should use some other method to match two triples in the way described above. Any help is appreciated! Regards, Barry This message may contain information that is not intended for you. If you are not the addressee or if this message was sent to you by mistake, you are requested to inform the sender and delete the message. TNO accepts no liability for the content of this e-mail, for the manner in which you use it and for damage of any kind resulting from the risks inherent to the electronic transmission of messages.
Re: parsing and matching triples
> On May 9, 2018, at 3:31 AM, Dave Reynoldswrote: > > On 08/05/18 16:55, ajs6f wrote: >> Forking a thread off to dev@: >> Do we have a global policy about where null is accepted as a wildcard? I >> know it works in at least some places... >> I would love to (over an appropriate period of time and with lots of >> warnings and deprecation and so forth) stop letting it be a wildcard and >> require code to use the actual wildcard objects. > > -1 > > We have a huge amount of code that assumes null-as-wildcard as provided for > in the public RDF API and I doubt we're alone. There would no chance of > porting all that through a normal deprecation cycle. Fair enough, Dave. Just to be clear, are you saying as much as that new methods in the public API should always accept null-as-wildcard, or just that we oughtn't be changing extant methods now? ajs6f > Dave > >>> On May 8, 2018, at 11:51 AM, Andy Seaborne wrote: >>> >>> Barry, >>> >>> As a general concept "matching" happens at different levels. >>> >>> Triple.match corresponds to the matching done by Graph.find - RDF terms >>> (URI, bnode, literal) match exactly, and Node.ANY is a wildcard. >>> >>> Triple t1 = Triple.ANY; >>> Triple t2 = SSE.parseTriple("(:s :p :o)"); >>> t1.matches(t2) -> true >>> t2.matches(t1) -> false >>> >>> Variables are a concept for SPARQL - and matches usefully need to return >>> which variable matched which RDF Term. >>> >>> Triple patterns match against graphs and return an iterator of ways they >>> match. >>> >>> Consider cases like "?x ?p ?x" where the variables impose am additional >>> shape. >>> >>> If you want variable bindings, you could build a SPARQL query or wrap up >>> some of the internal code e.g. >>> >>> /** Evaluate a triple pattern */ >>> private static QueryIterator match(Graph source, Triple pattern) { >>>ExecutionContext execContext = >>> new ExecutionContext(ARQ.getContext(), source, null, null) ; >>>QueryIterator chain = QueryIterRoot.create(execContext) >>>chain = new QueryIterTriplePattern(chain, pattern, execContext) ; >>>return chain ; >>> } >>> >>>Andy >>> >>> On 08/05/18 09:21, Nouwt, B. (Barry) wrote: Hi everybody, I’m trying to reuse Apache Jena code that parses and matches triples. I’m currently looking at the SSE class’s parseTriple() method. This seems to fit my purpose for parsing a string representation of a triple into a triple object. I also noticed the following Javadoc on the Node.maches(Node) method: Answer true iff this node accepts the other one as a match. The default is an equality test; it is over-ridden in subclasses to provide the appropriate semantics for literals, ANY, and variables. Since this is exactly what I’m looking for, I’ve tried to match two triples using the matches() method, but it does not seem to work: Triple t1 = SSE.parseTriple("(?s ?p ?o)"); Triple t2 = SSE.parseTriple("(test:subject test:predicate test:object)", pm); t1.matches(t2) The final statement returns false, while I would expect it to return true. Either, I’m missing something (which is completely realistic ), or I should use some other method to match two triples in the way described above. Any help is appreciated! Regards, Barry This message may contain information that is not intended for you. If you are not the addressee or if this message was sent to you by mistake, you are requested to inform the sender and delete the message. TNO accepts no liability for the content of this e-mail, for the manner in which you use it and for damage of any kind resulting from the risks inherent to the electronic transmission of messages.
Re: parsing and matching triples
Unfortunately, Andy, e.g. the Javadocs for DatasetGraph::delete and ::deleteAny are just /** Delete a quad */ public void delete(Node g, Node s, Node p, Node o) ; /** Delete any quads matching the pattern */ public void deleteAny(Node g, Node s, Node p, Node o) ; So maybe part of this clears up with just a few more comments. I'll try to get a PR in for that. The semantics for matching still seem a bit odd. E.g. in Node_ANY I find @Override public boolean matches( Node other ) { return other != null; } which is obviously not unworkable (we all use it every day) but does seem to distinguish between null and Node_ANY. The Javadocs for match() are: /** Answer true iff this node accepts the other one as a match. The default is an equality test; it is over-ridden in subclasses to provide the appropriate semantics for literals, ANY, and variables. @param other a node to test for matching @return true iff this node accepts the other as a match */ which doesn't discuss null. ajs6f > On May 9, 2018, at 8:23 AM, Andy Seabornewrote: > > > > On 08/05/18 16:55, ajs6f wrote: > >> Do we have a global policy about where null is accepted as a wildcard? I >> know it works in at least some places... > > > I know it works in at least some places... > > Some operations are matches (Graph.find, Graph.contains, Graph.remove; > DatasetGraph similarly) and the javadoc should be clear on this. > > Others such as add/delete are for concrete items - no wildcards. > >Andy >
Re: Jena Eyeball [was: JENA-1541]
Not to hijack the thread, but I think a natural question is: do we have any other such examples (well-defined portions of code that aren't under any real maintenance and that we are not releasing)? ajs6f > On May 11, 2018, at 9:10 AM, Chris Dollin> wrote: > > (Sorry for previous empty reply, hit wrong button) > > I'm the original developer of Eyeball. It is several years since any work > has been done on it, and I suspect that it is now obsolete, that is, > that there other tools with equivalent functionality (though I don't > know what they are). > > Putting it somewhere designated "Attic" with a red label saying > "use at your own risk" seems reasonable. > > Chris > > On 11 May 2018 at 13:57, Chris Dollin wrote: > >> >> >> On 11 May 2018 at 13:11, Andy Seaborne wrote: >> >>> Edward found Eyeball via: >>> >>> https://jena.apache.org/documentation/tools/eyeball-getting-started.html >>> >>> Eyeball is mentioned: >>> >>> documentation/tools/index.mdtext >>> documentation/tools/eyeball-guide.mdtext >>> documentation/tools/eyeball-getting-started.mdtext >>> documentation/tools/eyeball-manual.mdtext >>> >>> The tools page has schemagen and eyeball on it. >>> >>> eyeball-getting-started says "file a JIRA". >>> >>> What should we do? >>> If it is not released, do we retire it from the documentation? >>> >>>Andy >>> >>> >>> On 04/05/18 11:39, Edward (JIRA) wrote: >>> Edward created JENA-1541: Summary: Jena Eyeball - ant test fails with TestCase Error Key: JENA-1541 URL: https://issues.apache.org/jira/browse/JENA-1541 Project: Apache Jena Issue Type: Question Components: Eyeball, Jena Reporter: Edward Hello, I'm trying to get Jena Eyeball running. I wanted to do the Tutorial on [here|[https://jena.apache.org/documentation/tools/eyeball-g etting-started.html],] but it failed with following error: {code:java} [junit] Testcase: warning(junit.framework.TestSuite$1):FAILED [junit] Class com.hp.hpl.jena.eyeball.inspec tors.test.TestMoreOwlSyntaxInspector has no public constructor TestCase(String name) or TestCase() [junit] junit.framework.AssertionFailedError: Class com.hp.hpl.jena.eyeball.inspectors.test.TestMoreOwlSyntaxInspector has no public constructor TestCase(String name) or TestCase() [junit] [junit] BUILD FAILED /**/Downloads/eyeball-2.3/build.xml:146: Test com.hp.hpl.jena.eyeball.inspectors.test.TestMoreOwlSyntaxInspector failed {code} The tutorial says if the ant test doesn't pass, I should file a Jira Issue. So that's what I am doing. Help would be much appreciated! Greetings, Edward -- This message was sent by Atlassian JIRA (v7.6.3#76005) >> >> >> -- >> "What I don't understand is this ..." Trevor Chaplin, /The Beiderbeck >> Affair/ >> >> 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) >> > > > > -- > "What I don't understand is this ..." Trevor Chaplin, /The Beiderbeck > Affair/ > > 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)
Re: Jena Eyeball [was: JENA-1541]
(Sorry for previous empty reply, hit wrong button) I'm the original developer of Eyeball. It is several years since any work has been done on it, and I suspect that it is now obsolete, that is, that there other tools with equivalent functionality (though I don't know what they are). Putting it somewhere designated "Attic" with a red label saying "use at your own risk" seems reasonable. Chris On 11 May 2018 at 13:57, Chris Dollinwrote: > > > On 11 May 2018 at 13:11, Andy Seaborne wrote: > >> Edward found Eyeball via: >> >> https://jena.apache.org/documentation/tools/eyeball-getting-started.html >> >> Eyeball is mentioned: >> >> documentation/tools/index.mdtext >> documentation/tools/eyeball-guide.mdtext >> documentation/tools/eyeball-getting-started.mdtext >> documentation/tools/eyeball-manual.mdtext >> >> The tools page has schemagen and eyeball on it. >> >> eyeball-getting-started says "file a JIRA". >> >> What should we do? >> If it is not released, do we retire it from the documentation? >> >> Andy >> >> >> On 04/05/18 11:39, Edward (JIRA) wrote: >> >>> Edward created JENA-1541: >>> >>> >>> Summary: Jena Eyeball - ant test fails with TestCase Error >>> Key: JENA-1541 >>> URL: https://issues.apache.org/jira/browse/JENA-1541 >>> Project: Apache Jena >>>Issue Type: Question >>>Components: Eyeball, Jena >>> Reporter: Edward >>> >>> >>> Hello, >>> >>> I'm trying to get Jena Eyeball running. I wanted to do the Tutorial on >>> [here|[https://jena.apache.org/documentation/tools/eyeball-g >>> etting-started.html],] but it failed with following error: >>> {code:java} >>> [junit] Testcase: warning(junit.framework.TestSuite$1):FAILED >>> [junit] Class com.hp.hpl.jena.eyeball.inspec >>> tors.test.TestMoreOwlSyntaxInspector has no public constructor >>> TestCase(String name) or TestCase() >>> [junit] junit.framework.AssertionFailedError: Class >>> com.hp.hpl.jena.eyeball.inspectors.test.TestMoreOwlSyntaxInspector has >>> no public constructor TestCase(String name) or TestCase() >>> [junit] >>> [junit] >>> >>> BUILD FAILED >>> /**/Downloads/eyeball-2.3/build.xml:146: Test >>> com.hp.hpl.jena.eyeball.inspectors.test.TestMoreOwlSyntaxInspector >>> failed >>> {code} >>> The tutorial says if the ant test doesn't pass, I should file a Jira >>> Issue. So that's what I am doing. >>> Help would be much appreciated! >>> >>> >>> Greetings, >>> >>> Edward >>> >>> >>> >>> -- >>> This message was sent by Atlassian JIRA >>> (v7.6.3#76005) >>> >>> > > > -- > "What I don't understand is this ..." Trevor Chaplin, /The Beiderbeck > Affair/ > > 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) > -- "What I don't understand is this ..." Trevor Chaplin, /The Beiderbeck Affair/ 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)
Re: Jena Eyeball [was: JENA-1541]
I can see two options: retire it from the docs, or set up a special doc area with lots of warnings on it for "unmaintained/experimental/use-at-your-own-risk/no releases" stuff. We've talked about what to do with non-core stuff before, but this seems a bit different... ajs6f > On May 11, 2018, at 8:11 AM, Andy Seabornewrote: > > Edward found Eyeball via: > > https://jena.apache.org/documentation/tools/eyeball-getting-started.html > > Eyeball is mentioned: > > documentation/tools/index.mdtext > documentation/tools/eyeball-guide.mdtext > documentation/tools/eyeball-getting-started.mdtext > documentation/tools/eyeball-manual.mdtext > > The tools page has schemagen and eyeball on it. > > eyeball-getting-started says "file a JIRA". > > What should we do? > If it is not released, do we retire it from the documentation? > >Andy > > > On 04/05/18 11:39, Edward (JIRA) wrote: >> Edward created JENA-1541: >> >> Summary: Jena Eyeball - ant test fails with TestCase Error >> Key: JENA-1541 >> URL: https://issues.apache.org/jira/browse/JENA-1541 >> Project: Apache Jena >> Issue Type: Question >> Components: Eyeball, Jena >> Reporter: Edward >> Hello, >> I'm trying to get Jena Eyeball running. I wanted to do the Tutorial on >> [here|[https://jena.apache.org/documentation/tools/eyeball-getting-started.html],] >> but it failed with following error: >> {code:java} >> [junit] Testcase: warning(junit.framework.TestSuite$1):FAILED >> [junit] Class >> com.hp.hpl.jena.eyeball.inspectors.test.TestMoreOwlSyntaxInspector has no >> public constructor TestCase(String name) or TestCase() >> [junit] junit.framework.AssertionFailedError: Class >> com.hp.hpl.jena.eyeball.inspectors.test.TestMoreOwlSyntaxInspector has no >> public constructor TestCase(String name) or TestCase() >> [junit] >> [junit] >> BUILD FAILED >> /**/Downloads/eyeball-2.3/build.xml:146: Test >> com.hp.hpl.jena.eyeball.inspectors.test.TestMoreOwlSyntaxInspector failed >> {code} >> The tutorial says if the ant test doesn't pass, I should file a Jira Issue. >> So that's what I am doing. >> Help would be much appreciated! >> Greetings, >> Edward >> -- >> This message was sent by Atlassian JIRA >> (v7.6.3#76005)
Re: Jena Eyeball [was: JENA-1541]
On 11 May 2018 at 13:11, Andy Seabornewrote: > Edward found Eyeball via: > > https://jena.apache.org/documentation/tools/eyeball-getting-started.html > > Eyeball is mentioned: > > documentation/tools/index.mdtext > documentation/tools/eyeball-guide.mdtext > documentation/tools/eyeball-getting-started.mdtext > documentation/tools/eyeball-manual.mdtext > > The tools page has schemagen and eyeball on it. > > eyeball-getting-started says "file a JIRA". > > What should we do? > If it is not released, do we retire it from the documentation? > > Andy > > > On 04/05/18 11:39, Edward (JIRA) wrote: > >> Edward created JENA-1541: >> >> >> Summary: Jena Eyeball - ant test fails with TestCase Error >> Key: JENA-1541 >> URL: https://issues.apache.org/jira/browse/JENA-1541 >> Project: Apache Jena >>Issue Type: Question >>Components: Eyeball, Jena >> Reporter: Edward >> >> >> Hello, >> >> I'm trying to get Jena Eyeball running. I wanted to do the Tutorial on >> [here|[https://jena.apache.org/documentation/tools/eyeball- >> getting-started.html],] but it failed with following error: >> {code:java} >> [junit] Testcase: warning(junit.framework.TestSuite$1):FAILED >> [junit] Class com.hp.hpl.jena.eyeball.inspec >> tors.test.TestMoreOwlSyntaxInspector has no public constructor >> TestCase(String name) or TestCase() >> [junit] junit.framework.AssertionFailedError: Class >> com.hp.hpl.jena.eyeball.inspectors.test.TestMoreOwlSyntaxInspector has >> no public constructor TestCase(String name) or TestCase() >> [junit] >> [junit] >> >> BUILD FAILED >> /**/Downloads/eyeball-2.3/build.xml:146: Test >> com.hp.hpl.jena.eyeball.inspectors.test.TestMoreOwlSyntaxInspector failed >> {code} >> The tutorial says if the ant test doesn't pass, I should file a Jira >> Issue. So that's what I am doing. >> Help would be much appreciated! >> >> >> Greetings, >> >> Edward >> >> >> >> -- >> This message was sent by Atlassian JIRA >> (v7.6.3#76005) >> >> -- "What I don't understand is this ..." Trevor Chaplin, /The Beiderbeck Affair/ 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)
REMINDER: Apache EU Roadshow 2018 schedule announced!
Hello Apache Supporters and Enthusiasts This is a reminder that the schedule for the Apache EU Roadshow 2018 in Berlin has been announced. http://apachecon.com/euroadshow18/schedule.html Please note that we will not be running an ApacheCon in Europe this year which means that this Apache EU Roadshow will be the main Apache event in Europe for 2018. The Apache EU Roadshow tracks take place on the 13th and 14th June 2018, and will feature 28 sessions across the following themes; Apache Tomcat, IoT , Cloud Technologies, Microservices and Apache Httpd Server. Please note that the Apache EU Roadshow is co-located with FOSS Backstage and their schedule (https://foss-backstage.de/sessions) includes many Apache related sessions such as Incubator, Apache Way, Open Source Governance, Legal, Trademarks as well as a full range community related presentations and panel discussions. One single registration gives you access to both events - the Apache EU Roadshow and FOSS Backstage. Registration includes catering (breakfast & lunch both days) and also an attendee evening event. And if you want to have a project meet-up, hack or simply spend time and relax in our on-site Apache Lounge between sessions, then you are more than welcome. We look forward to seeing you in Berlin! Thanks Sharan Foga, VP Apache Community Development PLEASE NOTE: You are receiving this message because you are subscribed to a user@ or dev@ list of one or more Apache Software Foundation projects.
Jena Eyeball [was: JENA-1541]
Edward found Eyeball via: https://jena.apache.org/documentation/tools/eyeball-getting-started.html Eyeball is mentioned: documentation/tools/index.mdtext documentation/tools/eyeball-guide.mdtext documentation/tools/eyeball-getting-started.mdtext documentation/tools/eyeball-manual.mdtext The tools page has schemagen and eyeball on it. eyeball-getting-started says "file a JIRA". What should we do? If it is not released, do we retire it from the documentation? Andy On 04/05/18 11:39, Edward (JIRA) wrote: Edward created JENA-1541: Summary: Jena Eyeball - ant test fails with TestCase Error Key: JENA-1541 URL: https://issues.apache.org/jira/browse/JENA-1541 Project: Apache Jena Issue Type: Question Components: Eyeball, Jena Reporter: Edward Hello, I'm trying to get Jena Eyeball running. I wanted to do the Tutorial on [here|[https://jena.apache.org/documentation/tools/eyeball-getting-started.html],] but it failed with following error: {code:java} [junit] Testcase: warning(junit.framework.TestSuite$1): FAILED [junit] Class com.hp.hpl.jena.eyeball.inspectors.test.TestMoreOwlSyntaxInspector has no public constructor TestCase(String name) or TestCase() [junit] junit.framework.AssertionFailedError: Class com.hp.hpl.jena.eyeball.inspectors.test.TestMoreOwlSyntaxInspector has no public constructor TestCase(String name) or TestCase() [junit] [junit] BUILD FAILED /**/Downloads/eyeball-2.3/build.xml:146: Test com.hp.hpl.jena.eyeball.inspectors.test.TestMoreOwlSyntaxInspector failed {code} The tutorial says if the ant test doesn't pass, I should file a Jira Issue. So that's what I am doing. Help would be much appreciated! Greetings, Edward -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Updated] (JENA-1545) Add ParserProfileWrapper
[ https://issues.apache.org/jira/browse/JENA-1545?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Andy Seaborne updated JENA-1545: Summary: Add ParserProfileWrapper (was: Add ParserProfileWrapper; expose checkTriple/checkQuad.) > Add ParserProfileWrapper > > > Key: JENA-1545 > URL: https://issues.apache.org/jira/browse/JENA-1545 > Project: Apache Jena > Issue Type: Improvement > Components: RIOT >Affects Versions: Jena 3.7.0 >Reporter: Andy Seaborne >Priority: Major > > See [https://github.com/apache/jena/pull/299] > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Resolved] (JENA-1302) Intermittent Lucene prepareCommit exception during heavy read/write load
[ https://issues.apache.org/jira/browse/JENA-1302?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Andy Seaborne resolved JENA-1302. - Resolution: Fixed Fix Version/s: Jena 3.8.0 JENA-1542 fixes this. Re-running the test case that was showing the lockup (run with the latest post-3.7.0 Jena code) at about operation 200. It now executes 8000 concurrent operations to completion in a single run without lock up. > Intermittent Lucene prepareCommit exception during heavy read/write load > > > Key: JENA-1302 > URL: https://issues.apache.org/jira/browse/JENA-1302 > Project: Apache Jena > Issue Type: Bug > Components: Fuseki, TDB, Text >Affects Versions: Jena 3.3.0 > Environment: CentOS 7.3 inside VM, 2 cores, OpenJDK 1.8.0_121 > (64-bit), 1GB JVM heap, Fuseki running as service >Reporter: Vilnis Termanis (Iotic Labs) >Assignee: Andy Seaborne >Priority: Major > Fix For: Jena 3.8.0 > > Attachments: Jena1302_LuceneCommit.java, netstat.log, > prepareCommit_error.tgz, visualvm_thread_dump.log > > > (*Note*: Could not add Fuseki 2.6.0 as affected version although I assume > this is a TDB/text rather than Fuseki-related issue.) > *Steps:* > # Start with plain Fuseki + given configuration (TDB store + lucene text > indexing) > # Import 1k.ttl > # Run lockup.py (same host, mix of multiple parallel updates & single select) > *Result:* > Every now and again one of the update queries fails with a 500 server error > which is logged as: > {{DatasetGraphText ERROR Exception in prepareCommit: prepareCommit was > already called with no corresponding call to commit}} > *Notes:* > - Not reproducible without fix for JENA-1296 (and discovered during fix > verification for said issue) > - Run with > [apache-jena-fuseki-2.6.0-20170228.233930-10.tar.gz|https://repository.apache.org/content/repositories/snapshots/org/apache/jena/apache-jena-fuseki/2.6.0-SNAPSHOT/apache-jena-fuseki-2.6.0-20170228.233930-10.tar.gz] > - From cold-start of Fuseki, occurs within 30s of script run > - Supplied test script required Python 3, {{rdflib>=4.2.2}} & > {{SPARQLWrapper>=1.8.0}} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Resolved] (JENA-1542) Allow addition of transaction components after initial setup.
[ https://issues.apache.org/jira/browse/JENA-1542?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Andy Seaborne resolved JENA-1542. - Resolution: Fixed Fix Version/s: Jena 3.8.0 > Allow addition of transaction components after initial setup. > - > > Key: JENA-1542 > URL: https://issues.apache.org/jira/browse/JENA-1542 > Project: Apache Jena > Issue Type: Improvement > Components: TDB, TDB2 >Affects Versions: Jena 3.7.0 >Reporter: Andy Seaborne >Assignee: Andy Seaborne >Priority: Major > Fix For: Jena 3.8.0 > > > Currently: > * TDB1: the set of {{TransactionLifecycle}} components is fixed > * TDB2: the set of {{TransactionComponents}} is frozen during creation of a > dataset. > In order to be able to add a text index into the transaction handling, allow > new items to be added (carefully) into the transaction subsystem for a > dataset. > This is necessary for JENA-1302. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (JENA-1542) Allow addition of transaction components after initial setup.
[ https://issues.apache.org/jira/browse/JENA-1542?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16471778#comment-16471778 ] ASF subversion and git services commented on JENA-1542: --- Commit 27ad5b74d8322d35e203cab41024f32a7b0eda24 in jena's branch refs/heads/master from [~andy.seaborne] [ https://git-wip-us.apache.org/repos/asf?p=jena.git;h=27ad5b7 ] JENA-1542: Allow TransactionComponents to be added. > Allow addition of transaction components after initial setup. > - > > Key: JENA-1542 > URL: https://issues.apache.org/jira/browse/JENA-1542 > Project: Apache Jena > Issue Type: Improvement > Components: TDB, TDB2 >Affects Versions: Jena 3.7.0 >Reporter: Andy Seaborne >Assignee: Andy Seaborne >Priority: Major > > Currently: > * TDB1: the set of {{TransactionLifecycle}} components is fixed > * TDB2: the set of {{TransactionComponents}} is frozen during creation of a > dataset. > In order to be able to add a text index into the transaction handling, allow > new items to be added (carefully) into the transaction subsystem for a > dataset. > This is necessary for JENA-1302. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (JENA-1542) Allow addition of transaction components after initial setup.
[ https://issues.apache.org/jira/browse/JENA-1542?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16471781#comment-16471781 ] ASF subversion and git services commented on JENA-1542: --- Commit ee053b7d4d161daa4e22a19c52a364843e0303ef in jena's branch refs/heads/master from [~andy.seaborne] [ https://git-wip-us.apache.org/repos/asf?p=jena.git;h=ee053b7 ] JENA-1542: Merge commit 'refs/pull/414/head' of https://github.com/apache/jena This closes #414. > Allow addition of transaction components after initial setup. > - > > Key: JENA-1542 > URL: https://issues.apache.org/jira/browse/JENA-1542 > Project: Apache Jena > Issue Type: Improvement > Components: TDB, TDB2 >Affects Versions: Jena 3.7.0 >Reporter: Andy Seaborne >Assignee: Andy Seaborne >Priority: Major > > Currently: > * TDB1: the set of {{TransactionLifecycle}} components is fixed > * TDB2: the set of {{TransactionComponents}} is frozen during creation of a > dataset. > In order to be able to add a text index into the transaction handling, allow > new items to be added (carefully) into the transaction subsystem for a > dataset. > This is necessary for JENA-1302. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (JENA-1302) Intermittent Lucene prepareCommit exception during heavy read/write load
[ https://issues.apache.org/jira/browse/JENA-1302?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16471780#comment-16471780 ] ASF subversion and git services commented on JENA-1302: --- Commit 2d6330f4712c26390213861f3891126f1ae69e2d in jena's branch refs/heads/master from [~andy.seaborne] [ https://git-wip-us.apache.org/repos/asf?p=jena.git;h=2d6330f ] JENA-1542, JENA-1302: Integrate jena-text with TDB1 and TDB2 transactions. > Intermittent Lucene prepareCommit exception during heavy read/write load > > > Key: JENA-1302 > URL: https://issues.apache.org/jira/browse/JENA-1302 > Project: Apache Jena > Issue Type: Bug > Components: Fuseki, TDB, Text >Affects Versions: Jena 3.3.0 > Environment: CentOS 7.3 inside VM, 2 cores, OpenJDK 1.8.0_121 > (64-bit), 1GB JVM heap, Fuseki running as service >Reporter: Vilnis Termanis (Iotic Labs) >Assignee: Andy Seaborne >Priority: Major > Attachments: Jena1302_LuceneCommit.java, netstat.log, > prepareCommit_error.tgz, visualvm_thread_dump.log > > > (*Note*: Could not add Fuseki 2.6.0 as affected version although I assume > this is a TDB/text rather than Fuseki-related issue.) > *Steps:* > # Start with plain Fuseki + given configuration (TDB store + lucene text > indexing) > # Import 1k.ttl > # Run lockup.py (same host, mix of multiple parallel updates & single select) > *Result:* > Every now and again one of the update queries fails with a 500 server error > which is logged as: > {{DatasetGraphText ERROR Exception in prepareCommit: prepareCommit was > already called with no corresponding call to commit}} > *Notes:* > - Not reproducible without fix for JENA-1296 (and discovered during fix > verification for said issue) > - Run with > [apache-jena-fuseki-2.6.0-20170228.233930-10.tar.gz|https://repository.apache.org/content/repositories/snapshots/org/apache/jena/apache-jena-fuseki/2.6.0-SNAPSHOT/apache-jena-fuseki-2.6.0-20170228.233930-10.tar.gz] > - From cold-start of Fuseki, occurs within 30s of script run > - Supplied test script required Python 3, {{rdflib>=4.2.2}} & > {{SPARQLWrapper>=1.8.0}} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (JENA-1542) Allow addition of transaction components after initial setup.
[ https://issues.apache.org/jira/browse/JENA-1542?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16471777#comment-16471777 ] ASF subversion and git services commented on JENA-1542: --- Commit 06f713d9d11b15bb55858ca778d31496da89daec in jena's branch refs/heads/master from [~andy.seaborne] [ https://git-wip-us.apache.org/repos/asf?p=jena.git;h=06f713d ] JENA-1542: Add JenaLifecycle elements to an existing TransactionManager Clearup the JenaLifecycle phases: * add a post-commit step * rename the write-back steps > Allow addition of transaction components after initial setup. > - > > Key: JENA-1542 > URL: https://issues.apache.org/jira/browse/JENA-1542 > Project: Apache Jena > Issue Type: Improvement > Components: TDB, TDB2 >Affects Versions: Jena 3.7.0 >Reporter: Andy Seaborne >Assignee: Andy Seaborne >Priority: Major > > Currently: > * TDB1: the set of {{TransactionLifecycle}} components is fixed > * TDB2: the set of {{TransactionComponents}} is frozen during creation of a > dataset. > In order to be able to add a text index into the transaction handling, allow > new items to be added (carefully) into the transaction subsystem for a > dataset. > This is necessary for JENA-1302. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (JENA-1542) Allow addition of transaction components after initial setup.
[ https://issues.apache.org/jira/browse/JENA-1542?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16471782#comment-16471782 ] ASF GitHub Bot commented on JENA-1542: -- Github user asfgit closed the pull request at: https://github.com/apache/jena/pull/414 > Allow addition of transaction components after initial setup. > - > > Key: JENA-1542 > URL: https://issues.apache.org/jira/browse/JENA-1542 > Project: Apache Jena > Issue Type: Improvement > Components: TDB, TDB2 >Affects Versions: Jena 3.7.0 >Reporter: Andy Seaborne >Assignee: Andy Seaborne >Priority: Major > > Currently: > * TDB1: the set of {{TransactionLifecycle}} components is fixed > * TDB2: the set of {{TransactionComponents}} is frozen during creation of a > dataset. > In order to be able to add a text index into the transaction handling, allow > new items to be added (carefully) into the transaction subsystem for a > dataset. > This is necessary for JENA-1302. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (JENA-1542) Allow addition of transaction components after initial setup.
[ https://issues.apache.org/jira/browse/JENA-1542?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16471779#comment-16471779 ] ASF subversion and git services commented on JENA-1542: --- Commit 2d6330f4712c26390213861f3891126f1ae69e2d in jena's branch refs/heads/master from [~andy.seaborne] [ https://git-wip-us.apache.org/repos/asf?p=jena.git;h=2d6330f ] JENA-1542, JENA-1302: Integrate jena-text with TDB1 and TDB2 transactions. > Allow addition of transaction components after initial setup. > - > > Key: JENA-1542 > URL: https://issues.apache.org/jira/browse/JENA-1542 > Project: Apache Jena > Issue Type: Improvement > Components: TDB, TDB2 >Affects Versions: Jena 3.7.0 >Reporter: Andy Seaborne >Assignee: Andy Seaborne >Priority: Major > > Currently: > * TDB1: the set of {{TransactionLifecycle}} components is fixed > * TDB2: the set of {{TransactionComponents}} is frozen during creation of a > dataset. > In order to be able to add a text index into the transaction handling, allow > new items to be added (carefully) into the transaction subsystem for a > dataset. > This is necessary for JENA-1302. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[GitHub] jena pull request #414: JENA-1542: Integrate Lucene index in transaction lif...
Github user asfgit closed the pull request at: https://github.com/apache/jena/pull/414 ---