From e325bcaf6752a194f3724e2f634978837277afe4 Mon Sep 17 00:00:00 2001 From: allegroai <> Date: Sun, 5 Jan 2020 09:20:38 +0200 Subject: [PATCH] Hash ROI id to make sure it does not violate Elastic's 512 bytes id limitation --- server/bll/event/event_bll.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/server/bll/event/event_bll.py b/server/bll/event/event_bll.py index b896fda..f33f38b 100644 --- a/server/bll/event/event_bll.py +++ b/server/bll/event/event_bll.py @@ -1,3 +1,4 @@ +import hashlib from collections import defaultdict from contextlib import closing from datetime import datetime @@ -46,7 +47,7 @@ class TaskEventsResult(object): class EventBLL(object): - id_fields = ["task", "iter", "metric", "variant", "key"] + id_fields = ("task", "iter", "metric", "variant", "key") def __init__(self, events_es=None): self.es = events_es or es_factory.connect("events") @@ -247,7 +248,7 @@ class EventBLL(object): def _get_event_id(self, event): id_values = (str(event[field]) for field in self.id_fields if field in event) - return "-".join(id_values) + return hashlib.md5("-".join(id_values).encode()).hexdigest() def scroll_task_events( self,