From 1e4659561a78c49e89614bb9927fdfe6cd9ece7e Mon Sep 17 00:00:00 2001 From: Stoyan Tzenkov Date: Wed, 14 Aug 2019 15:54:25 +0300 Subject: [PATCH 1/8] KAFKA: Set MAX_BLOCK_MS to 1 second to avoid looping if Kafka service is down. Signed-off-by: Stoyan Tzenkov --- .../java/biz/nynja/account/kafka/KafkaProducerConfig.java | 7 +++++++ src/main/resources/application-dev.yml | 2 ++ 2 files changed, 9 insertions(+) diff --git a/src/main/java/biz/nynja/account/kafka/KafkaProducerConfig.java b/src/main/java/biz/nynja/account/kafka/KafkaProducerConfig.java index b9f2ebc..a67eae7 100644 --- a/src/main/java/biz/nynja/account/kafka/KafkaProducerConfig.java +++ b/src/main/java/biz/nynja/account/kafka/KafkaProducerConfig.java @@ -25,6 +25,10 @@ public class KafkaProducerConfig { private String KAFKA_PORT; @Value("${kafka.topic}") private String KAFKA_TOPIC; + @Value("${kafka.max.block.ms}") + private String KAFKA_MAX_BLOCK_MS; + @Value("${kafka.reconnect.backoff.ms}") + private String KAFKA_RECONNECT_BACKOFF_MS; @Bean(name = "kafkaTopic") public String kafkaTopic() { @@ -42,6 +46,9 @@ public class KafkaProducerConfig { configProps.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, StringSerializer.class); configProps.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, JsonSerializer.class); + configProps.put(ProducerConfig.RECONNECT_BACKOFF_MS_CONFIG, KAFKA_RECONNECT_BACKOFF_MS); // The base amount of time to wait before attempting to reconnect to a given host. default=50L + configProps.put(ProducerConfig.MAX_BLOCK_MS_CONFIG, KAFKA_MAX_BLOCK_MS); + return new DefaultKafkaProducerFactory(configProps); } diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml index 879dcba..94c3cdb 100644 --- a/src/main/resources/application-dev.yml +++ b/src/main/resources/application-dev.yml @@ -47,6 +47,8 @@ kafka: host: 127.0.0.1 port: 9092 topic: userEventss + max.block.ms: 1000 + reconnect.backoff.ms: 10000 #Metrics related configurations management: -- GitLab From e7c5f7ee90542b92ba87c47dd9b30313aea5d45d Mon Sep 17 00:00:00 2001 From: Stoyan Tzenkov Date: Wed, 14 Aug 2019 16:55:39 +0300 Subject: [PATCH 2/8] KAFKA: Updated application-production.yml Signed-off-by: Stoyan Tzenkov --- src/main/resources/application-production.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/main/resources/application-production.yml b/src/main/resources/application-production.yml index f97fa40..240a1d6 100644 --- a/src/main/resources/application-production.yml +++ b/src/main/resources/application-production.yml @@ -40,6 +40,8 @@ kafka: host: ${KAFKA_HOST:kafka.kafka.svc.cluster.local} port: ${KAFKA_PORT:9092} topic: ${KAFKA_TOPIC:userEvents} + max.block.ms: ${KAFKA_MAX_BLOCK_MS:1000} + reconnect.backoff.ms: ${KAFKA_RECONNECT_BACKOFF_MS:10000} #Metrics related configurations management: -- GitLab From 4a37b67b7e78e7934c9107007bd716eb3cdfab22 Mon Sep 17 00:00:00 2001 From: Angel Botev Date: Thu, 15 Aug 2019 16:35:50 +0300 Subject: [PATCH 3/8] Change names of config values; Signed-off-by: Angel Botev --- .../java/biz/nynja/account/kafka/KafkaProducerConfig.java | 4 ++-- src/main/resources/application-dev.yml | 4 ++-- src/main/resources/application-production.yml | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/main/java/biz/nynja/account/kafka/KafkaProducerConfig.java b/src/main/java/biz/nynja/account/kafka/KafkaProducerConfig.java index a67eae7..64d0edd 100644 --- a/src/main/java/biz/nynja/account/kafka/KafkaProducerConfig.java +++ b/src/main/java/biz/nynja/account/kafka/KafkaProducerConfig.java @@ -25,9 +25,9 @@ public class KafkaProducerConfig { private String KAFKA_PORT; @Value("${kafka.topic}") private String KAFKA_TOPIC; - @Value("${kafka.max.block.ms}") + @Value("${kafka.max-block-ms}") private String KAFKA_MAX_BLOCK_MS; - @Value("${kafka.reconnect.backoff.ms}") + @Value("${kafka.reconnect-backoff-ms}") private String KAFKA_RECONNECT_BACKOFF_MS; @Bean(name = "kafkaTopic") diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml index 94c3cdb..b890db9 100644 --- a/src/main/resources/application-dev.yml +++ b/src/main/resources/application-dev.yml @@ -47,8 +47,8 @@ kafka: host: 127.0.0.1 port: 9092 topic: userEventss - max.block.ms: 1000 - reconnect.backoff.ms: 10000 + max-block-ms: 1000 + reconnect-backoff-ms: 10000 #Metrics related configurations management: diff --git a/src/main/resources/application-production.yml b/src/main/resources/application-production.yml index 240a1d6..f832bac 100644 --- a/src/main/resources/application-production.yml +++ b/src/main/resources/application-production.yml @@ -40,8 +40,8 @@ kafka: host: ${KAFKA_HOST:kafka.kafka.svc.cluster.local} port: ${KAFKA_PORT:9092} topic: ${KAFKA_TOPIC:userEvents} - max.block.ms: ${KAFKA_MAX_BLOCK_MS:1000} - reconnect.backoff.ms: ${KAFKA_RECONNECT_BACKOFF_MS:10000} + max-block-ms: ${KAFKA_MAX_BLOCK_MS:700} + reconnect-backoff-ms: ${KAFKA_RECONNECT_BACKOFF_MS:10000} #Metrics related configurations management: -- GitLab From b63c28c68a0d6765ded7e870984ebb911e2fdc6f Mon Sep 17 00:00:00 2001 From: Angel Botev Date: Mon, 19 Aug 2019 12:08:05 +0300 Subject: [PATCH 4/8] Send message to kafka async Signed-off-by: Angel Botev --- src/main/java/biz/nynja/account/kafka/KafkaProducerConfig.java | 2 ++ src/main/java/biz/nynja/account/kafka/UserEventsProducer.java | 2 ++ src/main/resources/application-production.yml | 2 +- 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/main/java/biz/nynja/account/kafka/KafkaProducerConfig.java b/src/main/java/biz/nynja/account/kafka/KafkaProducerConfig.java index 64d0edd..19858b9 100644 --- a/src/main/java/biz/nynja/account/kafka/KafkaProducerConfig.java +++ b/src/main/java/biz/nynja/account/kafka/KafkaProducerConfig.java @@ -15,8 +15,10 @@ import org.springframework.kafka.core.DefaultKafkaProducerFactory; import org.springframework.kafka.core.KafkaTemplate; import org.springframework.kafka.core.ProducerFactory; import org.springframework.kafka.support.serializer.JsonSerializer; +import org.springframework.scheduling.annotation.EnableAsync; @Configuration +@EnableAsync public class KafkaProducerConfig { @Value("${kafka.host}") diff --git a/src/main/java/biz/nynja/account/kafka/UserEventsProducer.java b/src/main/java/biz/nynja/account/kafka/UserEventsProducer.java index 1d087de..6ffe950 100644 --- a/src/main/java/biz/nynja/account/kafka/UserEventsProducer.java +++ b/src/main/java/biz/nynja/account/kafka/UserEventsProducer.java @@ -8,6 +8,7 @@ import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.kafka.core.KafkaTemplate; +import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Component; @Component @@ -22,6 +23,7 @@ public class UserEventsProducer { @Qualifier("kafkaTopic") private String kafkaTopic; + @Async public void sendKafkaMessage(UserEventsMessageTemplate userEventsMessageTemplate) { kafkaTemplate.send(kafkaTopic, userEventsMessageTemplate); diff --git a/src/main/resources/application-production.yml b/src/main/resources/application-production.yml index f832bac..a4ad9c1 100644 --- a/src/main/resources/application-production.yml +++ b/src/main/resources/application-production.yml @@ -40,7 +40,7 @@ kafka: host: ${KAFKA_HOST:kafka.kafka.svc.cluster.local} port: ${KAFKA_PORT:9092} topic: ${KAFKA_TOPIC:userEvents} - max-block-ms: ${KAFKA_MAX_BLOCK_MS:700} + max-block-ms: ${KAFKA_MAX_BLOCK_MS:1000} reconnect-backoff-ms: ${KAFKA_RECONNECT_BACKOFF_MS:10000} #Metrics related configurations -- GitLab From e7bb18cd871ddec1f052a8ee6f1e9bc7cfd3bd3b Mon Sep 17 00:00:00 2001 From: Angel Botev Date: Mon, 26 Aug 2019 16:07:15 +0300 Subject: [PATCH 5/8] Add log messages; Signed-off-by: Angel Botev --- .../repositories/AccountRepositoryAdditionalImpl.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/java/biz/nynja/account/repositories/AccountRepositoryAdditionalImpl.java b/src/main/java/biz/nynja/account/repositories/AccountRepositoryAdditionalImpl.java index 924de52..58444d3 100644 --- a/src/main/java/biz/nynja/account/repositories/AccountRepositoryAdditionalImpl.java +++ b/src/main/java/biz/nynja/account/repositories/AccountRepositoryAdditionalImpl.java @@ -167,7 +167,7 @@ public class AccountRepositoryAdditionalImpl implements AccountRepositoryAdditio return null; } } catch (StatusRuntimeException e) { - logger.info("Error while lose connection with bridge"); + logger.info("Error while lose connection with bridge: {}", e.getMessage()); sagaTransaction.rollBack(); return null; } catch (IllegalArgumentException | IllegalStateException e) { @@ -270,7 +270,7 @@ public class AccountRepositoryAdditionalImpl implements AccountRepositoryAdditio return null; } } catch (StatusRuntimeException e) { - logger.info("Error while lose connection with bridge"); + logger.info("Error while lose connection with bridge: {}", e.getMessage()); sagaTransaction.rollBack(); return null; } catch (IllegalArgumentException | IllegalStateException e) { @@ -381,7 +381,7 @@ public class AccountRepositoryAdditionalImpl implements AccountRepositoryAdditio return false; } } catch (StatusRuntimeException e) { - logger.info("Error while lose connection with bridge"); + logger.info("Error while lose connection with bridge: {}", e.getMessage()); sagaTransaction.rollBack(); return false; } catch (IllegalArgumentException | IllegalStateException e) { @@ -571,7 +571,7 @@ public class AccountRepositoryAdditionalImpl implements AccountRepositoryAdditio return Optional.of(Cause.ERROR_DELETING_PROFILE); } } catch (StatusRuntimeException e) { - logger.info("Error while lose connection with bridge"); + logger.info("Error while lose connection with bridge: {}", e.getMessage()); sagaTransaction.rollBack(); return Optional.of(Cause.ERROR_DELETING_PROFILE); } catch (IllegalArgumentException | IllegalStateException e) { -- GitLab From 0d194c0397811f3e8327683ef29bc074950918d8 Mon Sep 17 00:00:00 2001 From: Angel Botev Date: Tue, 27 Aug 2019 12:10:13 +0300 Subject: [PATCH 6/8] Add log messages; Signed-off-by: Angel Botev --- .../repositories/AccountRepositoryAdditionalImpl.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/java/biz/nynja/account/repositories/AccountRepositoryAdditionalImpl.java b/src/main/java/biz/nynja/account/repositories/AccountRepositoryAdditionalImpl.java index 58444d3..ee5c7e4 100644 --- a/src/main/java/biz/nynja/account/repositories/AccountRepositoryAdditionalImpl.java +++ b/src/main/java/biz/nynja/account/repositories/AccountRepositoryAdditionalImpl.java @@ -167,7 +167,7 @@ public class AccountRepositoryAdditionalImpl implements AccountRepositoryAdditio return null; } } catch (StatusRuntimeException e) { - logger.info("Error while lose connection with bridge: {}", e.getMessage()); + logger.error("Error while lose connection with bridge: {}", e.getMessage(), e.getCause()); sagaTransaction.rollBack(); return null; } catch (IllegalArgumentException | IllegalStateException e) { @@ -270,7 +270,7 @@ public class AccountRepositoryAdditionalImpl implements AccountRepositoryAdditio return null; } } catch (StatusRuntimeException e) { - logger.info("Error while lose connection with bridge: {}", e.getMessage()); + logger.error("Error while lose connection with bridge: {}", e.getMessage(), e.getCause()); sagaTransaction.rollBack(); return null; } catch (IllegalArgumentException | IllegalStateException e) { @@ -381,7 +381,7 @@ public class AccountRepositoryAdditionalImpl implements AccountRepositoryAdditio return false; } } catch (StatusRuntimeException e) { - logger.info("Error while lose connection with bridge: {}", e.getMessage()); + logger.error("Error while lose connection with bridge: {}", e.getMessage(), e.getCause()); sagaTransaction.rollBack(); return false; } catch (IllegalArgumentException | IllegalStateException e) { @@ -571,7 +571,7 @@ public class AccountRepositoryAdditionalImpl implements AccountRepositoryAdditio return Optional.of(Cause.ERROR_DELETING_PROFILE); } } catch (StatusRuntimeException e) { - logger.info("Error while lose connection with bridge: {}", e.getMessage()); + logger.error("Error while lose connection with bridge: {}", e.getMessage(), e.getCause()); sagaTransaction.rollBack(); return Optional.of(Cause.ERROR_DELETING_PROFILE); } catch (IllegalArgumentException | IllegalStateException e) { -- GitLab From 1b34aa5542335ff9767a0382bdf14a7c6e6e2e88 Mon Sep 17 00:00:00 2001 From: Angel Botev Date: Tue, 27 Aug 2019 15:06:04 +0300 Subject: [PATCH 7/8] Add log messages; Signed-off-by: Angel Botev --- .../repositories/AccountRepositoryAdditionalImpl.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/java/biz/nynja/account/repositories/AccountRepositoryAdditionalImpl.java b/src/main/java/biz/nynja/account/repositories/AccountRepositoryAdditionalImpl.java index ee5c7e4..0a703de 100644 --- a/src/main/java/biz/nynja/account/repositories/AccountRepositoryAdditionalImpl.java +++ b/src/main/java/biz/nynja/account/repositories/AccountRepositoryAdditionalImpl.java @@ -167,7 +167,7 @@ public class AccountRepositoryAdditionalImpl implements AccountRepositoryAdditio return null; } } catch (StatusRuntimeException e) { - logger.error("Error while lose connection with bridge: {}", e.getMessage(), e.getCause()); + logger.error("Error while lose connection with bridge: {}, {}", e.getMessage(), e.getStatus(), e); sagaTransaction.rollBack(); return null; } catch (IllegalArgumentException | IllegalStateException e) { @@ -270,7 +270,7 @@ public class AccountRepositoryAdditionalImpl implements AccountRepositoryAdditio return null; } } catch (StatusRuntimeException e) { - logger.error("Error while lose connection with bridge: {}", e.getMessage(), e.getCause()); + logger.error("Error while lose connection with bridge: {}, {}", e.getMessage(), e.getStatus(), e); sagaTransaction.rollBack(); return null; } catch (IllegalArgumentException | IllegalStateException e) { @@ -381,7 +381,7 @@ public class AccountRepositoryAdditionalImpl implements AccountRepositoryAdditio return false; } } catch (StatusRuntimeException e) { - logger.error("Error while lose connection with bridge: {}", e.getMessage(), e.getCause()); + logger.error("Error while lose connection with bridge: {}, {}", e.getMessage(), e.getStatus(), e); sagaTransaction.rollBack(); return false; } catch (IllegalArgumentException | IllegalStateException e) { @@ -571,7 +571,7 @@ public class AccountRepositoryAdditionalImpl implements AccountRepositoryAdditio return Optional.of(Cause.ERROR_DELETING_PROFILE); } } catch (StatusRuntimeException e) { - logger.error("Error while lose connection with bridge: {}", e.getMessage(), e.getCause()); + logger.error("Error while lose connection with bridge: {}, {}", e.getMessage(), e.getStatus(), e); sagaTransaction.rollBack(); return Optional.of(Cause.ERROR_DELETING_PROFILE); } catch (IllegalArgumentException | IllegalStateException e) { -- GitLab From 64e41d5ee9a3d05bc874757578f4b3392b22a1b6 Mon Sep 17 00:00:00 2001 From: centos Date: Tue, 27 Aug 2019 17:43:57 +0300 Subject: [PATCH 8/8] Bumping chart version --- charts/account-service/Chart.yaml | 2 +- releases/dev/account-service.yaml | 2 +- releases/prod/account-service.yaml | 2 +- releases/staging/account-service.yaml | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/charts/account-service/Chart.yaml b/charts/account-service/Chart.yaml index 941149a..c86b7cd 100644 --- a/charts/account-service/Chart.yaml +++ b/charts/account-service/Chart.yaml @@ -2,4 +2,4 @@ apiVersion: v1 appVersion: "1.0" description: Deployment of the nynja account service. name: account-service -version: 0.2.3 +version: 0.2.4 diff --git a/releases/dev/account-service.yaml b/releases/dev/account-service.yaml index 3d7e097..5f478da 100644 --- a/releases/dev/account-service.yaml +++ b/releases/dev/account-service.yaml @@ -8,7 +8,7 @@ spec: chart: repository: https://nynjagroup.jfrog.io/nynjagroup/helm/ name: account-service - version: 0.2.3 + version: 0.2.4 values: replicaCount: 1 diff --git a/releases/prod/account-service.yaml b/releases/prod/account-service.yaml index 0975a47..3254991 100644 --- a/releases/prod/account-service.yaml +++ b/releases/prod/account-service.yaml @@ -8,7 +8,7 @@ spec: chart: repository: https://nynjagroup.jfrog.io/nynjagroup/helm/ name: account-service - version: 0.2.3 + version: 0.2.4 values: replicaCount: 2 diff --git a/releases/staging/account-service.yaml b/releases/staging/account-service.yaml index 32c2d3f..7e0333b 100644 --- a/releases/staging/account-service.yaml +++ b/releases/staging/account-service.yaml @@ -8,7 +8,7 @@ spec: chart: repository: https://nynjagroup.jfrog.io/nynjagroup/helm/ name: account-service - version: 0.2.3 + version: 0.2.4 values: replicaCount: 2 -- GitLab