14484: Fixes grouping bug by simplifying nested pdhs arrays
authorEric Biagiotti <ebiagiotti@veritasgenetics.com>
Tue, 26 Mar 2019 18:50:18 +0000 (14:50 -0400)
committerEric Biagiotti <ebiagiotti@veritasgenetics.com>
Tue, 26 Mar 2019 18:50:18 +0000 (14:50 -0400)
Arvados-DCO-1.1-Signed-off-by: Eric Biagiotti <ebiagiotti@veritasgenetics.com>

services/api/app/models/container.rb
services/api/db/migrate/20190322174136_add_file_info_to_collection.rb

index e46ef6fd378ce225c2fb8d8d75f66735b37ee3bf..0e6a01c63d9c509dd08ee6783bdd7094ca372b0a 100644 (file)
@@ -423,14 +423,15 @@ class Container < ArvadosModel
 
     while any
       any = false
-      pdhs = ActiveRecord::Base.connection.exec_query(
+      pdhs_res = ActiveRecord::Base.connection.exec_query(
         'SELECT DISTINCT portable_data_hash FROM collections '\
         "WHERE portable_data_hash > '#{last_pdh}' "\
         'GROUP BY portable_data_hash LIMIT 1000'
       )
-      break if pdhs.rows.count.zero?
+      break if pdhs_res.rows.count.zero?
 
-      Container.group_pdhs_by_manifest_size(pdhs.rows, batch_size_max) do |grouped_pdhs|
+      pdhs = pdhs_res.rows.collect { |r| r[0] }
+      Container.group_pdhs_by_manifest_size(pdhs, batch_size_max) do |grouped_pdhs|
         any = true
         yield grouped_pdhs
         done += grouped_pdhs.size
index c55840432d6aeeba0e70948f0cc0adc7aba858d5..e12e508be7ea10fd061f17007ec95a72aacdfe5b 100755 (executable)
@@ -6,7 +6,7 @@ class AddFileInfoToCollection < ActiveRecord::Migration
   def do_batch(pdhs)
     pdhs_str = ''
     pdhs.each do |pdh|
-      pdhs_str << "'" << pdh[0] << "'" << ','
+      pdhs_str << "'" << pdh << "'" << ','
     end
 
     collections = ActiveRecord::Base.connection.exec_query(