Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Upgrade Jena version to 3.16.0 #196

Merged
1 commit merged into from
Dec 3, 2020
Merged

Upgrade Jena version to 3.16.0 #196

1 commit merged into from
Dec 3, 2020

Conversation

awoods
Copy link
Member

@awoods awoods commented Nov 25, 2020

Related to: https://jira.lyrasis.org/browse/VIVO-1943

What does this pull request do?

Upgrades Jena from 3.11.0 to 3.16.0

What's new?

No functional change

How should this be tested?

A successful build indicates success

Additional Notes:

Based on the comment in the jena-users, I do not expect this upgrade will fix the issue in VIVO-1943.
However, the upgrade should generally be useful. I am happy to follow-up with another commit that adds the patch mentioned in the ticket regarding the use of Syntax.syntaxARQ.

Interested parties

@VIVO-project/vivo-committers

Copy link
Member

@brianjlowe brianjlowe left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This actually fixes VIVO-1943. With 50K insert batches, the master branch immediately throws StackOverflowExceptions. With this pull request applied, works fine.

@ghost ghost merged commit 936305b into vivo-project:master Dec 3, 2020
@awoods awoods deleted the vivo-1943 branch December 3, 2020 15:01
@sarbajitdutta
Copy link

This actually fixes VIVO-1943. With 50K insert batches, the master branch immediately throws StackOverflowExceptions. With this pull request applied, works fine.

@brianjlowe How are you doing the batch inserts? Have you used the VIVO Update api for 50k inserts? I had some problem with SDB direct when I was using v3 Jena libraries. It went away when I updated to 3.16.0 for ReCiter-Connect.

@brianjlowe
Copy link
Member

@sarbajitdutta My testing was exclusively using the VIVO SPARQL Update API. This was a series of INSERT DATA { GRAPH <...> { ... } } requests to the API where each request contained 50000 serialized triples.

@sarbajitdutta
Copy link

@brianjlowe @awoods I tried the fix but for big publications it fails with this message. Also, I did not set the maxPostSize in tomcat server.xml for 8080 port. By default it fails and it vivo.all.log it says this
2020-12-03 14:47:02,645 ERROR [BasicAuthenticator] Trying to check for valid fields on a null user.


reactor.netty.http.client.PrematureCloseException: Connection prematurely closed BEFORE response

2020-12-03 14:47:03.743  INFO 87121 --- [pool-3-thread-4] r.c.v.s.p.s.VivoPublicationsServiceImpl  : Api Exception

reactor.core.Exceptions$ReactiveException: reactor.netty.http.client.PrematureCloseException: Connection prematurely closed BEFORE response
        at reactor.core.Exceptions.propagate(Exceptions.java:393) ~[reactor-core-3.3.10.RELEASE.jar:3.3.10.RELEASE]
        at reactor.core.publisher.BlockingSingleSubscriber.blockingGet(BlockingSingleSubscriber.java:97) ~[reactor-core-3.3.10.RELEASE.jar:3.3.10.RELEASE]
        at reactor.core.publisher.Mono.block(Mono.java:1680) ~[reactor-core-3.3.10.RELEASE.jar:3.3.10.RELEASE]
        at reciter.connect.vivo.api.client.VivoClient.vivoUpdateApi(VivoClient.java:60) ~[classes/:na]
        at reciter.connect.vivo.sdb.publications.service.VivoPublicationsServiceImpl.importPublications(VivoPublicationsServiceImpl.java:435) [classes/:na]
        at reciter.connect.vivo.sdb.publications.service.VivoPublicationsServiceImpl.publicationsExist(VivoPublicationsServiceImpl.java:752) [classes/:na]
        at reciter.connect.vivo.sdb.publications.service.VivoPublicationsServiceImpl$1.call(VivoPublicationsServiceImpl.java:926) [classes/:na]
        at reciter.connect.vivo.sdb.publications.service.VivoPublicationsServiceImpl$1.call(VivoPublicationsServiceImpl.java:1) [classes/:na]
        at java.util.concurrent.FutureTask.run(FutureTask.java:266) [na:1.8.0_91]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_91]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_91]
        at java.lang.Thread.run(Thread.java:745) [na:1.8.0_91]
        Suppressed: java.lang.Exception: #block terminated with an error
                at reactor.core.publisher.BlockingSingleSubscriber.blockingGet(BlockingSingleSubscriber.java:99) ~[reactor-core-3.3.10.RELEASE.jar:3.3.10.RELEASE]
                ... 10 common frames omitted
Caused by: reactor.netty.http.client.PrematureCloseException: Connection prematurely closed BEFORE response
        Suppressed: reactor.core.publisher.FluxOnAssembly$OnAssemblyException: 
Error has been observed at the following site(s):
        |_ checkpoint ⇢ Request to POST http://localhost:8080/api/sparqlUpdate [DefaultWebClient]

awoods pushed a commit to awoods/Vitro that referenced this pull request Jan 28, 2021
* Upgrade Jena version to 3.16.0 (vivo-project#196)

Related to: https://jira.lyrasis.org/browse/VIVO-1943

* remove example-settings.xml
* update home directory untar non-destructive
* checksum digest to retain modified files
* compare checksum from digest with existing file
* overwrite files that have not changed
* add command to manually generate checksum digest
* simplify parsing checksum digest using pattern

Co-authored-by: Andrew Woods <awoods@lyrasis.org>
Co-authored-by: Andrew Woods <awoods@duraspace.org>
awoods pushed a commit to awoods/Vitro that referenced this pull request Feb 4, 2021
* Upgrade Jena version to 3.16.0 (vivo-project#196)

Related to: https://jira.lyrasis.org/browse/VIVO-1943

* remove example-settings.xml
* update home directory untar non-destructive
* checksum digest to retain modified files
* compare checksum from digest with existing file
* overwrite files that have not changed
* add command to manually generate checksum digest
* simplify parsing checksum digest using pattern
* do not overwrite file if same as already exists

Co-authored-by: Andrew Woods <awoods@lyrasis.org>
Co-authored-by: Andrew Woods <awoods@duraspace.org>
roflinn pushed a commit that referenced this pull request Feb 5, 2021
* Create vivo/home on application start-up

- Add logic for untarring vivo-home

Related to: https://jira.lyrasis.org/browse/VIVO-1443

* Require runtime.properties and applicationSetup.n3 be in 'config/' dir

Related to: https://jira.lyrasis.org/browse/VIVO-1443

* Support loading config files with or without 'default' prefix
* Prioritize without the prefix

Related to: https://jira.lyrasis.org/browse/VIVO-1443

* Add leading slash to location of vivo-home.tar resource path
* This allows for deployment in both Tomcat and Jetty

Related to: https://jira.lyrasis.org/browse/VIVO-1443

* Ensure VIVO_HOME is populated whether it is empty or not

Related to: https://jira.lyrasis.org/browse/VIVO-1443

* Require common properties to be in JNDI

Properties include:
- vitro/home
- vitro/appName
- vitro/rootUserAddress
- vitro/defaultNamespace

Related to: https://jira.lyrasis.org/browse/VIVO-1443

* VIVO-1443: non destructive vivo home untarring (#2)

* Upgrade Jena version to 3.16.0 (#196)

Related to: https://jira.lyrasis.org/browse/VIVO-1943

* remove example-settings.xml
* update home directory untar non-destructive
* checksum digest to retain modified files
* compare checksum from digest with existing file
* overwrite files that have not changed
* add command to manually generate checksum digest
* simplify parsing checksum digest using pattern

Co-authored-by: Andrew Woods <awoods@lyrasis.org>
Co-authored-by: Andrew Woods <awoods@duraspace.org>

* not overwrite existing file if same as tar entry (#3)

* Upgrade Jena version to 3.16.0 (#196)

Related to: https://jira.lyrasis.org/browse/VIVO-1943

* remove example-settings.xml
* update home directory untar non-destructive
* checksum digest to retain modified files
* compare checksum from digest with existing file
* overwrite files that have not changed
* add command to manually generate checksum digest
* simplify parsing checksum digest using pattern
* do not overwrite file if same as already exists

Co-authored-by: Andrew Woods <awoods@lyrasis.org>
Co-authored-by: Andrew Woods <awoods@duraspace.org>

* Update log messages for clarity

Co-authored-by: Andrew Woods <awoods@duraspace.org>
Co-authored-by: William Welling <wwelling@library.tamu.edu>
Co-authored-by: Gross, Benjamin <benjamin.gross@clarivate.com>
This pull request was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
3 participants