LP#1657885: Inform Vandelay of new chunking/bundling logic
authorMike Rylander <mrylander@gmail.com>
Wed, 25 Jan 2017 15:56:23 +0000 (10:56 -0500)
committerKathy Lussier <klussier@masslnc.org>
Wed, 25 Jan 2017 20:18:30 +0000 (15:18 -0500)
There is a naive attempt to force immediate streaming of results in Vandelay
for certain processes, but it both only helps a little, and breaks under the
new OpenSRF bundling/chunking logic.  So, we'll drop it where it's not
directly configurable, and test for the appropriate features where we can.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Open-ILS/src/perlmods/lib/OpenILS/Application/Vandelay.pm

index 39c857f..a56be96 100644 (file)
@@ -330,7 +330,8 @@ __PACKAGE__->register_method(
     method      => "process_spool",
     api_level   => 1,
     argc        => 3,
-    max_chunk_size => 0,
+    #max_chunk_size => 0,
+    max_bundle_count => 1,
     record_type => 'bib'
 );                      
 __PACKAGE__->register_method(  
@@ -338,7 +339,8 @@ __PACKAGE__->register_method(
     method      => "process_spool",
     api_level   => 1,
     argc        => 3,
-    max_chunk_size => 0,
+    #max_chunk_size => 0,
+    max_bundle_count => 1,
     record_type => 'auth'
 );                      
 
@@ -348,7 +350,8 @@ __PACKAGE__->register_method(
     api_level   => 1,
     argc        => 3,
     stream      => 1,
-    max_chunk_size => 0,
+    #max_chunk_size => 0,
+    max_bundle_count => 1,
     record_type => 'bib'
 );                      
 __PACKAGE__->register_method(  
@@ -357,7 +360,8 @@ __PACKAGE__->register_method(
     api_level   => 1,
     argc        => 3,
     stream      => 1,
-    max_chunk_size => 0,
+    #max_chunk_size => 0,
+    max_bundle_count => 1,
     record_type => 'auth'
 );
 
@@ -779,7 +783,8 @@ __PACKAGE__->register_method(
     api_level   => 1,
     argc        => 2,
     stream      => 1,
-    max_chunk_size => 0,
+    #max_chunk_size => 0,
+    max_bundle_count => 1,
     record_type => 'bib',
     signature => {
         desc => q/
@@ -795,7 +800,8 @@ __PACKAGE__->register_method(
     api_level   => 1,
     argc        => 2,
     stream      => 1,
-    max_chunk_size => 0,
+    #max_chunk_size => 0,
+    max_bundle_count => 1,
     record_type => 'auth'
 );
 
@@ -901,7 +907,7 @@ sub import_record_list_impl {
         report_all => $$args{report_all}
     };
 
-    $conn->max_chunk_count(1) if $$args{report_all};
+    $conn->max_chunk_count(1) if (!$conn->can('max_bundle_size') && $conn->can('max_chunk_size') && $$args{report_all});
 
     my $auto_overlay_exact = $$args{auto_overlay_exact};
     my $auto_overlay_1match = $$args{auto_overlay_1match};