From e6375f6ccca2398414d53c2583a7a54e18cf73bd Mon Sep 17 00:00:00 2001 From: Roland Hochmuth Date: Tue, 6 Oct 2015 16:22:06 -0600 Subject: [PATCH] Validate metricsString does not exceed max length Change-Id: I3d4bf5f2ec8386681d06d26582d9d7267f50e208 --- .../repository/vertica/VerticaAlarmRepo.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/java/src/main/java/monasca/persister/repository/vertica/VerticaAlarmRepo.java b/java/src/main/java/monasca/persister/repository/vertica/VerticaAlarmRepo.java index bed19657..96122650 100644 --- a/java/src/main/java/monasca/persister/repository/vertica/VerticaAlarmRepo.java +++ b/java/src/main/java/monasca/persister/repository/vertica/VerticaAlarmRepo.java @@ -50,6 +50,8 @@ public class VerticaAlarmRepo extends VerticaRepo implements Repo= MAX_LENGTH_VARCHAR) { + metricsString = "[]"; + logger.warn("length of metricsString for alarm ID {} exceeds max length of {}", message.alarmId, MAX_LENGTH_VARCHAR); + } + String subAlarmsString = getSerializedString(message.subAlarms, id); + // Validate subAlarmsString does not exceed a sufficient maximum upper bound + if (subAlarmsString.length()*MAX_BYTES_PER_CHAR >= MAX_LENGTH_VARCHAR) { + subAlarmsString = "[]"; + logger.warn("length of subAlarmsString for alarm ID {} exceeds max length of {}", message.alarmId, MAX_LENGTH_VARCHAR); + } + String timeStamp = simpleDateFormat.format(new Date(message.timestamp)); batch.add()