From 79fa074b9d6244947be588108f89f0b14c84b0f6 Mon Sep 17 00:00:00 2001 From: Adam Ploshay Date: Fri, 8 Apr 2022 15:35:20 -0400 Subject: [PATCH 1/2] [ESSI-1595] use POST in collection descendant counts --- app/models/concerns/essi/collection_behavior.rb | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/app/models/concerns/essi/collection_behavior.rb b/app/models/concerns/essi/collection_behavior.rb index 226c45874..17cf12750 100644 --- a/app/models/concerns/essi/collection_behavior.rb +++ b/app/models/concerns/essi/collection_behavior.rb @@ -19,18 +19,14 @@ def self.included(base) end module ClassMethods - # solr queries break if you pass an id set with greater than 96 members - def constrain_ids(ids) - Array.wrap(ids)[0,96] - end - + # POST to avoid URI Too Long error from solr, and raise row limit def child_objects_for(id, models: []) - id = constrain_ids(id) return [] if id.empty? conditions = { nesting_collection__parent_ids_ssim: id } models = Array.wrap(models).map(&:to_s) conditions[:has_model_ssim] = models if models.any? - ActiveFedora::Base.search_with_conditions(conditions, rows: 100_000) + options = { method: :post, rows: 100_000 } + ActiveFedora::Base.search_with_conditions(conditions, options) end def child_collections_for(id) From 1952353e4f0e7399118124acb6014a1a83450591 Mon Sep 17 00:00:00 2001 From: Adam Ploshay Date: Fri, 8 Apr 2022 17:31:17 -0400 Subject: [PATCH 2/2] [ESSI-1595] add Array.wrap call to prevent job loop in CSV feature spec --- app/models/concerns/essi/collection_behavior.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/app/models/concerns/essi/collection_behavior.rb b/app/models/concerns/essi/collection_behavior.rb index 17cf12750..61fbf44e7 100644 --- a/app/models/concerns/essi/collection_behavior.rb +++ b/app/models/concerns/essi/collection_behavior.rb @@ -21,6 +21,7 @@ def self.included(base) module ClassMethods # POST to avoid URI Too Long error from solr, and raise row limit def child_objects_for(id, models: []) + id = Array.wrap(id) return [] if id.empty? conditions = { nesting_collection__parent_ids_ssim: id } models = Array.wrap(models).map(&:to_s)