Skip to content

Commit

Permalink
Merge branch 'w/7.70/bugfix/UTAPI-109/use_uuid_in_v1_reindex_keys' in…
Browse files Browse the repository at this point in the history
…to tmp/octopus/w/8.1/bugfix/UTAPI-109/use_uuid_in_v1_reindex_keys
  • Loading branch information
bert-e committed Oct 14, 2024
2 parents 22e9541 + 682ee97 commit d157bb7
Showing 1 changed file with 15 additions and 7 deletions.
22 changes: 15 additions & 7 deletions lib/reindex/s3_bucketd.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,19 @@
import itertools
import json
import logging
import os
import re
import sys
import time
import urllib
from pathlib import Path
from collections import defaultdict, namedtuple
import uuid
from collections import namedtuple
from concurrent.futures import ThreadPoolExecutor
from datetime import datetime
from pathlib import Path

import redis
import requests
from requests import ConnectionError, HTTPError, Timeout
from requests import ConnectionError, Timeout

logging.basicConfig(level=logging.INFO)
_log = logging.getLogger('utapi-reindex')
Expand Down Expand Up @@ -442,14 +443,21 @@ def get_redis_client(options):
)

def update_redis(client, resource, name, obj_count, total_size):
timestamp = int(time.time() - 15 * 60) * 1000
now = datetime.utcnow()
# Round down to the nearest 15 minute interval
rounded_minute = now.minute - (now.minute % 15)
now = now.replace(minute=rounded_minute, second=0, microsecond=0)
# Convert to milliseconds
timestamp = int(now.timestamp()) * 1000
obj_count_key = 's3:%s:%s:numberOfObjects' % (resource, name)
total_size_key = 's3:%s:%s:storageUtilized' % (resource, name)
obj_count_serialized = f"{obj_count}:{uuid.uuid4()}"
total_size_serialized = f"{total_size}:{uuid.uuid4()}"

client.zremrangebyscore(obj_count_key, timestamp, timestamp)
client.zremrangebyscore(total_size_key, timestamp, timestamp)
client.zadd(obj_count_key, {obj_count: timestamp})
client.zadd(total_size_key, {total_size: timestamp})
client.zadd(obj_count_key, {obj_count_serialized: timestamp})
client.zadd(total_size_key, {total_size_serialized: timestamp})
client.set(obj_count_key + ':counter', obj_count)
client.set(total_size_key + ':counter', total_size)

Expand Down

0 comments on commit d157bb7

Please sign in to comment.