From b49ec4cc69e7fd655215f3d504f57734c2731af6 Mon Sep 17 00:00:00 2001 From: "michele.artini" Date: Mon, 27 Jul 2020 15:49:29 +0200 Subject: [PATCH] timeout props --- .../LiteratureBrokerServiceConfiguration.java | 42 +++++++++---------- .../properties/ElasticSearchProperties.java | 20 +++++++++ .../eu/dnetlib/lbs/utils/EventVerifier.java | 6 +-- .../src/main/resources/application.properties | 7 ++-- .../main/resources/static/html/summary.html | 8 ++++ 5 files changed, 56 insertions(+), 27 deletions(-) diff --git a/apps/dhp-broker-application/src/main/java/eu/dnetlib/lbs/LiteratureBrokerServiceConfiguration.java b/apps/dhp-broker-application/src/main/java/eu/dnetlib/lbs/LiteratureBrokerServiceConfiguration.java index f4de43fc..92b5067b 100644 --- a/apps/dhp-broker-application/src/main/java/eu/dnetlib/lbs/LiteratureBrokerServiceConfiguration.java +++ b/apps/dhp-broker-application/src/main/java/eu/dnetlib/lbs/LiteratureBrokerServiceConfiguration.java @@ -32,7 +32,9 @@ import springfox.documentation.swagger2.annotations.EnableSwagger2; @EnableSwagger2 @EnableScheduling @EnableTransactionManagement -@EnableElasticsearchRepositories(basePackageClasses = { Event.class, Notification.class }) +@EnableElasticsearchRepositories(basePackageClasses = { + Event.class, Notification.class +}) public class LiteratureBrokerServiceConfiguration extends AbstractElasticsearchConfiguration { private static final Log log = LogFactory.getLog(LiteratureBrokerServiceConfiguration.class); @@ -50,8 +52,10 @@ public class LiteratureBrokerServiceConfiguration extends AbstractElasticsearchC @Bean public RestHighLevelClient elasticsearchClient() { final ClientConfiguration clientConfiguration = ClientConfiguration.builder() - .connectedTo(elasticSearchProperties.getClusterNodes()) - .build(); + .connectedTo(elasticSearchProperties.getClusterNodes()) + .withConnectTimeout(elasticSearchProperties.getConnectionTimeout()) + .withSocketTimeout(elasticSearchProperties.getSocketTimeout()) + .build(); return RestClients.create(clientConfiguration).rest(); } @@ -60,24 +64,20 @@ public class LiteratureBrokerServiceConfiguration extends AbstractElasticsearchC log.info("Initializing SWAGGER..."); return new Docket(DocumentationType.SWAGGER_2) - .select() - .apis(RequestHandlerSelectors.any()) - .paths(p -> p.startsWith("/api/")) - .build() - .tags( - new Tag(TAG_EVENTS, "Events management"), - new Tag(TAG_SUBSCRIPTIONS, "Subscriptions management"), - new Tag(TAG_NOTIFICATIONS, "Notifications management"), - new Tag(TAG_TOPIC_TYPES, "Topic types management"), - new Tag(TAG_OPENAIRE, "OpenAIRE use case")) - .apiInfo(new ApiInfo( - "Literature Broker Service", - "APIs documentation", - "1.1", - "urn:tos", - ApiInfo.DEFAULT_CONTACT, - "Apache 2.0", - "http://www.apache.org/licenses/LICENSE-2.0")); + .select() + .apis(RequestHandlerSelectors.any()) + .paths(p -> p.startsWith("/api/")) + .build() + .tags(new Tag(TAG_EVENTS, "Events management"), new Tag(TAG_SUBSCRIPTIONS, "Subscriptions management"), new Tag(TAG_NOTIFICATIONS, + "Notifications management"), new Tag(TAG_TOPIC_TYPES, "Topic types management"), new Tag(TAG_OPENAIRE, "OpenAIRE use case")) + .apiInfo(new ApiInfo( + "Literature Broker Service", + "APIs documentation", + "1.1", + "urn:tos", + ApiInfo.DEFAULT_CONTACT, + "Apache 2.0", + "http://www.apache.org/licenses/LICENSE-2.0")); } diff --git a/apps/dhp-broker-application/src/main/java/eu/dnetlib/lbs/properties/ElasticSearchProperties.java b/apps/dhp-broker-application/src/main/java/eu/dnetlib/lbs/properties/ElasticSearchProperties.java index 15af6c98..9028ea76 100644 --- a/apps/dhp-broker-application/src/main/java/eu/dnetlib/lbs/properties/ElasticSearchProperties.java +++ b/apps/dhp-broker-application/src/main/java/eu/dnetlib/lbs/properties/ElasticSearchProperties.java @@ -21,6 +21,10 @@ public class ElasticSearchProperties { private String notificationsIndexName; @NotNull private String notificationsIndexType; + @NotNull + private long connectionTimeout; + @NotNull + private long socketTimeout; public String getClusterNodes() { return this.clusterNodes; @@ -70,4 +74,20 @@ public class ElasticSearchProperties { this.notificationsIndexType = notificationsIndexType; } + public long getConnectionTimeout() { + return connectionTimeout; + } + + public void setConnectionTimeout(final long connectionTimeout) { + this.connectionTimeout = connectionTimeout; + } + + public long getSocketTimeout() { + return socketTimeout; + } + + public void setSocketTimeout(final long socketTimeout) { + this.socketTimeout = socketTimeout; + } + } diff --git a/apps/dhp-broker-application/src/main/java/eu/dnetlib/lbs/utils/EventVerifier.java b/apps/dhp-broker-application/src/main/java/eu/dnetlib/lbs/utils/EventVerifier.java index cb9ea692..e5bf19d9 100644 --- a/apps/dhp-broker-application/src/main/java/eu/dnetlib/lbs/utils/EventVerifier.java +++ b/apps/dhp-broker-application/src/main/java/eu/dnetlib/lbs/utils/EventVerifier.java @@ -19,7 +19,7 @@ import eu.dnetlib.lbs.topics.TopicTypeRepository; public class EventVerifier implements Predicate { private final TopicTypeRepository topicTypeRepo; - private final long MAX_DELAY = 5000; // 10 seconds + private final long MAX_DELAY = 30000; // 30 seconds private Instant last = Instant.EPOCH; private List> validators = new ArrayList<>(); @@ -40,8 +40,8 @@ public class EventVerifier implements Predicate { final Iterable iter = this.topicTypeRepo.findAll(); this.validators = StreamSupport.stream(iter.spliterator(), false) - .map(TopicType::asValidator) - .collect(Collectors.toList()); + .map(TopicType::asValidator) + .collect(Collectors.toList()); } try { diff --git a/apps/dhp-broker-application/src/main/resources/application.properties b/apps/dhp-broker-application/src/main/resources/application.properties index db271fdf..f9eaa82a 100644 --- a/apps/dhp-broker-application/src/main/resources/application.properties +++ b/apps/dhp-broker-application/src/main/resources/application.properties @@ -23,9 +23,10 @@ lbs.database.url = ${spring.datasource.url} # for localhost -lbs.elastic.clusterNodes = 127.0.0.1:9200 -lbs.elastic.homepage = http:// - +lbs.elastic.clusterNodes = 127.0.0.1:9200 +lbs.elastic.homepage = http:// +lbs.elastic.socketTimeout = 30000 +lbs.elastic.connectionTimeout = 30000 lbs.elastic.eventsIndexName = oa_events_beta lbs.elastic.eventsIndexType = event diff --git a/apps/dhp-broker-application/src/main/resources/static/html/summary.html b/apps/dhp-broker-application/src/main/resources/static/html/summary.html index 6ecf0f51..5015069a 100644 --- a/apps/dhp-broker-application/src/main/resources/static/html/summary.html +++ b/apps/dhp-broker-application/src/main/resources/static/html/summary.html @@ -141,6 +141,14 @@ type {{summary.elasticSearch.notificationsIndexType}} + + socket timeout + {{summary.elasticSearch.socketTimeout}} ms + + + connection timeout + {{summary.elasticSearch.connectionTimeout}} ms +