Follow-up to #2095771: alexpott's test issue

Helper issue for patches I'm working on

CommentFileSizeAuthor
#70 2729713-2-69.patch913 bytesalexpott
#70 2729713-2-69.patch913 bytesalexpott
#68 2729713-2-68.patch2.58 KBalexpott
#64 more-testing.patch767 bytesalexpott
#61 2729713-61.patch1014 bytesalexpott
#57 interdiff.txt502 bytesmikeryan
#57 2682585-2-57.patch9.72 KBmikeryan
#53 2682585-2-53.patch9.7 KBmikeryan
#46 2682585-2-46.patch9.6 KBmikeryan
#39 2682585-2-39.patch8.58 KBmikeryan
#37 2682585-2-37.patch8.4 KBmikeryan
#36 2682585-2-36.patch8.78 KBmikeryan
#31 interdiff.txt6.86 KBmikeryan
#31 2682585-2-31.patch16.28 KBmikeryan
#29 2682585-2-29.patch17.01 KBalexpott
#22 2682585-22.patch16.38 KBalexpott
#14 2682585-14.patch24.49 KBalexpott
#3 2682585-3.patch21.17 KBalexpott
#2 2714555-3.patch6.88 KBalexpott
Support from Acquia helps fund testing for Drupal Acquia logo

Comments

alexpott created an issue. See original summary.

alexpott’s picture

Status: Needs review » Needs work

The last submitted patch, 3: 2682585-3.patch, failed testing.

The last submitted patch, 3: 2682585-3.patch, failed testing.

The last submitted patch, 3: 2682585-3.patch, failed testing.

The last submitted patch, 3: 2682585-3.patch, failed testing.

The last submitted patch, 3: 2682585-3.patch, failed testing.

The last submitted patch, 3: 2682585-3.patch, failed testing.

The last submitted patch, 3: 2682585-3.patch, failed testing.

The last submitted patch, 3: 2682585-3.patch, failed testing.

The last submitted patch, 3: 2682585-3.patch, failed testing.

The last submitted patch, 3: 2682585-3.patch, failed testing.

Status: Needs review » Needs work

The last submitted patch, 14: 2682585-14.patch, failed testing.

The last submitted patch, 14: 2682585-14.patch, failed testing.

The last submitted patch, 14: 2682585-14.patch, failed testing.

The last submitted patch, 14: 2682585-14.patch, failed testing.

The last submitted patch, 14: 2682585-14.patch, failed testing.

The last submitted patch, 14: 2682585-14.patch, failed testing.

The last submitted patch, 14: 2682585-14.patch, failed testing.

Status: Needs review » Needs work

The last submitted patch, 22: 2682585-22.patch, failed testing.

The last submitted patch, 22: 2682585-22.patch, failed testing.

The last submitted patch, 22: 2682585-22.patch, failed testing.

The last submitted patch, 22: 2682585-22.patch, failed testing.

The last submitted patch, 22: 2682585-22.patch, failed testing.

The last submitted patch, 22: 2682585-22.patch, failed testing.

alexpott’s picture

Status: Needs review » Needs work

The last submitted patch, 29: 2682585-2-29.patch, failed testing.

mikeryan’s picture

mikeryan’s picture

Status: Needs work » Needs review
lokapujya’s picture

How do you view the HTML? Just run this patch locally?

Status: Needs review » Needs work

The last submitted patch, 31: 2682585-2-31.patch, failed testing.

alexpott’s picture

@lokapujya so things are base64_encode(gzcompress())... so you need to do the opposite... gzuncompress(base64_decode())... the patch in #29 using this you'll get the watchdog table after a random fail in the test output.

mikeryan’s picture

Status: Needs work » Needs review
FileSize
8.78 KB

Botched the last patch, this one removes the trait name change.

mikeryan’s picture

The last submitted patch, 36: 2682585-2-36.patch, failed testing.

mikeryan’s picture

mikeryan’s picture

Queued with various PHP/db combos - maybe there's some combo that's more likely to hit the failure (or even one that's reproducible...).

The last submitted patch, 37: 2682585-2-37.patch, failed testing.

The last submitted patch, 37: 2682585-2-37.patch, failed testing.

Status: Needs review » Needs work

The last submitted patch, 39: 2682585-2-39.patch, failed testing.

The last submitted patch, 39: 2682585-2-39.patch, failed testing.

mikeryan’s picture

  'message' => 'Beginning d7_comment_field_instance',
  'message' => 'Upgraded Comment field instance configuration (processed 6 items total)',
  'message' => 'Beginning d7_comment_entity_form_display_subject',
  'message' => 'Upgraded Comment subject form display configuration (processed 6 items total)',
  'message' => 'Beginning d7_comment_entity_form_display_subject',
  'message' => 'Upgraded Comment subject form display configuration (processed 0 items total)',
  'message' => 'Beginning d7_comment_entity_form_display',
  'message' => 'Operation on @migration failed',
  'message' => 'Migration d7_comment_entity_form_display is busy with another operation: Importing',
  'message' => 'Beginning d7_comment_entity_display',
  'message' => 'Upgraded Comment display configuration (processed 6 items total)',

So, somehow, d7_comment_entity_form_display is busy the first time it is attempted... The two runs of d7_comment_entity_form_display_subject must be related, but I don't see how we get in this state.

mikeryan’s picture

More instrumentation (capturing the setting of the status). Also, since we see d7_comment_entity_form_display_subject executing first in the failures, but in my local successes I see d7_comment_entity_form_display execute first, setting a dependency to see if that triggers more consistent failures.

Status: Needs review » Needs work

The last submitted patch, 46: 2682585-2-46.patch, failed testing.

The last submitted patch, 46: 2682585-2-46.patch, failed testing.

The last submitted patch, 46: 2682585-2-46.patch, failed testing.

The last submitted patch, 46: 2682585-2-46.patch, failed testing.

The last submitted patch, 46: 2682585-2-46.patch, failed testing.

The last submitted patch, 46: 2682585-2-46.patch, failed testing.

mikeryan’s picture

Oops - using dblog (a requirement of migrate_drupal_ui but not of migrate) in migrate broke the other tests. And also making the migration dependency required broke a test, making that optional now...

Status: Needs review » Needs work

The last submitted patch, 53: 2682585-2-53.patch, failed testing.

The last submitted patch, 53: 2682585-2-53.patch, failed testing.

mikeryan’s picture

Very interesting - now d6_upload is the busy one (in both the test failures). The sequence of events (where a status of 1 is IMPORTING and 0 is IDLE):

Immediately before d6_upload, this is what a normal migration looks like:

'message' => 'Beginning d6_upload_entity_display',
'message' => 'Setting d6_upload_entity_display status to 1',
'message' => 'Setting d6_upload_entity_display status to 0',
'message' => 'Upgraded Upload display configuration (processed 2 items total)',

Starting the upload migration:

'message' => 'Beginning d6_upload',
'message' => 'Setting d6_upload status to 1',

Here's where we break - d6_upload did not complete in a normal way, and we're picking up from d6_upload_entity_display again:

'message' => 'Beginning d6_upload_entity_display',
'message' => 'Setting d6_upload_entity_display status to 1',
'message' => 'Setting d6_upload_entity_display status to 0',
'message' => 'Upgraded Upload display configuration (processed 0 items total)',
'message' => 'Beginning d6_upload',
'message' => 'Operation on @migration failed',
'message' => 'Migration d6_upload is busy with another operation: Importing',

And onward without further event:

'message' => 'Beginning d6_node_setting_sticky',

So, it seems some non-catchable event occurs while d6_upload is running, and a new batch is started with $context['sandbox']['migration_ids'] set back to where it was before d6_upload_entity_display completed. I have to wonder how batch API works in the test environment - is there some timeout happening that forcefully aborts one page of the batch and restarts with the last recorded sandbox?

mikeryan’s picture

Betcha this one fails consistently - not even going to queue up 6 copies this time...

mikeryan’s picture

Heh, this very problem is blocking the test running...

Anyway, it's looking to me like the root problem isn't anything in migration code, it's simply the length of time the upgrade test takes.

mikeryan’s picture

Adding the sleep(10) got me my first local failure, thought it would be a slamdunk to reproduce here - queued up a few more tests, let's see what our hit ratio is.

alexpott’s picture

Title: alexpott's test issue » Investigation into randon fails in \Drupal\migrate_drupal_ui\Tests\d7\MigrateUpgrade7Test

Status: Needs review » Needs work

The last submitted patch, 61: 2729713-61.patch, failed testing.

The last submitted patch, 61: 2729713-61.patch, failed testing.

The last submitted patch, 61: 2729713-61.patch, failed testing.

The last submitted patch, 61: 2729713-61.patch, failed testing.

The last submitted patch, 61: 2729713-61.patch, failed testing.

alexpott’s picture

Title: Investigation into randon fails in \Drupal\migrate_drupal_ui\Tests\d7\MigrateUpgrade7Test » Investigation into random fails in \Drupal\migrate_drupal_ui\Tests\d7\MigrateUpgrade7Test
alexpott’s picture

alexpott’s picture

Status: Needs review » Fixed

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.