@@ -266,13 +266,33 @@ class ReplicationStatusUpdater {
266266 * @returns {void }
267267 */
268268 _listObjectVersions ( bucket , VersionIdMarker , KeyMarker , cb ) {
269+ this . log . info ( 'AAAAAA 1: Starting listObjectVersions' , {
270+ bucket,
271+ VersionIdMarker,
272+ KeyMarker,
273+ targetPrefix : this . targetPrefix ,
274+ listingLimit : this . listingLimit ,
275+ } ) ;
269276 return this . s3 . listObjectVersions ( {
270277 Bucket : bucket ,
271278 MaxKeys : this . listingLimit ,
272279 Prefix : this . targetPrefix ,
273280 VersionIdMarker,
274281 KeyMarker,
275- } , cb ) ;
282+ } , ( err , data ) => {
283+ if ( err ) {
284+ this . log . error ( 'AAAAAA 2: Error in listObjectVersions' , { error : err } ) ;
285+ return cb ( err ) ;
286+ }
287+ this . log . info ( 'AAAAAA 3: listObjectVersions response' , {
288+ versionsCount : ( data . Versions || [ ] ) . length ,
289+ deleteMarkersCount : ( data . DeleteMarkers || [ ] ) . length ,
290+ isTruncated : data . IsTruncated ,
291+ nextVersionIdMarker : data . NextVersionIdMarker ,
292+ nextKeyMarker : data . NextKeyMarker ,
293+ } ) ;
294+ cb ( null , data ) ;
295+ } ) ;
276296 }
277297
278298 /**
@@ -284,6 +304,17 @@ class ReplicationStatusUpdater {
284304 * @returns {void }
285305 */
286306 _markPending ( bucket , versions , cb ) {
307+ this . log . info ( 'AAAAAA 4: Starting _markPending' , {
308+ bucket,
309+ versionsCount : versions . length ,
310+ versions : versions . map ( v => ( { Key : v . Key , VersionId : v . VersionId , IsLatest : v . IsLatest } ) )
311+ } ) ;
312+
313+ if ( versions . length === 0 ) {
314+ this . log . info ( 'AAAAAA 5: No versions to process, returning early' ) ;
315+ return cb ( ) ;
316+ }
317+
287318 const options = { Bucket : bucket } ;
288319 waterfall ( [
289320 next => this . s3 . getBucketReplication ( options , ( err , res ) => {
@@ -307,11 +338,14 @@ class ReplicationStatusUpdater {
307338 }
308339 return eachLimit ( versions , this . workers , ( i , apply ) => {
309340 const { Key, VersionId, IsLatest } = i ;
341+ this . log . info ( 'AAAAAA 6: Processing object' , { Key, VersionId, IsLatest, currentVersionOnly : this . currentVersionOnly } ) ;
310342 if ( this . currentVersionOnly && ! IsLatest ) {
343+ this . log . info ( 'AAAAAA 7: Skipping non-current version' , { Key, VersionId } ) ;
311344 ++ this . _nSkipped ;
312345 apply ( ) ;
313346 return ;
314347 }
348+ this . log . info ( 'AAAAAA 8: Calling _markObjectPending' , { Key, VersionId, storageClass } ) ;
315349 this . _markObjectPending ( bucket , Key , VersionId , storageClass , repConfig , apply ) ;
316350 } , next ) ;
317351 } ,
@@ -348,17 +382,36 @@ class ReplicationStatusUpdater {
348382 this . log . error ( 'error listing object versions' , { error : err } ) ;
349383 return done ( err ) ;
350384 }
351- return this . _markPending ( bucket , data . Versions . concat ( data . DeleteMarkers ) , err => {
385+ const versions = ( data . Versions || [ ] ) . concat ( data . DeleteMarkers || [ ] ) ;
386+ this . log . info ( 'AAAAAA 9: About to call _markPending' , {
387+ versionsCount : versions . length ,
388+ isTruncated : data . IsTruncated ,
389+ } ) ;
390+ return this . _markPending ( bucket , versions , err => {
352391 if ( err ) {
392+ this . log . error ( 'AAAAAA 10: Error in _markPending' , { error : err } ) ;
353393 return done ( err ) ;
354394 }
395+ this . log . info ( 'AAAAAA 11: _markPending completed, updating markers' , {
396+ nextVersionIdMarker : data . NextVersionIdMarker ,
397+ nextKeyMarker : data . NextKeyMarker ,
398+ isTruncated : data . IsTruncated ,
399+ } ) ;
355400 this . _VersionIdMarker = data . NextVersionIdMarker ;
356401 this . _KeyMarker = data . NextKeyMarker ;
357402 return done ( ) ;
358403 } ) ;
359404 } ,
360405 ) ,
361406 async ( ) => {
407+ this . log . info ( 'AAAAAA 12: Checking doWhilst condition' , {
408+ nUpdated : this . _nUpdated ,
409+ maxUpdates : this . maxUpdates ,
410+ nProcessed : this . _nProcessed ,
411+ maxScanned : this . maxScanned ,
412+ versionIdMarker : this . _VersionIdMarker ,
413+ keyMarker : this . _KeyMarker ,
414+ } ) ;
362415 if ( this . _nUpdated >= this . maxUpdates || this . _nProcessed >= this . maxScanned ) {
363416 this . _logProgress ( ) ;
364417 let remainingBuckets ;
@@ -384,11 +437,14 @@ class ReplicationStatusUpdater {
384437 + `VERSION_ID_MARKER=${ this . _VersionIdMarker } ` ;
385438 }
386439 this . log . info ( message ) ;
440+ this . log . info ( 'AAAAAA 13: Stopping due to limits reached' ) ;
387441 return false ;
388442 }
389443 if ( this . _VersionIdMarker || this . _KeyMarker ) {
444+ this . log . info ( 'AAAAAA 14: Continuing loop - has markers' ) ;
390445 return true ;
391446 }
447+ this . log . info ( 'AAAAAA 15: Stopping loop - no more markers' ) ;
392448 return false ;
393449 } ,
394450 err => {
0 commit comments