chg: [sync] Try to save memory when fetching sightings

pull/9651/head
Jakub Onderka 2024-04-03 10:47:25 +02:00
parent 8cd3cb0ef2
commit a322217cbd
2 changed files with 4 additions and 3 deletions

View File

@ -924,13 +924,14 @@ class Server extends AppModel
$indexFromCache = $redis->get("misp:event_index:{$serverSync->serverId()}");
if ($indexFromCache) {
list($etag, $eventIndex) = RedisTool::deserialize(RedisTool::decompress($indexFromCache));
unset($indexFromCache);
} else {
$etag = '""'; // Provide empty ETag, so MISP will compute ETag for returned data
}
$response = $serverSync->eventIndex($filterRules, $etag);
if ($response->isNotModified() && $indexFromCache) {
if ($response->isNotModified() && isset($eventIndex)) {
return $eventIndex;
}
@ -946,7 +947,7 @@ class Server extends AppModel
if ($etag) {
$data = RedisTool::compress(RedisTool::serialize([$etag, $eventIndex]));
$redis->setex("misp:event_index:{$serverSync->serverId()}", 3600 * 24, $data);
} elseif ($indexFromCache) {
} elseif (isset($eventIndex)) {
RedisTool::unlink($redis, "misp:event_index:{$serverSync->serverId()}");
}

View File

@ -1424,7 +1424,7 @@ class Sighting extends AppModel
try {
$remoteEvents = $this->Server->getEventIndexFromServer($serverSync);
} catch (Exception $e) {
$this->logException("Could not fetch event IDs from server {$serverSync->server()['Server']['name']}", $e);
$this->logException("Could not fetch event IDs from server {$serverSync->serverName()}", $e);
return 0;
}
// Remove events from list that do not have published sightings.