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

Build on JDK 11 #1148

Closed
17 tasks done
barthanssens opened this issue Oct 25, 2018 · 46 comments · Fixed by #1671
Closed
17 tasks done

Build on JDK 11 #1148

barthanssens opened this issue Oct 25, 2018 · 46 comments · Fixed by #1671
Assignees
Labels
📶 enhancement issue is a new feature or improvement
Milestone

Comments

@barthanssens
Copy link
Contributor

barthanssens commented Oct 25, 2018

Oracle JDK 11 is an LTS version, so OpenJDK 11 might also be an interesting version to support

Some EE classes like JAXB are removed in JDK 11, e.g. maven complains about missing javax.xml.bind.annotation.adapters.HexBinaryAdapter when building rdf4j-tools etc

More info can be found here: https://blog.codefx.org/java/java-11-migration-guide/

And here (modular development) https://www.youtube.com/watch?v=gtcTftvj0d0&feature=youtu.be&t=32m19s

Todo:

  • use Maven 3.6.1
  • workaround for javadoc errors / NPE
  • upgrade maven plugins
    • Upgrade japicmp-maven-plugin (e.g. 0.14.0)
  • upgrade Apache HttpCore to 4.4.11
  • upgrade AssertJ to 3.11
  • upgrade Mockito to 2.23.4
    • ignore module.info when using 'maven enforce bytecode JDK 1.8' (modules in byte-buddy dependency)
  • upgrade server/workbench to Spring 5.1
  • add JAXB-api
  • add other EE modules removed in recent JDK
    • javax.annotation (jakarta)

Status:

  • mvn clean install -DskipTests
  • mvn clean install -Passembly -DskipTests
  • mvn clean install
  • mvn clean install -Passembly
  • mvn clean install -Pcompliance
@barthanssens barthanssens added the 📶 enhancement issue is a new feature or improvement label Oct 25, 2018
@barthanssens barthanssens added this to the 3.0 milestone Dec 17, 2018
@hmottestad
Copy link
Contributor

hmottestad commented Mar 6, 2019

  • Upgrade japicmp-maven-plugin
  • Upgrade maven-javadoc-plugin

@hmottestad
Copy link
Contributor

bumping the maven-javadoc-plugin version causes this:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-javadoc-plugin:3.1.0:aggregate (create-aggregate-javadoc) on project rdf4j-storage: An error has occurred in Javadoc report generation: 
[ERROR] Exit code: 1 - /Users/havardottestad/Documents/Programming/RDF4J/rdf4j-storage/elasticsearch/src/main/java/org/eclipse/rdf4j/sail/elasticsearch/ElasticsearchIndex.java:36: error: package org.elasticsearch.action does not exist
[ERROR] import org.elasticsearch.action.ActionRequestBuilder;
[ERROR]                                ^
[ERROR] /Users/havardottestad/Documents/Programming/RDF4J/rdf4j-storage/elasticsearch/src/main/java/org/eclipse/rdf4j/sail/elasticsearch/ElasticsearchIndex.java:37: error: package org.elasticsearch.action.admin.cluster.health does not exist
[ERROR] import org.elasticsearch.action.admin.cluster.health.ClusterHealthRequestBuilder;
[ERROR]                                                     ^
[ERROR] /Users/havardottestad/Documents/Programming/RDF4J/rdf4j-storage/elasticsearch/src/main/java/org/eclipse/rdf4j/sail/elasticsearch/ElasticsearchIndex.java:38: error: package org.elasticsearch.action.admin.cluster.health does not exist
[ERROR] import org.elasticsearch.action.admin.cluster.health.ClusterHealthResponse;
[ERROR]                                                     ^
[ERROR] /Users/havardottestad/Documents/Programming/RDF4J/rdf4j-storage/elasticsearch/src/main/java/org/eclipse/rdf4j/sail/elasticsearch/ElasticsearchIndex.java:39: error: package org.elasticsearch.action.get does not exist
[ERROR] import org.elasticsearch.action.get.GetResponse;
[ERROR]                                    ^
[ERROR] /Users/havardottestad/Documents/Programming/RDF4J/rdf4j-storage/elasticsearch/src/main/java/org/eclipse/rdf4j/sail/elasticsearch/ElasticsearchIndex.java:40: error: package org.elasticsearch.action.index does not exist
[ERROR] import org.elasticsearch.action.index.IndexResponse;
[ERROR]                                      ^
[ERROR] /Users/havardottestad/Documents/Programming/RDF4J/rdf4j-storage/elasticsearch/src/main/java/org/eclipse/rdf4j/sail/elasticsearch/ElasticsearchIndex.java:41: error: package org.elasticsearch.action.search does not exist
[ERROR] import org.elasticsearch.action.search.SearchRequestBuilder;
[ERROR]                                       ^
[ERROR] /Users/havardottestad/Documents/Programming/RDF4J/rdf4j-storage/elasticsearch/src/main/java/org/eclipse/rdf4j/sail/elasticsearch/ElasticsearchIndex.java:42: error: package org.elasticsearch.action.search does not exist
[ERROR] import org.elasticsearch.action.search.SearchResponse;
[ERROR]                                       ^
[ERROR] /Users/havardottestad/Documents/Programming/RDF4J/rdf4j-storage/elasticsearch/src/main/java/org/eclipse/rdf4j/sail/elasticsearch/ElasticsearchIndex.java:43: error: package org.elasticsearch.action.support.master does not exist
[ERROR] import org.elasticsearch.action.support.master.AcknowledgedResponse;
[ERROR]                                               ^
[ERROR] /Users/havardottestad/Documents/Programming/RDF4J/rdf4j-storage/elasticsearch/src/main/java/org/eclipse/rdf4j/sail/elasticsearch/ElasticsearchIndex.java:44: error: package org.elasticsearch.action.update does not exist
[ERROR] import org.elasticsearch.action.update.UpdateResponse;
[ERROR]                                       ^
[ERROR] /Users/havardottestad/Documents/Programming/RDF4J/rdf4j-storage/elasticsearch/src/main/java/org/eclipse/rdf4j/sail/elasticsearch/ElasticsearchIndex.java:45: error: package org.elasticsearch.client does not exist
[ERROR] import org.elasticsearch.client.Client;
[ERROR]                                ^
[ERROR] /Users/havardottestad/Documents/Programming/RDF4J/rdf4j-storage/elasticsearch/src/main/java/org/eclipse/rdf4j/sail/elasticsearch/ElasticsearchIndex.java:46: error: package org.elasticsearch.client.transport does not exist
[ERROR] import org.elasticsearch.client.transport.TransportClient;
[ERROR]                                          ^
[ERROR] /Users/havardottestad/Documents/Programming/RDF4J/rdf4j-storage/elasticsearch/src/main/java/org/eclipse/rdf4j/sail/elasticsearch/ElasticsearchIndex.java:47: error: package org.elasticsearch.cluster.health does not exist
[ERROR] import org.elasticsearch.cluster.health.ClusterIndexHealth;
[ERROR]                                        ^
[ERROR] /Users/havardottestad/Documents/Programming/RDF4J/rdf4j-storage/elasticsearch/src/main/java/org/eclipse/rdf4j/sail/elasticsearch/ElasticsearchIndex.java:48: error: package org.elasticsearch.cluster.metadata does not exist
[ERROR] import org.elasticsearch.cluster.metadata.MappingMetaData;
[ERROR]                                          ^
[ERROR] /Users/havardottestad/Documents/Programming/RDF4J/rdf4j-storage/elasticsearch/src/main/java/org/eclipse/rdf4j/sail/elasticsearch/ElasticsearchIndex.java:49: error: package org.elasticsearch.common.collect does not exist
[ERROR] import org.elasticsearch.common.collect.ImmutableOpenMap;
[ERROR]                                        ^
[ERROR] /Users/havardottestad/Documents/Programming/RDF4J/rdf4j-storage/elasticsearch/src/main/java/org/eclipse/rdf4j/sail/elasticsearch/ElasticsearchIndex.java:50: error: package org.elasticsearch.common.geo does not exist
[ERROR] import org.elasticsearch.common.geo.GeoPoint;
[ERROR]                                    ^
[ERROR] /Users/havardottestad/Documents/Programming/RDF4J/rdf4j-storage/elasticsearch/src/main/java/org/eclipse/rdf4j/sail/elasticsearch/ElasticsearchIndex.java:51: error: package org.elasticsearch.common.geo does not exist
[ERROR] import org.elasticsearch.common.geo.ShapeRelation;
[ERROR]                                    ^
[ERROR] /Users/havardottestad/Documents/Programming/RDF4J/rdf4j-storage/elasticsearch/src/main/java/org/eclipse/rdf4j/sail/elasticsearch/ElasticsearchIndex.java:52: error: package org.elasticsearch.common.settings does not exist
[ERROR] import org.elasticsearch.common.settings.Settings;
[ERROR]                                         ^
[ERROR] /Users/havardottestad/Documents/Programming/RDF4J/rdf4j-storage/elasticsearch/src/main/java/org/eclipse/rdf4j/sail/elasticsearch/ElasticsearchIndex.java:53: error: package org.elasticsearch.common.transport does not exist
[ERROR] import org.elasticsearch.common.transport.InetSocketTransportAddress;
[ERROR]                                          ^
[ERROR] /Users/havardottestad/Documents/Programming/RDF4J/rdf4j-storage/elasticsearch/src/main/java/org/eclipse/rdf4j/sail/elasticsearch/ElasticsearchIndex.java:54: error: package org.elasticsearch.common.transport does not exist
[ERROR] import org.elasticsearch.common.transport.LocalTransportAddress;
[ERROR]                                          ^
[ERROR] /Users/havardottestad/Documents/Programming/RDF4J/rdf4j-storage/elasticsearch/src/main/java/org/eclipse/rdf4j/sail/elasticsearch/ElasticsearchIndex.java:55: error: package org.elasticsearch.common.transport does not exist
[ERROR] import org.elasticsearch.common.transport.TransportAddress;
[ERROR]                                          ^
[ERROR] /Users/havardottestad/Documents/Programming/RDF4J/rdf4j-storage/elasticsearch/src/main/java/org/eclipse/rdf4j/sail/elasticsearch/ElasticsearchIndex.java:56: error: package org.elasticsearch.common.unit does not exist
[ERROR] import org.elasticsearch.common.unit.DistanceUnit;
[ERROR]                                     ^
[ERROR] /Users/havardottestad/Documents/Programming/RDF4J/rdf4j-storage/elasticsearch/src/main/java/org/eclipse/rdf4j/sail/elasticsearch/ElasticsearchIndex.java:57: error: package org.elasticsearch.common.xcontent does not exist
[ERROR] import org.elasticsearch.common.xcontent.XContentBuilder;
[ERROR]                                         ^
[ERROR] /Users/havardottestad/Documents/Programming/RDF4J/rdf4j-storage/elasticsearch/src/main/java/org/eclipse/rdf4j/sail/elasticsearch/ElasticsearchIndex.java:58: error: package org.elasticsearch.common.xcontent does not exist
[ERROR] import org.elasticsearch.common.xcontent.XContentFactory;
[ERROR]                                         ^
[ERROR] /Users/havardottestad/Documents/Programming/RDF4J/rdf4j-storage/elasticsearch/src/main/java/org/eclipse/rdf4j/sail/elasticsearch/ElasticsearchIndex.java:59: error: package org.elasticsearch.index.query does not exist
[ERROR] import org.elasticsearch.index.query.BoolQueryBuilder;
[ERROR]                                     ^
[ERROR] /Users/havardottestad/Documents/Programming/RDF4J/rdf4j-storage/elasticsearch/src/main/java/org/eclipse/rdf4j/sail/elasticsearch/ElasticsearchIndex.java:60: error: package org.elasticsearch.index.query does not exist
[ERROR] import org.elasticsearch.index.query.GeoShapeQueryBuilder;
[ERROR]                                     ^
[ERROR] /Users/havardottestad/Documents/Programming/RDF4J/rdf4j-storage/elasticsearch/src/main/java/org/eclipse/rdf4j/sail/elasticsearch/ElasticsearchIndex.java:61: error: package org.elasticsearch.index.query does not exist
[ERROR] import org.elasticsearch.index.query.QueryBuilder;
[ERROR]                                     ^
[ERROR] /Users/havardottestad/Documents/Programming/RDF4J/rdf4j-storage/elasticsearch/src/main/java/org/eclipse/rdf4j/sail/elasticsearch/ElasticsearchIndex.java:62: error: package org.elasticsearch.index.query does not exist
[ERROR] import org.elasticsearch.index.query.QueryBuilders;
[ERROR]                                     ^
[ERROR] /Users/havardottestad/Documents/Programming/RDF4J/rdf4j-storage/elasticsearch/src/main/java/org/eclipse/rdf4j/sail/elasticsearch/ElasticsearchIndex.java:63: error: package org.elasticsearch.index.query does not exist
[ERROR] import org.elasticsearch.index.query.QueryStringQueryBuilder;
[ERROR]                                     ^
[ERROR] /Users/havardottestad/Documents/Programming/RDF4J/rdf4j-storage/elasticsearch/src/main/java/org/eclipse/rdf4j/sail/elasticsearch/ElasticsearchIndex.java:64: error: package org.elasticsearch.index.query.functionscore does not exist
[ERROR] import org.elasticsearch.index.query.functionscore.ScoreFunctionBuilders;
[ERROR]                                                   ^
[ERROR] /Users/havardottestad/Documents/Programming/RDF4J/rdf4j-storage/elasticsearch/src/main/java/org/eclipse/rdf4j/sail/elasticsearch/ElasticsearchIndex.java:65: error: package org.elasticsearch.index.reindex does not exist
[ERROR] import org.elasticsearch.index.reindex.DeleteByQueryAction;
[ERROR]                                       ^
[ERROR] /Users/havardottestad/Documents/Programming/RDF4J/rdf4j-storage/elasticsearch/src/main/java/org/eclipse/rdf4j/sail/elasticsearch/ElasticsearchIndex.java:66: error: package org.elasticsearch.rest does not exist
[ERROR] import org.elasticsearch.rest.RestStatus;
[ERROR]                              ^
[ERROR] /Users/havardottestad/Documents/Programming/RDF4J/rdf4j-storage/elasticsearch/src/main/java/org/eclipse/rdf4j/sail/elasticsearch/ElasticsearchIndex.java:67: error: package org.elasticsearch.search does not exist
[ERROR] import org.elasticsearch.search.SearchHit;
[ERROR]                                ^
[ERROR] /Users/havardottestad/Documents/Programming/RDF4J/rdf4j-storage/elasticsearch/src/main/java/org/eclipse/rdf4j/sail/elasticsearch/ElasticsearchIndex.java:68: error: package org.elasticsearch.search does not exist
[ERROR] import org.elasticsearch.search.SearchHits;
[ERROR]                                ^
[ERROR] /Users/havardottestad/Documents/Programming/RDF4J/rdf4j-storage/elasticsearch/src/main/java/org/eclipse/rdf4j/sail/elasticsearch/ElasticsearchIndex.java:69: error: package org.elasticsearch.search.builder does not exist
[ERROR] import org.elasticsearch.search.builder.SearchSourceBuilder;
[ERROR]                                        ^
[ERROR] /Users/havardottestad/Documents/Programming/RDF4J/rdf4j-storage/elasticsearch/src/main/java/org/eclipse/rdf4j/sail/elasticsearch/ElasticsearchIndex.java:70: error: package org.elasticsearch.search.fetch.subphase.highlight does not exist
[ERROR] import org.elasticsearch.search.fetch.subphase.highlight.HighlightBuilder;
[ERROR]                                                         ^
[ERROR] /Users/havardottestad/Documents/Programming/RDF4J/rdf4j-storage/elasticsearch/src/main/java/org/eclipse/rdf4j/sail/elasticsearch/ElasticsearchIndex.java:71: error: package org.elasticsearch.transport.client does not exist
[ERROR] import org.elasticsearch.transport.client.PreBuiltTransportClient;
[ERROR]                                          ^
[ERROR] /Users/havardottestad/Documents/Programming/RDF4J/rdf4j-storage/elasticsearch/src/main/java/org/eclipse/rdf4j/sail/elasticsearch/ElasticsearchIndex.java:167: error: cannot find symbol
[ERROR]         private volatile TransportClient client;
[ERROR]                          ^
[ERROR]   symbol:   class TransportClient
[ERROR]   location: class ElasticsearchIndex
[ERROR] /Users/havardottestad/Documents/Programming/RDF4J/rdf4j-storage/elasticsearch/src/main/java/org/eclipse/rdf4j/sail/elasticsearch/ElasticsearchIndex.java:454: error: cannot find symbol
[ERROR]         private SearchHits getDocuments(QueryBuilder query)
[ERROR]                                         ^
[ERROR]   symbol:   class QueryBuilder
[ERROR]   location: class ElasticsearchIndex
[ERROR] /Users/havardottestad/Documents/Programming/RDF4J/rdf4j-storage/elasticsearch/src/main/java/org/eclipse/rdf4j/sail/elasticsearch/ElasticsearchIndex.java:454: error: cannot find symbol
[ERROR]         private SearchHits getDocuments(QueryBuilder query)
[ERROR]                 ^
[ERROR]   symbol:   class SearchHits
[ERROR]   location: class ElasticsearchIndex
[ERROR] /Users/havardottestad/Documents/Programming/RDF4J/rdf4j-storage/elasticsearch/src/main/java/org/eclipse/rdf4j/sail/elasticsearch/ElasticsearchIndex.java:620: error: cannot find symbol
[ERROR]         public SearchHits search(Resource resource, SearchRequestBuilder request, QueryBuilder query) {
[ERROR]                                                     ^
[ERROR]   symbol:   class SearchRequestBuilder
[ERROR]   location: class ElasticsearchIndex
[ERROR] /Users/havardottestad/Documents/Programming/RDF4J/rdf4j-storage/elasticsearch/src/main/java/org/eclipse/rdf4j/sail/elasticsearch/ElasticsearchIndex.java:620: error: cannot find symbol
[ERROR]         public SearchHits search(Resource resource, SearchRequestBuilder request, QueryBuilder query) {
[ERROR]                                                                                   ^
[ERROR]   symbol:   class QueryBuilder
[ERROR]   location: class ElasticsearchIndex
[ERROR] /Users/havardottestad/Documents/Programming/RDF4J/rdf4j-storage/elasticsearch/src/main/java/org/eclipse/rdf4j/sail/elasticsearch/ElasticsearchIndex.java:620: error: cannot find symbol
[ERROR]         public SearchHits search(Resource resource, SearchRequestBuilder request, QueryBuilder query) {
[ERROR]                ^
[ERROR]   symbol:   class SearchHits
[ERROR]   location: class ElasticsearchIndex
[ERROR] /Users/havardottestad/Documents/Programming/RDF4J/rdf4j-storage/elasticsearch/src/main/java/org/eclipse/rdf4j/sail/elasticsearch/ElasticsearchIndex.java:679: error: cannot find symbol
[ERROR]         private QueryBuilder addContextTerm(QueryBuilder qb, Resource ctx) {
[ERROR]                                             ^
[ERROR]   symbol:   class QueryBuilder
[ERROR]   location: class ElasticsearchIndex
[ERROR] /Users/havardottestad/Documents/Programming/RDF4J/rdf4j-storage/elasticsearch/src/main/java/org/eclipse/rdf4j/sail/elasticsearch/ElasticsearchIndex.java:679: error: cannot find symbol
[ERROR]         private QueryBuilder addContextTerm(QueryBuilder qb, Resource ctx) {
[ERROR]                 ^
[ERROR]   symbol:   class QueryBuilder
[ERROR]   location: class ElasticsearchIndex
[ERROR] /Users/havardottestad/Documents/Programming/RDF4J/rdf4j-storage/elasticsearch/src/main/java/org/eclipse/rdf4j/sail/elasticsearch/ElasticsearchIndex.java:724: error: cannot find symbol
[ERROR]         private ShapeRelation toSpatialOp(String relation) {
[ERROR]                 ^
[ERROR]   symbol:   class ShapeRelation
[ERROR]   location: class ElasticsearchIndex
[ERROR] /Users/havardottestad/Documents/Programming/RDF4J/rdf4j-storage/elasticsearch/src/main/java/org/eclipse/rdf4j/sail/elasticsearch/ElasticsearchIndex.java:740: error: cannot find symbol
[ERROR]         public SearchHits search(SearchRequestBuilder request, QueryBuilder query) {
[ERROR]                                  ^
[ERROR]   symbol:   class SearchRequestBuilder
[ERROR]   location: class ElasticsearchIndex
[ERROR] /Users/havardottestad/Documents/Programming/RDF4J/rdf4j-storage/elasticsearch/src/main/java/org/eclipse/rdf4j/sail/elasticsearch/ElasticsearchIndex.java:740: error: cannot find symbol
[ERROR]         public SearchHits search(SearchRequestBuilder request, QueryBuilder query) {
[ERROR]                                                                ^
[ERROR]   symbol:   class QueryBuilder
[ERROR]   location: class ElasticsearchIndex
[ERROR] /Users/havardottestad/Documents/Programming/RDF4J/rdf4j-storage/elasticsearch/src/main/java/org/eclipse/rdf4j/sail/elasticsearch/ElasticsearchIndex.java:740: error: cannot find symbol
[ERROR]         public SearchHits search(SearchRequestBuilder request, QueryBuilder query) {
[ERROR]                ^
[ERROR]   symbol:   class SearchHits
[ERROR]   location: class ElasticsearchIndex
[ERROR] /Users/havardottestad/Documents/Programming/RDF4J/rdf4j-storage/elasticsearch/src/main/java/org/eclipse/rdf4j/sail/elasticsearch/ElasticsearchIndex.java:756: error: cannot find symbol
[ERROR]         private QueryStringQueryBuilder prepareQuery(IRI propertyURI, QueryStringQueryBuilder query) {
[ERROR]                                                                       ^
[ERROR]   symbol:   class QueryStringQueryBuilder
[ERROR]   location: class ElasticsearchIndex
[ERROR] /Users/havardottestad/Documents/Programming/RDF4J/rdf4j-storage/elasticsearch/src/main/java/org/eclipse/rdf4j/sail/elasticsearch/ElasticsearchIndex.java:756: error: cannot find symbol
[ERROR]         private QueryStringQueryBuilder prepareQuery(IRI propertyURI, QueryStringQueryBuilder query) {
[ERROR]                 ^
[ERROR]   symbol:   class QueryStringQueryBuilder
[ERROR]   location: class ElasticsearchIndex
[ERROR] /Users/havardottestad/Documents/Programming/RDF4J/rdf4j-storage/elasticsearch/src/main/java/org/eclipse/rdf4j/sail/elasticsearch/ElasticsearchIndex.java:898: error: cannot find symbol
[ERROR]                         ActionRequestBuilder<?, ? extends AcknowledgedResponse, ?> request)
[ERROR]                         ^
[ERROR]   symbol:   class ActionRequestBuilder
[ERROR]   location: class ElasticsearchIndex
[ERROR] /Users/havardottestad/Documents/Programming/RDF4J/rdf4j-storage/elasticsearch/src/main/java/org/eclipse/rdf4j/sail/elasticsearch/ElasticsearchIndex.java:898: error: cannot find symbol
[ERROR]                         ActionRequestBuilder<?, ? extends AcknowledgedResponse, ?> request)
[ERROR]                                                           ^
[ERROR]   symbol:   class AcknowledgedResponse
[ERROR]   location: class ElasticsearchIndex
[ERROR] /Users/havardottestad/Documents/Programming/RDF4J/rdf4j-storage/elasticsearch/src/main/java/org/eclipse/rdf4j/sail/elasticsearch/ElasticsearchIndex.java:907: error: cannot find symbol
[ERROR]         private static long doIndexRequest(ActionRequestBuilder<?, ? extends IndexResponse, ?> request)
[ERROR]                                            ^
[ERROR]   symbol:   class ActionRequestBuilder
[ERROR]   location: class ElasticsearchIndex
[ERROR] /Users/havardottestad/Documents/Programming/RDF4J/rdf4j-storage/elasticsearch/src/main/java/org/eclipse/rdf4j/sail/elasticsearch/ElasticsearchIndex.java:907: error: cannot find symbol
[ERROR]         private static long doIndexRequest(ActionRequestBuilder<?, ? extends IndexResponse, ?> request)
[ERROR]                                                                              ^
[ERROR]   symbol:   class IndexResponse
[ERROR]   location: class ElasticsearchIndex
[ERROR] /Users/havardottestad/Documents/Programming/RDF4J/rdf4j-storage/elasticsearch/src/main/java/org/eclipse/rdf4j/sail/elasticsearch/ElasticsearchIndex.java:918: error: cannot find symbol
[ERROR]         private static long doUpdateRequest(ActionRequestBuilder<?, ? extends UpdateResponse, ?> request)
[ERROR]                                             ^
[ERROR]   symbol:   class ActionRequestBuilder
[ERROR]   location: class ElasticsearchIndex
[ERROR] /Users/havardottestad/Documents/Programming/RDF4J/rdf4j-storage/elasticsearch/src/main/java/org/eclipse/rdf4j/sail/elasticsearch/ElasticsearchIndex.java:918: error: cannot find symbol
[ERROR]         private static long doUpdateRequest(ActionRequestBuilder<?, ? extends UpdateResponse, ?> request)
[ERROR]                                                                               ^
[ERROR]   symbol:   class UpdateResponse
[ERROR]   location: class ElasticsearchIndex
[ERROR] /Users/havardottestad/Documents/Programming/RDF4J/rdf4j-storage/elasticsearch/src/main/java/org/eclipse/rdf4j/sail/elasticsearch/ElasticsearchDocumentScore.java:14: error: package org.elasticsearch.common.text does not exist
[ERROR] import org.elasticsearch.common.text.Text;
[ERROR]                                     ^
[ERROR] /Users/havardottestad/Documents/Programming/RDF4J/rdf4j-storage/elasticsearch/src/main/java/org/eclipse/rdf4j/sail/elasticsearch/ElasticsearchDocumentScore.java:15: error: package org.elasticsearch.search does not exist
[ERROR] import org.elasticsearch.search.SearchHit;
[ERROR]                                ^
[ERROR] /Users/havardottestad/Documents/Programming/RDF4J/rdf4j-storage/elasticsearch/src/main/java/org/eclipse/rdf4j/sail/elasticsearch/ElasticsearchDocumentScore.java:16: error: package org.elasticsearch.search.fetch.subphase.highlight does not exist
[ERROR] import org.elasticsearch.search.fetch.subphase.highlight.HighlightField;
[ERROR]                                                         ^
[ERROR] /Users/havardottestad/Documents/Programming/RDF4J/rdf4j-storage/elasticsearch/src/main/java/org/eclipse/rdf4j/sail/elasticsearch/ElasticsearchDocumentResult.java:12: error: package org.elasticsearch.search does not exist
[ERROR] import org.elasticsearch.search.SearchHit;
[ERROR]                                ^
[ERROR] /Users/havardottestad/Documents/Programming/RDF4J/rdf4j-storage/elasticsearch/src/main/java/org/eclipse/rdf4j/sail/elasticsearch/ElasticsearchDocumentScore.java:24: error: cannot find symbol
[ERROR]         public ElasticsearchDocumentScore(SearchHit hit,
[ERROR]                                           ^
[ERROR]   symbol:   class SearchHit
[ERROR]   location: class ElasticsearchDocumentScore
[ERROR] /Users/havardottestad/Documents/Programming/RDF4J/rdf4j-storage/elasticsearch/src/main/java/org/eclipse/rdf4j/sail/elasticsearch/ElasticsearchDocumentResult.java:19: error: cannot find symbol
[ERROR]         protected final SearchHit hit;
[ERROR]                         ^
[ERROR]   symbol:   class SearchHit
[ERROR]   location: class ElasticsearchDocumentResult
[ERROR] /Users/havardottestad/Documents/Programming/RDF4J/rdf4j-storage/elasticsearch/src/main/java/org/eclipse/rdf4j/sail/elasticsearch/ElasticsearchDocument.java:21: error: package org.elasticsearch.common.geo does not exist
[ERROR] import org.elasticsearch.common.geo.GeoHashUtils;
[ERROR]                                    ^
[ERROR] /Users/havardottestad/Documents/Programming/RDF4J/rdf4j-storage/elasticsearch/src/main/java/org/eclipse/rdf4j/sail/elasticsearch/ElasticsearchDocument.java:22: error: package org.elasticsearch.common.lucene.uid does not exist
[ERROR] import org.elasticsearch.common.lucene.uid.Versions;
[ERROR]                                           ^
[ERROR] /Users/havardottestad/Documents/Programming/RDF4J/rdf4j-storage/elasticsearch/src/main/java/org/eclipse/rdf4j/sail/elasticsearch/ElasticsearchDocument.java:23: error: package org.elasticsearch.search does not exist
[ERROR] import org.elasticsearch.search.SearchHit;
[ERROR]                                ^
[ERROR] /Users/havardottestad/Documents/Programming/RDF4J/rdf4j-storage/elasticsearch/src/main/java/org/eclipse/rdf4j/sail/elasticsearch/ElasticsearchDocumentResult.java:25: error: cannot find symbol
[ERROR]         public ElasticsearchDocumentResult(SearchHit hit,
[ERROR]                                            ^
[ERROR]   symbol:   class SearchHit
[ERROR]   location: class ElasticsearchDocumentResult
[ERROR] /Users/havardottestad/Documents/Programming/RDF4J/rdf4j-storage/elasticsearch/src/main/java/org/eclipse/rdf4j/sail/elasticsearch/ElasticsearchDocument.java:48: error: cannot find symbol
[ERROR]         public ElasticsearchDocument(SearchHit hit) {
[ERROR]                                      ^
[ERROR]   symbol:   class SearchHit
[ERROR]   location: class ElasticsearchDocument
[ERROR] /Users/havardottestad/Documents/Programming/RDF4J/rdf4j-storage/elasticsearch/src/main/java/org/eclipse/rdf4j/sail/elasticsearch/ElasticsearchDocument.java:52: error: cannot find symbol
[ERROR]         public ElasticsearchDocument(SearchHit hit,
[ERROR]                                      ^
[ERROR]   symbol:   class SearchHit
[ERROR]   location: class ElasticsearchDocument
[ERROR] /Users/havardottestad/Documents/Programming/RDF4J/rdf4j-storage/elasticsearch/src/main/java/org/eclipse/rdf4j/sail/elasticsearch/ElasticsearchDocumentDistance.java:14: error: package org.elasticsearch.common.geo does not exist
[ERROR] import org.elasticsearch.common.geo.GeoDistance;
[ERROR]                                    ^
[ERROR] /Users/havardottestad/Documents/Programming/RDF4J/rdf4j-storage/elasticsearch/src/main/java/org/eclipse/rdf4j/sail/elasticsearch/ElasticsearchDocumentDistance.java:15: error: package org.elasticsearch.common.geo does not exist
[ERROR] import org.elasticsearch.common.geo.GeoPoint;
[ERROR]                                    ^
[ERROR] /Users/havardottestad/Documents/Programming/RDF4J/rdf4j-storage/elasticsearch/src/main/java/org/eclipse/rdf4j/sail/elasticsearch/ElasticsearchDocumentDistance.java:16: error: package org.elasticsearch.common.unit does not exist
[ERROR] import org.elasticsearch.common.unit.DistanceUnit;
[ERROR]                                     ^
[ERROR] /Users/havardottestad/Documents/Programming/RDF4J/rdf4j-storage/elasticsearch/src/main/java/org/eclipse/rdf4j/sail/elasticsearch/ElasticsearchDocumentDistance.java:17: error: package org.elasticsearch.search does not exist
[ERROR] import org.elasticsearch.search.SearchHit;
[ERROR]                                ^
[ERROR] /Users/havardottestad/Documents/Programming/RDF4J/rdf4j-storage/elasticsearch/src/main/java/org/eclipse/rdf4j/sail/elasticsearch/ElasticsearchDocumentDistance.java:29: error: cannot find symbol
[ERROR]         private final GeoPoint srcPoint;
[ERROR]                       ^
[ERROR]   symbol:   class GeoPoint
[ERROR]   location: class ElasticsearchDocumentDistance
[ERROR] /Users/havardottestad/Documents/Programming/RDF4J/rdf4j-storage/elasticsearch/src/main/java/org/eclipse/rdf4j/sail/elasticsearch/ElasticsearchDocumentDistance.java:31: error: cannot find symbol
[ERROR]         private final DistanceUnit unit;
[ERROR]                       ^
[ERROR]   symbol:   class DistanceUnit
[ERROR]   location: class ElasticsearchDocumentDistance
[ERROR] /Users/havardottestad/Documents/Programming/RDF4J/rdf4j-storage/elasticsearch/src/main/java/org/eclipse/rdf4j/sail/elasticsearch/ElasticsearchDocumentDistance.java:33: error: cannot find symbol
[ERROR]         public ElasticsearchDocumentDistance(SearchHit hit,
[ERROR]                                              ^
[ERROR]   symbol:   class SearchHit
[ERROR]   location: class ElasticsearchDocumentDistance
[ERROR] /Users/havardottestad/Documents/Programming/RDF4J/rdf4j-storage/elasticsearch/src/main/java/org/eclipse/rdf4j/sail/elasticsearch/ElasticsearchDocumentDistance.java:35: error: cannot find symbol
[ERROR]                         IRI units, GeoPoint srcPoint, DistanceUnit unit)
[ERROR]                                    ^
[ERROR]   symbol:   class GeoPoint
[ERROR]   location: class ElasticsearchDocumentDistance
[ERROR] /Users/havardottestad/Documents/Programming/RDF4J/rdf4j-storage/elasticsearch/src/main/java/org/eclipse/rdf4j/sail/elasticsearch/ElasticsearchDocumentDistance.java:35: error: cannot find symbol
[ERROR]                         IRI units, GeoPoint srcPoint, DistanceUnit unit)
[ERROR]                                                       ^
[ERROR]   symbol:   class DistanceUnit
[ERROR]   location: class ElasticsearchDocumentDistance
[ERROR] /Users/havardottestad/Documents/Programming/RDF4J/rdf4j-storage/elasticsearch/src/main/java/org/eclipse/rdf4j/sail/elasticsearch/ElasticsearchBulkUpdater.java:14: error: package org.elasticsearch.action.bulk does not exist
[ERROR] import org.elasticsearch.action.bulk.BulkRequestBuilder;
[ERROR]                                     ^
[ERROR] /Users/havardottestad/Documents/Programming/RDF4J/rdf4j-storage/elasticsearch/src/main/java/org/eclipse/rdf4j/sail/elasticsearch/ElasticsearchBulkUpdater.java:15: error: package org.elasticsearch.action.bulk does not exist
[ERROR] import org.elasticsearch.action.bulk.BulkResponse;
[ERROR]                                     ^
[ERROR] /Users/havardottestad/Documents/Programming/RDF4J/rdf4j-storage/elasticsearch/src/main/java/org/eclipse/rdf4j/sail/elasticsearch/ElasticsearchBulkUpdater.java:16: error: package org.elasticsearch.client does not exist
[ERROR] import org.elasticsearch.client.Client;
[ERROR]                                ^
[ERROR] /Users/havardottestad/Documents/Programming/RDF4J/rdf4j-storage/elasticsearch/src/main/java/org/eclipse/rdf4j/sail/elasticsearch/ElasticsearchBulkUpdater.java:20: error: cannot find symbol
[ERROR]         private final Client client;
[ERROR]                       ^
[ERROR]   symbol:   class Client
[ERROR]   location: class ElasticsearchBulkUpdater
[ERROR] /Users/havardottestad/Documents/Programming/RDF4J/rdf4j-storage/elasticsearch/src/main/java/org/eclipse/rdf4j/sail/elasticsearch/ElasticsearchBulkUpdater.java:22: error: cannot find symbol
[ERROR]         private final BulkRequestBuilder bulkRequest;
[ERROR]                       ^
[ERROR]   symbol:   class BulkRequestBuilder
[ERROR]   location: class ElasticsearchBulkUpdater
[ERROR] /Users/havardottestad/Documents/Programming/RDF4J/rdf4j-storage/elasticsearch/src/main/java/org/eclipse/rdf4j/sail/elasticsearch/ElasticsearchBulkUpdater.java:24: error: cannot find symbol
[ERROR]         public ElasticsearchBulkUpdater(Client client) {
[ERROR]                                         ^
[ERROR]   symbol:   class Client
[ERROR]   location: class ElasticsearchBulkUpdater
[ERROR] /Users/havardottestad/Documents/Programming/RDF4J/rdf4j-storage/elasticsearch/src/main/java/org/eclipse/rdf4j/sail/elasticsearch/ElasticsearchSpatialSupport.java:12: error: package org.elasticsearch.common.geo.builders does not exist
[ERROR] import org.elasticsearch.common.geo.builders.ShapeBuilder;
[ERROR]                                             ^
[ERROR] /Users/havardottestad/Documents/Programming/RDF4J/rdf4j-storage/elasticsearch/src/main/java/org/eclipse/rdf4j/sail/elasticsearch/ElasticsearchSpatialSupport.java:43: error: cannot find symbol
[ERROR]         protected abstract ShapeBuilder toShapeBuilder(Shape s);
[ERROR]                            ^
[ERROR]   symbol:   class ShapeBuilder
[ERROR]   location: class ElasticsearchSpatialSupport
[ERROR] /Users/havardottestad/Documents/Programming/RDF4J/rdf4j-storage/elasticsearch/src/main/java/org/eclipse/rdf4j/sail/elasticsearch/ElasticsearchSpatialSupport.java:50: error: cannot find symbol
[ERROR]                 protected ShapeBuilder toShapeBuilder(Shape s) {
[ERROR]                           ^
[ERROR]   symbol:   class ShapeBuilder
[ERROR]   location: class DefaultElasticsearchSpatialSupport
[ERROR] /Users/havardottestad/Documents/Programming/RDF4J/rdf4j-storage/elasticsearch/src/main/java/org/eclipse/rdf4j/sail/elasticsearch/ElasticsearchQuery.java:17: error: package org.elasticsearch.action.search does not exist
[ERROR] import org.elasticsearch.action.search.SearchRequestBuilder;
[ERROR]                                       ^
[ERROR] /Users/havardottestad/Documents/Programming/RDF4J/rdf4j-storage/elasticsearch/src/main/java/org/eclipse/rdf4j/sail/elasticsearch/ElasticsearchQuery.java:18: error: package org.elasticsearch.index.query does not exist
[ERROR] import org.elasticsearch.index.query.QueryBuilder;
[ERROR]                                     ^
[ERROR] /Users/havardottestad/Documents/Programming/RDF4J/rdf4j-storage/elasticsearch/src/main/java/org/eclipse/rdf4j/sail/elasticsearch/ElasticsearchQuery.java:19: error: package org.elasticsearch.search does not exist
[ERROR] import org.elasticsearch.search.SearchHit;
[ERROR]                                ^
[ERROR] /Users/havardottestad/Documents/Programming/RDF4J/rdf4j-storage/elasticsearch/src/main/java/org/eclipse/rdf4j/sail/elasticsearch/ElasticsearchQuery.java:20: error: package org.elasticsearch.search does not exist
[ERROR] import org.elasticsearch.search.SearchHits;
[ERROR]                                ^
[ERROR] /Users/havardottestad/Documents/Programming/RDF4J/rdf4j-storage/elasticsearch/src/main/java/org/eclipse/rdf4j/sail/elasticsearch/ElasticsearchQuery.java:21: error: package org.elasticsearch.search.fetch.subphase.highlight does not exist
[ERROR] import org.elasticsearch.search.fetch.subphase.highlight.HighlightBuilder;
[ERROR]                                                         ^
[ERROR] /Users/havardottestad/Documents/Programming/RDF4J/rdf4j-storage/elasticsearch/src/main/java/org/eclipse/rdf4j/sail/elasticsearch/ElasticsearchQuery.java:32: error: cannot find symbol
[ERROR]         private final SearchRequestBuilder request;
[ERROR]                       ^
[ERROR]   symbol:   class SearchRequestBuilder
[ERROR]   location: class ElasticsearchQuery
[ERROR] /Users/havardottestad/Documents/Programming/RDF4J/rdf4j-storage/elasticsearch/src/main/java/org/eclipse/rdf4j/sail/elasticsearch/ElasticsearchQuery.java:34: error: cannot find symbol
[ERROR]         private final QueryBuilder qb;
[ERROR]                       ^
[ERROR]   symbol:   class QueryBuilder
[ERROR]   location: class ElasticsearchQuery
[ERROR] /Users/havardottestad/Documents/Programming/RDF4J/rdf4j-storage/elasticsearch/src/main/java/org/eclipse/rdf4j/sail/elasticsearch/ElasticsearchQuery.java:38: error: cannot find symbol
[ERROR]         public ElasticsearchQuery(SearchRequestBuilder request, QueryBuilder qb, ElasticsearchIndex index) {
[ERROR]                                   ^
[ERROR]   symbol:   class SearchRequestBuilder
[ERROR]   location: class ElasticsearchQuery
[ERROR] /Users/havardottestad/Documents/Programming/RDF4J/rdf4j-storage/elasticsearch/src/main/java/org/eclipse/rdf4j/sail/elasticsearch/ElasticsearchQuery.java:38: error: cannot find symbol
[ERROR]         public ElasticsearchQuery(SearchRequestBuilder request, QueryBuilder qb, ElasticsearchIndex index) {
[ERROR]                                                                 ^
[ERROR]   symbol:   class QueryBuilder
[ERROR]   location: class ElasticsearchQuery
[ERROR] /Users/havardottestad/Documents/Programming/RDF4J/rdf4j-storage/solr/src/main/java/org/eclipse/rdf4j/sail/solr/client/embedded/Factory.java:13: error: package org.apache.solr.client.solrj.embedded does not exist
[ERROR] import org.apache.solr.client.solrj.embedded.EmbeddedSolrServer;
[ERROR]                                             ^
[ERROR] /Users/havardottestad/Documents/Programming/RDF4J/rdf4j-storage/solr/src/main/java/org/eclipse/rdf4j/sail/solr/client/embedded/Factory.java:14: error: package org.apache.solr.core does not exist
[ERROR] import org.apache.solr.core.CoreContainer;
[ERROR]                            ^
[ERROR] /Users/havardottestad/Documents/Programming/RDF4J/rdf4j-storage/solr/src/main/java/org/eclipse/rdf4j/sail/solr/client/embedded/Factory.java:15: error: package org.apache.solr.core does not exist
[ERROR] import org.apache.solr.core.SolrResourceLoader;
[ERROR]                            ^
[ERROR] /Users/havardottestad/Documents/Programming/RDF4J/rdf4j-storage/solr/src/main/java/org/eclipse/rdf4j/sail/solr/client/embedded/Factory.java:16: error: package org.apache.solr.core does not exist
[ERROR] import org.apache.solr.core.SolrXmlConfig;
[ERROR]                            ^
[ERROR] 
[ERROR] Command line was: /Library/Java/JavaVirtualMachines/jdk-9.jdk/Contents/Home/bin/javadoc @options @packages
[ERROR] 
[ERROR] Refer to the generated Javadoc files in '/Users/havardottestad/Documents/Programming/RDF4J/rdf4j-storage/storage/target/site/apidocs' dir.
[ERROR] 
[ERROR] -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
[ERROR] 
[ERROR] After correcting the problems, you can resume the build with the command

@hmottestad
Copy link
Contributor

Elasticsearch is stuck on version 5. Bumping to the latest version of 5 (published Feb 19, 2019) does not seem to help :(

@barthanssens
Copy link
Contributor Author

There is another ticket on upgrade Solr/ES to 6.x, hopefully that'll work for JDK11 : #1114

@hmottestad
Copy link
Contributor

Should revisit this since ES has been upgraded. See what’s the next thing that needs fixing.

@barthanssens
Copy link
Contributor Author

The next thing is probably fixing/including the javax.* dependencies (e.g. java.xml.bind was part of the standard JDK until 10, but removed in JDK 11)

Maven allows for profiles which can activated by (for example) checking the JDK version, so probably a jdk11 profile has to be added with javax.* packages explicitly listed as a dependencies.

hmottestad added a commit that referenced this issue May 22, 2019
Signed-off-by: Håvard Ottestad <hmottestad@gmail.com>
@reckart
Copy link
Contributor

reckart commented May 24, 2019

I'm also getting problems that JavaDoc cannot find the elasticsearch packages when building aggregate javadocs on a different project (which does use RDF4J though). Any idea what causes those?

@hmottestad
Copy link
Contributor

@reckart did you try the "develop" branch?

@reckart
Copy link
Contributor

reckart commented May 24, 2019

@hmottestad no - did you fix the JavaDoc issue there? If yes - can you tell me how?

@reckart
Copy link
Contributor

reckart commented May 24, 2019

I can see that the problematic classes are in org.elasticsearch:elasticsearch but when I run the javadoc plugin with the "debug" flag (mvn -Ddebug javadoc:aggregate) which retains the options file in the target/site/apidocs folder, I can see that various elasticsearch JARs are passed to JavaDoc but not org.elasticsearch:elasticsearch.

@hmottestad
Copy link
Contributor

We upgraded elasticsearch. It’s in the develop branch since it’s targeted for the 3.0 release.

@reckart
Copy link
Contributor

reckart commented May 24, 2019

I tried even building against ElasticSearch 7.1.0 but the JavaDoc issue remained for me. Did you do anything else?

@hmottestad
Copy link
Contributor

I haven’t tried generating the javadocs with jdk 11.

@barthanssens barthanssens mentioned this issue May 29, 2019
1 task
@barthanssens
Copy link
Contributor Author

Since javax.* need to be re-included (available via the maven central repo) for JDK11, I assume this also requires creating a few CQ's

@hmottestad
Copy link
Contributor

I’ve been looking into that and apparently there is some choice in which implementation we choose. Not sure which ones are best.

Also, just adding the jaxb dependencies through maven didn’t seem to be enough, they also have to be added as modules on the command line during testing and running. So we might want to start creating those java 9 module dependency files instead.

@barthanssens
Copy link
Contributor Author

Hmz, is that with JDK 11 ?
I was under the impression (not tested) that adding the jaxb modules on the command line was needed for 9 and 10, but not for 11...

@hmottestad
Copy link
Contributor

I tried adding the jaxb maven dependencies to various projects in the main repo, but the tests were still failing until I added the command line option in the surefire plugin. On java 11.

I might have been doing something else wrong though. Never know.

My guess is that it's using both the maven dependency system and the java module system at the same time.

@reckart
Copy link
Contributor

reckart commented May 30, 2019

Did the tests fail or the build? For tests, it should usually be enough to add the JAXB and Activation JARs as dependencies - now for the build, there may be Maven plugins which require the dependencies added to them separately.

@barthanssens
Copy link
Contributor Author

barthanssens commented Jun 10, 2019

Using japicmp 0.14, and including jaxb-api via maven, error when compiling on JDK11 (Debian, ARM) in RDF4J HTTP Protocol (same problem when using maven-surefire 3.0-M3)

Corrupted STDOUT by directly writing to native stream in forked JVM 1. Stream 'Error occurred during initialization of boot layer'.
java.lang.IllegalArgumentException: Stream stdin corrupted. Expected comma after third character in command 'Error occurred during initialization of boot layer'.
        at org.apache.maven.plugin.surefire.booterclient.output.ForkClient$OperationalData.<init>(ForkClient.java:511)
        at org.apache.maven.plugin.surefire.booterclient.output.ForkClient.processLine(ForkClient.java:209)
        at org.apache.maven.plugin.surefire.booterclient.output.ForkClient.consumeLine(ForkClient.java:176)
        at org.apache.maven.plugin.surefire.booterclient.output.ThreadedStreamConsumer$Pumper.run(ThreadedStreamConsumer.java:88)
        at java.base/java.lang.Thread.run(Thread.java:834)

@hmottestad
Copy link
Contributor

I believe that that's due to jaxb.

@hmottestad
Copy link
Contributor

There should be a list of version numbers in the pom file for adding back jaxb module.

@barthanssens
Copy link
Contributor Author

-Passembly seems to hang on core/sail/shacl (Debian ARMv8, JDK11.0.4)

@barthanssens
Copy link
Contributor Author

Still an issue with JDK11 / Intel
OpenJDK 64-Bit Server VM (build 11.0.5+10-post-Debian-2, mixed mode, sharing)

Tests run: 6, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.027 s <<< FAILURE! - in org.eclipse.rdf4j.sail.federation.SPARQLBuilderTest
test[4(Filter)-:](org.eclipse.rdf4j.sail.federation.SPARQLBuilderTest)  Time elapsed: 0.017 s  <<< ERROR!
org.eclipse.rdf4j.query.QueryEvaluationException: org.eclipse.rdf4j.query.QueryEvaluationException: java.util.NoSuchElementException: The iteration has been closed.
	at org.eclipse.rdf4j.sail.federation.SPARQLBuilderTest.test(SPARQLBuilderTest.java:78)

@hmottestad
Copy link
Contributor

Do you think that’s another race condition?

@hmottestad
Copy link
Contributor

After all this is done I reckon we should switch the nightly verify build to use jdk11 and keep the PR builds on jdk8 so that we can effectively verify that both still work.

@barthanssens
Copy link
Contributor Author

barthanssens commented Nov 8, 2019

Could perhaps be JUnit, since the test class is annotated with @RunWith(Parameterized.class) unlike most other tests (could be a coincidence though)

I was checking the master branch by the way, running clean install -Passembly so i'll give it a try on develop

@barthanssens
Copy link
Contributor Author

barthanssens commented Nov 8, 2019

EDIT: progress when I use command line maven 3.6.2 instead of Netbeans 11 built-in v3.3.x, though I probably need to repeat it a few times to be sure.

(it still fails on another test way further down the line, but that's a class not found on a javax thing, so can be solved with an extra dependency)

@barthanssens
Copy link
Contributor Author

I still get a fair amount of these:

# JMH version: 1.19
# VM version: JDK 11.0.5, VM 11.0.5+10-post-Debian-2
# VM invoker: /usr/lib/jvm/java-11-openjdk-amd64/bin/java
# VM options: -Xms8G -Xmx8G -Xmn4G -XX:+UseSerialGC
# Warmup: <none>
# Measurement: 1 iterations, single-shot each
# Timeout: 10 min per iteration
# Threads: 1 thread, will synchronize iterations
# Benchmark mode: Average time, time/op
# Benchmark: org.eclipse.rdf4j.sail.shacl.benchmark.ParallelBenchmark.shaclSnapshot

# Run progress: NaN% complete, ETA 00:00:00
# Fork: N/A, test runs in the host VM
# *** WARNING: Non-forked runs may silently omit JVM options, mess up profilers, disable compiler hints, etc. ***
# *** WARNING: Use non-forked runs only for debugging purposes, not for actual performance runs. ***
Iteration   1: 21:06:54.939 [ForkJoinPool.commonPool-worker-9] INFO  Thread ForkJoinPool.commonPool-worker-9 is waiting on an active Write lock acquired in ForkJoinPool.commonPool-worker-1
java.lang.Throwable: java.lang.Throwable: Write lock 21531642 acquired in ForkJoinPool.commonPool-worker-1
	at org.eclipse.rdf4j.common.concurrent.locks.LockManager.logStalledLock(LockManager.java:265)
	at org.eclipse.rdf4j.common.concurrent.locks.LockManager.releaseAbandoned(LockManager.java:231)
	at org.eclipse.rdf4j.common.concurrent.locks.LockManager.waitForActiveLocks(LockManager.java:153)
	at org.eclipse.rdf4j.common.concurrent.locks.AbstractReadWriteLockManager.waitForActiveWriter(AbstractReadWriteLockManager.java:80)
	at org.eclipse.rdf4j.common.concurrent.locks.ReadPrefReadWriteLockManager.getWriteLock(ReadPrefReadWriteLockManager.java:111)
	at org.eclipse.rdf4j.sail.shacl.ShaclSail.acquireExclusiveWriteLock(ShaclSail.java:423)
	at org.eclipse.rdf4j.sail.shacl.ShaclSailConnection.prepare(ShaclSailConnection.java:568)
	at org.eclipse.rdf4j.repository.sail.SailRepositoryConnection.commit(SailRepositoryConnection.java:157)
	at org.eclipse.rdf4j.sail.shacl.benchmark.ParallelBenchmark.lambda$runBenchmark$1(ParallelBenchmark.java:226)
	at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
	at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1654)
	at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)
	at java.base/java.util.stream.ForEachOps$ForEachTask.compute(ForEachOps.java:290)
	at java.base/java.util.concurrent.CountedCompleter.exec(CountedCompleter.java:746)
	at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290)
	at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1020)
	at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1656)
	at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1594)
	at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:177)
Caused by: java.lang.Throwable: Write lock 21531642 acquired in ForkJoinPool.commonPool-worker-1

@hmottestad
Copy link
Contributor

@barthanssens which branch are you seeing those on....and what hardware are you using. If your hardware is slower or faster than mine then that might be bringing som issues to light.

@barthanssens
Copy link
Contributor Author

Master branch, most likely slower than yours since I've an 8 year old laptop with i7-2630QM (4c/8t) and 8 GB (1066 DDR3) RAM

@hmottestad
Copy link
Contributor

That’s about the same as me. I’m rocking a 2012 MacBook Pro, 4 core and 16 gb ram.

Those log messages could mean that some transactions are simply waiting for others to finish...unless it’s actually failing the build.

barthanssens added a commit that referenced this issue Nov 12, 2019
* Added jdk9+ profile and annotation dependency

* Fix for JDK activation on JDK10+
@barthanssens
Copy link
Contributor Author

mvn clean install -Passembly now works on MS-Windows 10 with AdoptOpenJDK 11.0.5 64-bit and maven 3.6.2

@barthanssens barthanssens reopened this Nov 13, 2019
@barthanssens
Copy link
Contributor Author

barthanssens commented Nov 13, 2019

On intel linux all mvn clean install profiles seem to work on master, progress :-)
So if it also builds on Windows (+ optionally on ARM linux), then I'd consider this done...

@barthanssens barthanssens modified the milestones: 3.1.0, 3.0.3 Nov 15, 2019
@barthanssens
Copy link
Contributor Author

Works on ARM linux as well

@barthanssens
Copy link
Contributor Author

and on MS-Windows, all with AdoptOpenJDK 11.0.5 64 bit and maven 3.6.1/2

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
📶 enhancement issue is a new feature or improvement
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants