slightly better error checking before base64 decode, a=chris

Chris Pollett [2022-12-13 19:Dec:th]
slightly better error checking before base64 decode, a=chris
Filename
src/library/media_jobs/RecommendationJob.php
diff --git a/src/library/media_jobs/RecommendationJob.php b/src/library/media_jobs/RecommendationJob.php
index 21f6f0f55..80358ed7d 100644
--- a/src/library/media_jobs/RecommendationJob.php
+++ b/src/library/media_jobs/RecommendationJob.php
@@ -334,8 +334,10 @@ class RecommendationJob extends MediaJob
         $term_embeddings = [];
         $item_terms = [];
         while ($row = $db->fetchArray($results)) {
-            $this->lru_cache->put($row['ID'],
-                base64_decode($row['VECTOR'], true));
+            if (!empty($row['VECTOR'])) {
+                $this->lru_cache->put($row['ID'],
+                    base64_decode($row['VECTOR'], true));
+            }
         }
         $context_distance_sum = (self::CONTEXT_WINDOW_LENGTH *
             (self::CONTEXT_WINDOW_LENGTH + 1)) / 2.0;
@@ -934,8 +936,10 @@ class RecommendationJob extends MediaJob
         $resource_terms = [];
         $meta_details_terms = [];
         while ($row = $db->fetchArray($results)) {
-            $this->lru_cache->put($row['ID'],
-                base64_decode($row['VECTOR'], true));
+            if (!empty($row['VECTOR'])) {
+                $this->lru_cache->put($row['ID'],
+                    base64_decode($row['VECTOR'], true));
+            }
         }
         $context_distance_sum = (self::CONTEXT_WINDOW_LENGTH *
             (self::CONTEXT_WINDOW_LENGTH + 1)) / 2.0;
@@ -1268,7 +1272,7 @@ class RecommendationJob extends MediaJob
                 "WHERE ITEM_TYPE = ? AND ID = ?";
             $result = $db->execute($sql, [$item_type, $term_id]);
             $row = $db->fetchArray($result);
-            if (!$row) {
+            if (!$row || empty($row['VECTOR'])) {
                 $term_embedding = pack("E*", ...array_fill(1,
                     self::EMBEDDING_VECTOR_SIZE, 0.0));
             } else {
ViewGit