Merge branch '13006-api-is_a-filter' into 13006-sync-groups-is_a-filter
[arvados.git] / services / api / lib / safe_json.rb
index dbf53e089bf00aadf670e06635d36d44a5cc572f..f78a3d34dc5d00b2d47ac8b4f9634d319c5462bc 100644 (file)
@@ -1,8 +1,18 @@
+# Copyright (C) The Arvados Authors. All rights reserved.
+#
+# SPDX-License-Identifier: AGPL-3.0
+
 class SafeJSON
   def self.dump(o)
     return Oj.dump(o, mode: :compat)
   end
   def self.load(s)
+    if s.nil? or s == ''
+      # Oj 2.18.5 used to return nil. Not anymore on 3.6.4.
+      # Upgraded for performance issues (see #13803 and
+      # https://github.com/ohler55/oj/issues/441)
+      return nil
+    end
     Oj.strict_load(s, symbol_keys: false)
   end
 end