diff --git a/core/drupalci.yml b/core/drupalci.yml
index 2085b9737b..ff581609aa 100644
--- a/core/drupalci.yml
+++ b/core/drupalci.yml
@@ -19,30 +19,9 @@ build:
       # halt-on-fail can be set on the run_tests tasks in order to fail fast.
       # suppress-deprecations is false in order to be alerted to usages of
       # deprecated code.
-      run_tests.phpunit:
-        types: 'PHPUnit-Unit'
-        testgroups: '--all'
-        suppress-deprecations: false
-        halt-on-fail: false
       run_tests.kernel:
         types: 'PHPUnit-Kernel'
-        testgroups: '--all'
-        suppress-deprecations: false
-        halt-on-fail: false
-      run_tests.simpletest:
-         types: 'Simpletest'
-         testgroups: '--all'
-         suppress-deprecations: false
-         halt-on-fail: false
-      run_tests.functional:
-        types: 'PHPUnit-Functional'
-        testgroups: '--all'
-        suppress-deprecations: false
-        halt-on-fail: false
-      run_tests.javascript:
-        concurrency: 15
-        types: 'PHPUnit-FunctionalJavascript'
-        testgroups: '--all'
+        testgroups: 'migrationtests'
         suppress-deprecations: false
         halt-on-fail: false
       # Run nightwatch testing.
diff --git a/core/modules/migrate/src/Plugin/Derivative/MigrateEntityMaster.php b/core/modules/migrate/src/Plugin/Derivative/MigrateEntityMaster.php
new file mode 100644
index 0000000000..d54db942f7
--- /dev/null
+++ b/core/modules/migrate/src/Plugin/Derivative/MigrateEntityMaster.php
@@ -0,0 +1,25 @@
+<?php
+
+namespace Drupal\migrate\Plugin\Derivative;
+
+/**
+ * MigrateEntityMaster Deriver.
+ */
+class MigrateEntityMaster extends MigrateEntity {
+
+  /**
+   * {@inheritdoc}
+   */
+  public function getDerivativeDefinitions($base_plugin_definition) {
+    foreach ($this->entityDefinitions as $entity_type => $entity_info) {
+      $this->derivatives[$entity_type] = [
+        'id' => "entity_master:$entity_type",
+        'class' => 'Drupal\migrate\Plugin\migrate\destination\EntityContentMaster',
+        'requirements_met' => 1,
+        'provider' => $entity_info->getProvider(),
+      ];
+    }
+    return $this->derivatives;
+  }
+
+}
diff --git a/core/modules/migrate/src/Plugin/migrate/destination/EntityContentBase.php b/core/modules/migrate/src/Plugin/migrate/destination/EntityContentBase.php
index 3f8dae982f..26ddd345fe 100644
--- a/core/modules/migrate/src/Plugin/migrate/destination/EntityContentBase.php
+++ b/core/modules/migrate/src/Plugin/migrate/destination/EntityContentBase.php
@@ -264,6 +264,9 @@ protected function updateEntity(EntityInterface $entity, Row $row) {
         $language = $row->getDestinationProperty($property);
         if (!$entity->hasTranslation($language)) {
           $entity->addTranslation($language);
+          if ($this->storage->getEntityType()->isRevisionable()) {
+            $entity->setNewRevision(TRUE);
+          }
 
           // We're adding a translation, so delete it on rollback.
           $rollback_action = MigrateIdMapInterface::ROLLBACK_DELETE;
diff --git a/core/modules/migrate/src/Plugin/migrate/destination/EntityContentMaster.php b/core/modules/migrate/src/Plugin/migrate/destination/EntityContentMaster.php
new file mode 100644
index 0000000000..ec62075e7a
--- /dev/null
+++ b/core/modules/migrate/src/Plugin/migrate/destination/EntityContentMaster.php
@@ -0,0 +1,111 @@
+<?php
+
+namespace Drupal\migrate\Plugin\migrate\destination;
+
+use Drupal\Core\Entity\ContentEntityInterface;
+use Drupal\Core\Entity\EntityChangedInterface;
+use Drupal\migrate\Row;
+
+/**
+ * Master destination for migrating the entire entity revision table.
+ *
+ * @MigrateDestination(
+ *   id = "entity_master",
+ *   deriver = "Drupal\migrate\Plugin\Derivative\MigrateEntityMaster"
+ * )
+ */
+class EntityContentMaster extends EntityContentBase {
+
+  /**
+   * {@inheritdoc}
+   */
+  public function getIds() {
+    $ids = [];
+    $id_key = $this->getKey('id');
+    $ids[$id_key] = $this->getDefinitionFromEntity($id_key);
+
+    $revision_key = $this->getKey('revision');
+    if ($revision_key) {
+      $ids[$revision_key] = $this->getDefinitionFromEntity($revision_key);
+    }
+
+    $langcode_key = $this->getKey('langcode');
+    if ($langcode_key) {
+      $ids[$langcode_key] = $this->getDefinitionFromEntity($langcode_key);
+    }
+
+    return $ids;
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  protected static function getEntityTypeId($plugin_id) {
+    // Remove entity_revision:
+    return substr($plugin_id, 14);
+  }
+
+  /**
+   * Gets the entity.
+   *
+   * @param \Drupal\migrate\Row $row
+   *   The row object.
+   * @param array $old_destination_id_values
+   *   The old destination IDs.
+   *
+   * @return \Drupal\Core\Entity\EntityInterface|false
+   *   The entity or false if it can not be created.
+   */
+  protected function getEntity(Row $row, array $old_destination_id_values) {
+    $revision_id = $old_destination_id_values ?
+      $old_destination_id_values[1] :
+      $row->getDestinationProperty($this->getKey('revision'));
+    if (!empty($revision_id) && ($entity = $this->storage->loadRevision($revision_id))) {
+      $entity->setNewRevision(FALSE);
+    }
+    else {
+      if (($entity_id = $row->getDestinationProperty($this->getKey('id'))) &&
+        ($entity = $this->storage->load($entity_id))) {
+        $entity->enforceIsNew(FALSE);
+        $entity->setNewRevision(TRUE);
+      }
+      else {
+        // Attempt to ensure we always have a bundle.
+        if ($bundle = $this->getBundle($row)) {
+          $row->setDestinationProperty($this->getKey('bundle'), $bundle);
+        }
+
+        // Stubs might need some required fields filled in.
+        if ($row->isStub()) {
+          $this->processStubRow($row);
+        }
+        $entity = $this->storage->create($row->getDestination());
+        $entity->enforceIsNew();
+      }
+    }
+    // We need to update the entity, so that the destination row IDs are
+    // correct.
+    $entity = $this->updateEntity($entity, $row);
+    $entity->isDefaultRevision(TRUE);
+    if ($entity instanceof EntityChangedInterface && $entity instanceof ContentEntityInterface) {
+      // If we updated any untranslatable fields, update the timestamp for the
+      // other translations.
+      /** @var \Drupal\Core\Entity\ContentEntityInterface|\Drupal\Core\Entity\EntityChangedInterface $entity */
+      foreach ($entity->getTranslationLanguages() as $langcode => $language) {
+        if ($entity->getTranslation($langcode)->hasTranslationChanges()) {
+          $entity->getTranslation($langcode)->setChangedTime($entity->getChangedTime());
+        }
+      }
+    }
+    return $entity;
+  }
+
+  protected function save(ContentEntityInterface $entity, array $old_destination_id_values = []) {
+    parent::save($entity, $old_destination_id_values);
+    return [
+      $entity->id(),
+      $entity->getRevisionId(),
+    ];
+  }
+
+}
diff --git a/core/modules/migrate/src/Plugin/migrate/id_map/Sql.php b/core/modules/migrate/src/Plugin/migrate/id_map/Sql.php
index 03f631fb26..727f5eb6e3 100644
--- a/core/modules/migrate/src/Plugin/migrate/id_map/Sql.php
+++ b/core/modules/migrate/src/Plugin/migrate/id_map/Sql.php
@@ -971,14 +971,9 @@ protected function getMigrationPluginManager() {
    * {@inheritdoc}
    */
   public function getHighestId() {
-    array_filter(
-      $this->migration->getDestinationPlugin()->getIds(),
-      function (array $id) {
-        if ($id['type'] !== 'integer') {
-          throw new \LogicException('Cannot determine the highest migrated ID without an integer ID column');
-        }
-      }
-    );
+    if (array_search('integer', array_column($this->migration->getDestinationPlugin()->getIds(), 'type')) === FALSE) {
+      throw new \LogicException('Cannot determine the highest migrated ID without an integer ID column');
+    };
 
     // List of mapping tables to look in for the highest ID.
     $map_tables = [
diff --git a/core/modules/migrate_drupal/migrate_drupal.module b/core/modules/migrate_drupal/migrate_drupal.module
index 6f1c6b6229..46625012bd 100644
--- a/core/modules/migrate_drupal/migrate_drupal.module
+++ b/core/modules/migrate_drupal/migrate_drupal.module
@@ -5,6 +5,7 @@
  * Provides migration from other Drupal sites.
  */
 
+use Drupal\Core\Database\Connection;
 use Drupal\Core\Url;
 use Drupal\Core\Database\DatabaseExceptionWrapper;
 use Drupal\Core\Routing\RouteMatchInterface;
@@ -91,4 +92,82 @@ function migrate_drupal_migration_plugins_alter(&$definitions) {
     }
 
   }
+
+  $revision_translations = TRUE;
+  if ($revision_translations) {
+    $version = migrate_drupal_isMultilingualSource($definitions);
+    if ($version) {
+      $patterns = '/(d' . $version . '_node:)|(d' . $version . '_node_translation:)|(d' . $version . '_node_revision:)/';
+
+      foreach ($definitions as $key => &$definition) {
+        if (preg_match($patterns, $key)) {
+          unset($definitions[$key]);
+        }
+      }
+    }
+  }
+}
+
+/**
+ * @return bool
+ */
+function migrate_drupal_isMultilingualSource($definitions) {
+  $source_plugin = \Drupal::service('plugin.manager.migration')
+    ->createStubMigration($definitions['system_site'])
+    ->getSourcePlugin();
+  $connection = NULL;
+
+  try {
+    $connection = $source_plugin->getDatabase();
+  }
+  catch (RequirementsException $e) {
+    // It is possible the commerce_migrate is enabled to use the supplied
+    // plugins, but the migrations are not configured. In this case, the
+    // exported configurations are not available to swap out the default
+    // sql source key of 'migrate'.
+  }
+  if ($connection) {
+    // Get the Drupal version of the source database so it can be validated.
+    $version = (string) migrate_drupal_getLegacyDrupalVersion($connection);
+    $i18nTable = ($version === '6') ? 'i18nstring' : 'i18n_string';
+    if ($connection->schema()->tableExists($i18nTable)) {
+      return $version;
+    }
+  }
+}
+
+/**
+ * Determines what version of Drupal the source database contains.
+ *
+ * @param \Drupal\Core\Database\Connection $connection
+ *   The database connection object.
+ *
+ * @return string|false
+ *   A string representing the major branch of Drupal core (e.g. '6' for
+ *   Drupal 6.x), or FALSE if no valid version is matched.
+ */
+function migrate_drupal_getLegacyDrupalVersion(Connection $connection) {
+  // Don't assume because a table of that name exists, that it has the columns
+  // we're querying. Catch exceptions and report that the source database is
+  // not Drupal.
+  // Drupal 5/6/7 can be detected by the schema_version in the system table.
+  if ($connection->schema()->tableExists('system')) {
+    try {
+      $version_string = $connection
+        ->query('SELECT schema_version FROM {system} WHERE name = :module', [':module' => 'system'])
+        ->fetchField();
+      if ($version_string && $version_string[0] == '1') {
+        if ((int) $version_string >= 1000) {
+          $version_string = '5';
+        }
+        else {
+          $version_string = FALSE;
+        }
+      }
+    }
+    catch (\PDOException $e) {
+      $version_string = FALSE;
+    }
+  }
+  return $version_string ? substr($version_string, 0, 1) : FALSE;
 }
diff --git a/core/modules/migrate_drupal/tests/fixtures/drupal6.php b/core/modules/migrate_drupal/tests/fixtures/drupal6.php
index caa55b0e4c..a99f876f28 100644
--- a/core/modules/migrate_drupal/tests/fixtures/drupal6.php
+++ b/core/modules/migrate_drupal/tests/fixtures/drupal6.php
@@ -44465,10 +44465,10 @@
   'vid' => '1',
   'type' => 'story',
   'language' => '',
-  'title' => 'Test title',
+  'title' => 'Test title rev 3',
   'uid' => '1',
   'status' => '1',
-  'created' => '1388271197',
+  'created' => '1390095702',
   'changed' => '1420861423',
   'comment' => '0',
   'promote' => '0',
@@ -44499,7 +44499,7 @@
   'vid' => '4',
   'type' => 'test_planet',
   'language' => '',
-  'title' => 'Test planet title 3',
+  'title' => 'Test page title rev 4',
   'uid' => '1',
   'status' => '1',
   'created' => '1388271527',
@@ -44516,7 +44516,7 @@
   'vid' => '6',
   'type' => 'test_planet',
   'language' => '',
-  'title' => '',
+  'title' => 'Node 4',
   'uid' => '1',
   'status' => '1',
   'created' => '1388271527',
@@ -44533,7 +44533,7 @@
   'vid' => '7',
   'type' => 'test_planet',
   'language' => '',
-  'title' => '',
+  'title' => 'Node 5',
   'uid' => '1',
   'status' => '1',
   'created' => '1388271527',
@@ -44550,7 +44550,7 @@
   'vid' => '8',
   'type' => 'test_planet',
   'language' => '',
-  'title' => '',
+  'title' => 'Node 6',
   'uid' => '1',
   'status' => '1',
   'created' => '1388271527',
@@ -44567,7 +44567,7 @@
   'vid' => '9',
   'type' => 'test_planet',
   'language' => '',
-  'title' => '',
+  'title' => 'Node 7',
   'uid' => '1',
   'status' => '1',
   'created' => '1388271527',
@@ -44584,7 +44584,7 @@
   'vid' => '10',
   'type' => 'test_planet',
   'language' => '',
-  'title' => '',
+  'title' => 'Node 8',
   'uid' => '1',
   'status' => '1',
   'created' => '1388271527',
@@ -45280,7 +45280,7 @@
   'body' => 'test',
   'teaser' => 'test',
   'log' => '',
-  'timestamp' => '1420861423',
+  'timestamp' => '1390095702',
   'format' => '1',
 ))
 ->values(array(
@@ -45309,10 +45309,10 @@
   'nid' => '1',
   'vid' => '5',
   'uid' => '1',
-  'title' => 'Test title rev 3',
-  'body' => 'body test rev 3',
-  'teaser' => 'teaser test rev 3',
-  'log' => 'modified rev 3',
+  'title' => 'Test title rev 2',
+  'body' => 'body test rev 2',
+  'teaser' => 'teaser test rev 2',
+  'log' => 'modified rev 2',
   'timestamp' => '1390095703',
   'format' => '1',
 ))
@@ -45518,11 +45518,11 @@
   'nid' => '1',
   'vid' => '2001',
   'uid' => '2',
-  'title' => 'Test title rev 2',
-  'body' => 'body test rev 2',
-  'teaser' => 'teaser test rev 2',
-  'log' => 'modified rev 2',
-  'timestamp' => '1390095702',
+  'title' => 'Test title rev 3',
+  'body' => 'body test rev 3',
+  'teaser' => 'teaser test rev 3',
+  'log' => 'modified rev 3',
+  'timestamp' => '1420861423',
   'format' => '1',
 ))
 ->values(array(
@@ -49662,29 +49662,29 @@
   'value' => 'i:0;',
 ))
 ->values(array(
-  'name' => 'i18n_newnode_current_employee',
+  'name' => 'i18n_lock_node_sponsor',
   'value' => 'i:0;',
 ))
 ->values(array(
-  'name' => 'i18n_node_employee',
-  'value' => 's:1:"1";',
-))
-->values(array(
-  'name' => 'i18n_required_node_employee',
+  'name' => 'i18n_newnode_current_employee',
   'value' => 'i:0;',
 ))
 ->values(array(
-  'name' => 'i18n_lock_node_sponsor',
+  'name' => 'i18n_newnode_current_sponsor',
   'value' => 'i:0;',
 ))
 ->values(array(
-  'name' => 'i18n_newnode_current_sponsor',
-  'value' => 'i:0;',
+  'name' => 'i18n_node_employee',
+  'value' => 's:1:"1";',
 ))
 ->values(array(
   'name' => 'i18n_node_sponsor',
   'value' => 'i:1;',
 ))
+->values(array(
+  'name' => 'i18n_required_node_employee',
+  'value' => 'i:0;',
+))
 ->values(array(
   'name' => 'i18n_required_node_sponsor',
   'value' => 'i:0;',
diff --git a/core/modules/migrate_drupal/tests/fixtures/drupal7.php b/core/modules/migrate_drupal/tests/fixtures/drupal7.php
index f68df74203..de353b0bb5 100644
--- a/core/modules/migrate_drupal/tests/fixtures/drupal7.php
+++ b/core/modules/migrate_drupal/tests/fixtures/drupal7.php
@@ -5089,7 +5089,7 @@
   'bundle' => 'article',
   'deleted' => '0',
   'entity_id' => '2',
-  'revision_id' => '2',
+  'revision_id' => '11',
   'language' => 'und',
   'delta' => '0',
   'body_value' => "...is that it's the absolute best show ever. Trust me, I would know.",
@@ -5101,7 +5101,7 @@
   'bundle' => 'article',
   'deleted' => '0',
   'entity_id' => '3',
-  'revision_id' => '3',
+  'revision_id' => '12',
   'language' => 'und',
   'delta' => '0',
   'body_value' => "is - ...is that it's the absolute best show ever. Trust me, I would know.",
@@ -6945,23 +6945,23 @@
   'bundle' => 'article',
   'deleted' => '0',
   'entity_id' => '2',
-  'revision_id' => '2',
+  'revision_id' => '11',
   'language' => 'und',
   'delta' => '0',
   'field_link_url' => '<front>',
-  'field_link_title' => 'Home',
-  'field_link_attributes' => 'a:0:{}',
+  'field_link_title' => NULL,
+  'field_link_attributes' => 'a:1:{s:5:"title";s:0:"";}',
 ))
 ->values(array(
   'entity_type' => 'node',
   'bundle' => 'article',
   'deleted' => '0',
   'entity_id' => '3',
-  'revision_id' => '3',
+  'revision_id' => '12',
   'language' => 'und',
   'delta' => '0',
   'field_link_url' => '<front>',
-  'field_link_title' => 'Home',
+  'field_link_title' => NULL,
   'field_link_attributes' => 'a:1:{s:5:"title";s:0:"";}',
 ))
 ->execute();
@@ -7573,7 +7573,7 @@
   'bundle' => 'article',
   'deleted' => '0',
   'entity_id' => '2',
-  'revision_id' => '2',
+  'revision_id' => '11',
   'language' => 'und',
   'delta' => '0',
   'field_reference_target_id' => '5',
@@ -7583,7 +7583,7 @@
   'bundle' => 'article',
   'deleted' => '0',
   'entity_id' => '3',
-  'revision_id' => '3',
+  'revision_id' => '12',
   'language' => 'und',
   'delta' => '0',
   'field_reference_target_id' => '4',
@@ -7593,7 +7593,7 @@
   'bundle' => 'article',
   'deleted' => '0',
   'entity_id' => '4',
-  'revision_id' => '4',
+  'revision_id' => '13',
   'language' => 'und',
   'delta' => '0',
   'field_reference_target_id' => '3',
@@ -7603,7 +7603,7 @@
   'bundle' => 'article',
   'deleted' => '0',
   'entity_id' => '5',
-  'revision_id' => '5',
+  'revision_id' => '14',
   'language' => 'und',
   'delta' => '0',
   'field_reference_target_id' => '2',
@@ -7709,7 +7709,7 @@
   'bundle' => 'article',
   'deleted' => '0',
   'entity_id' => '2',
-  'revision_id' => '2',
+  'revision_id' => '11',
   'language' => 'und',
   'delta' => '0',
   'field_reference_2_target_id' => '5',
@@ -7719,7 +7719,7 @@
   'bundle' => 'article',
   'deleted' => '0',
   'entity_id' => '3',
-  'revision_id' => '3',
+  'revision_id' => '12',
   'language' => 'und',
   'delta' => '0',
   'field_reference_2_target_id' => '4',
@@ -7729,7 +7729,7 @@
   'bundle' => 'article',
   'deleted' => '0',
   'entity_id' => '4',
-  'revision_id' => '4',
+  'revision_id' => '13',
   'language' => 'und',
   'delta' => '0',
   'field_reference_2_target_id' => '3',
@@ -7739,7 +7739,7 @@
   'bundle' => 'article',
   'deleted' => '0',
   'entity_id' => '5',
-  'revision_id' => '5',
+  'revision_id' => '14',
   'language' => 'und',
   'delta' => '0',
   'field_reference_2_target_id' => '2',
@@ -7822,7 +7822,7 @@
   'bundle' => 'article',
   'deleted' => '0',
   'entity_id' => '2',
-  'revision_id' => '2',
+  'revision_id' => '11',
   'language' => 'und',
   'delta' => '0',
   'field_tags_tid' => '9',
@@ -7832,7 +7832,7 @@
   'bundle' => 'article',
   'deleted' => '0',
   'entity_id' => '3',
-  'revision_id' => '3',
+  'revision_id' => '12',
   'language' => 'und',
   'delta' => '0',
   'field_tags_tid' => '9',
@@ -7842,7 +7842,7 @@
   'bundle' => 'article',
   'deleted' => '0',
   'entity_id' => '2',
-  'revision_id' => '2',
+  'revision_id' => '11',
   'language' => 'und',
   'delta' => '1',
   'field_tags_tid' => '14',
@@ -7852,7 +7852,7 @@
   'bundle' => 'article',
   'deleted' => '0',
   'entity_id' => '3',
-  'revision_id' => '3',
+  'revision_id' => '12',
   'language' => 'und',
   'delta' => '1',
   'field_tags_tid' => '14',
@@ -7862,7 +7862,7 @@
   'bundle' => 'article',
   'deleted' => '0',
   'entity_id' => '2',
-  'revision_id' => '2',
+  'revision_id' => '11',
   'language' => 'und',
   'delta' => '2',
   'field_tags_tid' => '17',
@@ -7872,7 +7872,7 @@
   'bundle' => 'article',
   'deleted' => '0',
   'entity_id' => '3',
-  'revision_id' => '3',
+  'revision_id' => '12',
   'language' => 'und',
   'delta' => '2',
   'field_tags_tid' => '17',
@@ -8713,6 +8713,63 @@
   'mysql_character_set' => 'utf8',
 ));
 
+$connection->insert('field_data_field_text_plain')
+->fields(array(
+  'entity_type',
+  'bundle',
+  'deleted',
+  'entity_id',
+  'revision_id',
+  'language',
+  'delta',
+  'field_text_plain_value',
+  'field_text_plain_format',
+))
+->values(array(
+  'entity_type' => 'node',
+  'bundle' => 'article',
+  'deleted' => '0',
+  'entity_id' => '2',
+  'revision_id' => '11',
+  'language' => 'und',
+  'delta' => '0',
+  'field_text_plain_value' => 'DS9 2nd rev',
+  'field_text_plain_format' => NULL,
+))
+->values(array(
+  'entity_type' => 'node',
+  'bundle' => 'article',
+  'deleted' => '0',
+  'entity_id' => '3',
+  'revision_id' => '12',
+  'language' => 'und',
+  'delta' => '0',
+  'field_text_plain_value' => 'is - DS9 2nd rev',
+  'field_text_plain_format' => NULL,
+))
+->values(array(
+  'entity_type' => 'node',
+  'bundle' => 'article',
+  'deleted' => '0',
+  'entity_id' => '4',
+  'revision_id' => '13',
+  'language' => 'und',
+  'delta' => '0',
+  'field_text_plain_value' => 'is - Firefly 2nd rev',
+  'field_text_plain_format' => NULL,
+))
+->values(array(
+  'entity_type' => 'node',
+  'bundle' => 'article',
+  'deleted' => '0',
+  'entity_id' => '5',
+  'revision_id' => '14',
+  'language' => 'und',
+  'delta' => '0',
+  'field_text_plain_value' => 'Firefly 2nd rev',
+  'field_text_plain_format' => NULL,
+))
+->execute();
 $connection->schema()->createTable('field_data_field_text_plain_filtered', array(
   'fields' => array(
     'entity_type' => array(
@@ -9298,7 +9355,7 @@
   'bundle' => 'article',
   'deleted' => '0',
   'entity_id' => '2',
-  'revision_id' => '2',
+  'revision_id' => '11',
   'language' => 'und',
   'delta' => '0',
   'field_vocab_fixed_tid' => '24',
@@ -9404,7 +9461,7 @@
   'bundle' => 'article',
   'deleted' => '0',
   'entity_id' => '2',
-  'revision_id' => '2',
+  'revision_id' => '11',
   'language' => 'und',
   'delta' => '0',
   'field_vocab_localize_tid' => '20',
@@ -9414,7 +9471,7 @@
   'bundle' => 'article',
   'deleted' => '0',
   'entity_id' => '3',
-  'revision_id' => '3',
+  'revision_id' => '12',
   'language' => 'und',
   'delta' => '0',
   'field_vocab_localize_tid' => '20',
@@ -9520,7 +9577,7 @@
   'bundle' => 'article',
   'deleted' => '0',
   'entity_id' => '2',
-  'revision_id' => '2',
+  'revision_id' => '11',
   'language' => 'und',
   'delta' => '0',
   'field_vocab_translate_tid' => '21',
@@ -9530,7 +9587,7 @@
   'bundle' => 'article',
   'deleted' => '0',
   'entity_id' => '3',
-  'revision_id' => '3',
+  'revision_id' => '12',
   'language' => 'und',
   'delta' => '0',
   'field_vocab_translate_tid' => '23',
@@ -10180,6 +10237,18 @@
   'body_summary' => '',
   'body_format' => 'filtered_html',
 ))
+->values(array(
+  'entity_type' => 'node',
+  'bundle' => 'article',
+  'deleted' => '0',
+  'entity_id' => '2',
+  'revision_id' => '11',
+  'language' => 'und',
+  'delta' => '0',
+  'body_value' => "...is that it's the absolute best show ever. Trust me, I would know.",
+  'body_summary' => '',
+  'body_format' => 'filtered_html',
+))
 ->values(array(
   'entity_type' => 'node',
   'bundle' => 'article',
@@ -10196,11 +10265,11 @@
   'entity_type' => 'node',
   'bundle' => 'article',
   'deleted' => '0',
-  'entity_id' => '4',
-  'revision_id' => '4',
+  'entity_id' => '3',
+  'revision_id' => '12',
   'language' => 'und',
   'delta' => '0',
-  'body_value' => 'is - Is that is it awesome.',
+  'body_value' => "is - ...is that it's the absolute best show ever. Trust me, I would know.",
   'body_summary' => '',
   'body_format' => 'filtered_html',
 ))
@@ -10208,11 +10277,11 @@
   'entity_type' => 'node',
   'bundle' => 'article',
   'deleted' => '0',
-  'entity_id' => '5',
-  'revision_id' => '5',
+  'entity_id' => '4',
+  'revision_id' => '4',
   'language' => 'und',
   'delta' => '0',
-  'body_value' => 'en - Is that is it awesome.',
+  'body_value' => 'is - Is that is it awesome.',
   'body_summary' => '',
   'body_format' => 'filtered_html',
 ))
@@ -12064,8 +12133,20 @@
   'language' => 'und',
   'delta' => '0',
   'field_link_url' => '<front>',
+  'field_link_title' => 'Home;',
+  'field_link_attributes' => 'a:1:{s:5:"title";s:0:"";}',
+))
+->values(array(
+  'entity_type' => 'node',
+  'bundle' => 'article',
+  'deleted' => '0',
+  'entity_id' => '2',
+  'revision_id' => '11',
+  'language' => 'und',
+  'delta' => '0',
+  'field_link_url' => '<front>',
   'field_link_title' => 'Home',
-  'field_link_attributes' => 'a:0:{}',
+  'field_link_attributes' => 'a:1:{s:5:"title";s:0:"";}',
 ))
 ->values(array(
   'entity_type' => 'node',
@@ -12079,6 +12160,18 @@
   'field_link_title' => 'Home',
   'field_link_attributes' => 'a:1:{s:5:"title";s:0:"";}',
 ))
+->values(array(
+  'entity_type' => 'node',
+  'bundle' => 'article',
+  'deleted' => '0',
+  'entity_id' => '3',
+  'revision_id' => '12',
+  'language' => 'und',
+  'delta' => '0',
+  'field_link_url' => '<front>',
+  'field_link_title' => 'Home',
+  'field_link_attributes' => 'a:1:{s:5:"title";s:0:"";}',
+))
 ->execute();
 $connection->schema()->createTable('field_revision_field_long_text', array(
   'fields' => array(
@@ -12709,6 +12802,16 @@
   'delta' => '0',
   'field_reference_target_id' => '5',
 ))
+->values(array(
+  'entity_type' => 'node',
+  'bundle' => 'article',
+  'deleted' => '0',
+  'entity_id' => '2',
+  'revision_id' => '11',
+  'language' => 'und',
+  'delta' => '0',
+  'field_reference_target_id' => '5',
+))
 ->values(array(
   'entity_type' => 'node',
   'bundle' => 'article',
@@ -12719,6 +12822,16 @@
   'delta' => '0',
   'field_reference_target_id' => '4',
 ))
+->values(array(
+  'entity_type' => 'node',
+  'bundle' => 'article',
+  'deleted' => '0',
+  'entity_id' => '3',
+  'revision_id' => '12',
+  'language' => 'und',
+  'delta' => '0',
+  'field_reference_target_id' => '4',
+))
 ->values(array(
   'entity_type' => 'node',
   'bundle' => 'article',
@@ -12729,6 +12842,16 @@
   'delta' => '0',
   'field_reference_target_id' => '3',
 ))
+->values(array(
+  'entity_type' => 'node',
+  'bundle' => 'article',
+  'deleted' => '0',
+  'entity_id' => '4',
+  'revision_id' => '13',
+  'language' => 'und',
+  'delta' => '0',
+  'field_reference_target_id' => '3',
+))
 ->values(array(
   'entity_type' => 'node',
   'bundle' => 'article',
@@ -12739,6 +12862,16 @@
   'delta' => '0',
   'field_reference_target_id' => '2',
 ))
+->values(array(
+  'entity_type' => 'node',
+  'bundle' => 'article',
+  'deleted' => '0',
+  'entity_id' => '5',
+  'revision_id' => '14',
+  'language' => 'und',
+  'delta' => '0',
+  'field_reference_target_id' => '2',
+))
 ->execute();
 $connection->schema()->createTable('field_revision_field_reference_2', array(
   'fields' => array(
@@ -12846,6 +12979,16 @@
   'delta' => '0',
   'field_reference_2_target_id' => '5',
 ))
+->values(array(
+  'entity_type' => 'node',
+  'bundle' => 'article',
+  'deleted' => '0',
+  'entity_id' => '2',
+  'revision_id' => '11',
+  'language' => 'und',
+  'delta' => '0',
+  'field_reference_2_target_id' => '5',
+))
 ->values(array(
   'entity_type' => 'node',
   'bundle' => 'article',
@@ -12856,6 +12999,16 @@
   'delta' => '0',
   'field_reference_2_target_id' => '4',
 ))
+->values(array(
+  'entity_type' => 'node',
+  'bundle' => 'article',
+  'deleted' => '0',
+  'entity_id' => '3',
+  'revision_id' => '12',
+  'language' => 'und',
+  'delta' => '0',
+  'field_reference_2_target_id' => '4',
+))
 ->values(array(
   'entity_type' => 'node',
   'bundle' => 'article',
@@ -12866,6 +13019,16 @@
   'delta' => '0',
   'field_reference_2_target_id' => '3',
 ))
+->values(array(
+  'entity_type' => 'node',
+  'bundle' => 'article',
+  'deleted' => '0',
+  'entity_id' => '4',
+  'revision_id' => '13',
+  'language' => 'und',
+  'delta' => '0',
+  'field_reference_2_target_id' => '3',
+))
 ->values(array(
   'entity_type' => 'node',
   'bundle' => 'article',
@@ -12876,6 +13039,16 @@
   'delta' => '0',
   'field_reference_2_target_id' => '2',
 ))
+->values(array(
+  'entity_type' => 'node',
+  'bundle' => 'article',
+  'deleted' => '0',
+  'entity_id' => '5',
+  'revision_id' => '14',
+  'language' => 'und',
+  'delta' => '0',
+  'field_reference_2_target_id' => '2',
+))
 ->execute();
 $connection->schema()->createTable('field_revision_field_tags', array(
   'fields' => array(
@@ -12950,6 +13123,16 @@
   'delta',
   'field_tags_tid',
 ))
+->values(array(
+  'entity_type' => 'node',
+  'bundle' => 'article',
+  'deleted' => '0',
+  'entity_id' => '3',
+  'revision_id' => '12',
+  'language' => 'und',
+  'delta' => '0',
+  'field_tags_tid' => '9',
+))
 ->values(array(
   'entity_type' => 'node',
   'bundle' => 'article',
@@ -12960,6 +13143,16 @@
   'delta' => '0',
   'field_tags_tid' => '9',
 ))
+->values(array(
+  'entity_type' => 'node',
+  'bundle' => 'article',
+  'deleted' => '0',
+  'entity_id' => '2',
+  'revision_id' => '11',
+  'language' => 'und',
+  'delta' => '0',
+  'field_tags_tid' => '9',
+))
 ->values(array(
   'entity_type' => 'node',
   'bundle' => 'article',
@@ -12970,6 +13163,16 @@
   'delta' => '0',
   'field_tags_tid' => '9',
 ))
+->values(array(
+  'entity_type' => 'node',
+  'bundle' => 'article',
+  'deleted' => '0',
+  'entity_id' => '3',
+  'revision_id' => '12',
+  'language' => 'und',
+  'delta' => '1',
+  'field_tags_tid' => '14',
+))
 ->values(array(
   'entity_type' => 'node',
   'bundle' => 'article',
@@ -12980,6 +13183,16 @@
   'delta' => '1',
   'field_tags_tid' => '14',
 ))
+->values(array(
+  'entity_type' => 'node',
+  'bundle' => 'article',
+  'deleted' => '0',
+  'entity_id' => '2',
+  'revision_id' => '11',
+  'language' => 'und',
+  'delta' => '1',
+  'field_tags_tid' => '14',
+))
 ->values(array(
   'entity_type' => 'node',
   'bundle' => 'article',
@@ -13000,6 +13213,16 @@
   'delta' => '2',
   'field_tags_tid' => '17',
 ))
+->values(array(
+  'entity_type' => 'node',
+  'bundle' => 'article',
+  'deleted' => '0',
+  'entity_id' => '2',
+  'revision_id' => '11',
+  'language' => 'und',
+  'delta' => '2',
+  'field_tags_tid' => '17',
+))
 ->values(array(
   'entity_type' => 'node',
   'bundle' => 'article',
@@ -13010,6 +13233,16 @@
   'delta' => '2',
   'field_tags_tid' => '17',
 ))
+->values(array(
+  'entity_type' => 'node',
+  'bundle' => 'article',
+  'deleted' => '0',
+  'entity_id' => '3',
+  'revision_id' => '12',
+  'language' => 'und',
+  'delta' => '2',
+  'field_tags_tid' => '17',
+))
 ->execute();
 $connection->schema()->createTable('field_revision_field_term_entityreference', array(
   'fields' => array(
@@ -13855,6 +14088,96 @@
   'mysql_character_set' => 'utf8',
 ));
 
+$connection->insert('field_revision_field_text_plain')
+->fields(array(
+  'entity_type',
+  'bundle',
+  'deleted',
+  'entity_id',
+  'revision_id',
+  'language',
+  'delta',
+  'field_text_plain_value',
+  'field_text_plain_format',
+))
+->values(array(
+  'entity_type' => 'node',
+  'bundle' => 'article',
+  'deleted' => '0',
+  'entity_id' => '2',
+  'revision_id' => '2',
+  'language' => 'und',
+  'delta' => '0',
+  'field_text_plain_value' => 'DS9 1st rev',
+  'field_text_plain_format' => NULL,
+))
+->values(array(
+  'entity_type' => 'node',
+  'bundle' => 'article',
+  'deleted' => '0',
+  'entity_id' => '2',
+  'revision_id' => '11',
+  'language' => 'und',
+  'delta' => '0',
+  'field_text_plain_value' => 'DS9 2nd rev',
+  'field_text_plain_format' => NULL,
+))
+->values(array(
+  'entity_type' => 'node',
+  'bundle' => 'article',
+  'deleted' => '0',
+  'entity_id' => '3',
+  'revision_id' => '3',
+  'language' => 'und',
+  'delta' => '0',
+  'field_text_plain_value' => 'is - DS9 1st rev',
+  'field_text_plain_format' => NULL,
+))
+->values(array(
+  'entity_type' => 'node',
+  'bundle' => 'article',
+  'deleted' => '0',
+  'entity_id' => '3',
+  'revision_id' => '12',
+  'language' => 'und',
+  'delta' => '0',
+  'field_text_plain_value' => 'is - DS9 2nd rev',
+  'field_text_plain_format' => NULL,
+))
+->values(array(
+  'entity_type' => 'node',
+  'bundle' => 'article',
+  'deleted' => '0',
+  'entity_id' => '4',
+  'revision_id' => '13',
+  'language' => 'und',
+  'delta' => '0',
+  'field_text_plain_value' => 'is - Firefly 2nd rev',
+  'field_text_plain_format' => NULL,
+))
+->values(array(
+  'entity_type' => 'node',
+  'bundle' => 'article',
+  'deleted' => '0',
+  'entity_id' => '5',
+  'revision_id' => '5',
+  'language' => 'und',
+  'delta' => '0',
+  'field_text_plain_value' => 'Firefly 1st rev',
+  'field_text_plain_format' => NULL,
+))
+->values(array(
+  'entity_type' => 'node',
+  'bundle' => 'article',
+  'deleted' => '0',
+  'entity_id' => '5',
+  'revision_id' => '14',
+  'language' => 'und',
+  'delta' => '0',
+  'field_text_plain_value' => 'Firefly 2nd rev',
+  'field_text_plain_format' => NULL,
+))
+->execute();
 $connection->schema()->createTable('field_revision_field_text_plain_filtered', array(
   'fields' => array(
     'entity_type' => array(
@@ -14429,6 +14752,16 @@
   'delta' => '0',
   'field_vocab_fixed_tid' => '24',
 ))
+->values(array(
+  'entity_type' => 'node',
+  'bundle' => 'article',
+  'deleted' => '0',
+  'entity_id' => '2',
+  'revision_id' => '11',
+  'language' => 'und',
+  'delta' => '0',
+  'field_vocab_fixed_tid' => '24',
+))
 ->execute();
 $connection->schema()->createTable('field_revision_field_vocab_localize', array(
   'fields' => array(
@@ -14536,6 +14869,16 @@
   'delta' => '0',
   'field_vocab_localize_tid' => '20',
 ))
+->values(array(
+  'entity_type' => 'node',
+  'bundle' => 'article',
+  'deleted' => '0',
+  'entity_id' => '2',
+  'revision_id' => '11',
+  'language' => 'und',
+  'delta' => '0',
+  'field_vocab_localize_tid' => '20',
+))
 ->values(array(
   'entity_type' => 'node',
   'bundle' => 'article',
@@ -14546,6 +14889,16 @@
   'delta' => '0',
   'field_vocab_localize_tid' => '20',
 ))
+->values(array(
+  'entity_type' => 'node',
+  'bundle' => 'article',
+  'deleted' => '0',
+  'entity_id' => '3',
+  'revision_id' => '12',
+  'language' => 'und',
+  'delta' => '0',
+  'field_vocab_localize_tid' => '20',
+))
 ->execute();
 $connection->schema()->createTable('field_revision_field_vocab_translate', array(
   'fields' => array(
@@ -14653,6 +15006,16 @@
   'delta' => '0',
   'field_vocab_translate_tid' => '21',
 ))
+->values(array(
+  'entity_type' => 'node',
+  'bundle' => 'article',
+  'deleted' => '0',
+  'entity_id' => '2',
+  'revision_id' => '11',
+  'language' => 'und',
+  'delta' => '0',
+  'field_vocab_translate_tid' => '21',
+))
 ->values(array(
   'entity_type' => 'node',
   'bundle' => 'article',
@@ -14663,6 +15026,16 @@
   'delta' => '0',
   'field_vocab_translate_tid' => '23',
 ))
+->values(array(
+  'entity_type' => 'node',
+  'bundle' => 'article',
+  'deleted' => '0',
+  'entity_id' => '3',
+  'revision_id' => '12',
+  'language' => 'und',
+  'delta' => '0',
+  'field_vocab_translate_tid' => '23',
+))
 ->execute();
 $connection->schema()->createTable('field_revision_name_field', array(
   'fields' => array(
@@ -40591,14 +40964,14 @@
 ))
 ->values(array(
   'nid' => '2',
-  'vid' => '2',
+  'vid' => '11',
   'type' => 'article',
   'language' => 'en',
   'title' => 'The thing about Deep Space 9',
   'uid' => '2',
   'status' => '1',
   'created' => '1441306772',
-  'changed' => '1441306832',
+  'changed' => '1564543637',
   'comment' => '2',
   'promote' => '1',
   'sticky' => '0',
@@ -40607,14 +40980,14 @@
 ))
 ->values(array(
   'nid' => '3',
-  'vid' => '3',
+  'vid' => '12',
   'type' => 'article',
   'language' => 'is',
   'title' => 'is - The thing about Deep Space 9',
   'uid' => '1',
   'status' => '1',
   'created' => '1471428152',
-  'changed' => '1471428152',
+  'changed' => '1564543706',
   'comment' => '2',
   'promote' => '1',
   'sticky' => '0',
@@ -40623,14 +40996,14 @@
 ))
 ->values(array(
   'nid' => '4',
-  'vid' => '4',
+  'vid' => '13',
   'type' => 'article',
   'language' => 'is',
-  'title' => 'is - The thing about Firefly',
+  'title' => 'is - The thing about Firefly (1st rev)',
   'uid' => '1',
   'status' => '1',
   'created' => '1478755274',
-  'changed' => '1478755274',
+  'changed' => '1564543810',
   'comment' => '1',
   'promote' => '1',
   'sticky' => '0',
@@ -40639,14 +41012,14 @@
 ))
 ->values(array(
   'nid' => '5',
-  'vid' => '5',
+  'vid' => '14',
   'type' => 'article',
   'language' => 'en',
-  'title' => 'en - The thing about Firefly',
+  'title' => 'en - The thing about Firefly (2nd rev)',
   'uid' => '1',
   'status' => '1',
   'created' => '1478755314',
-  'changed' => '1478755314',
+  'changed' => '1564543929',
   'comment' => '1',
   'promote' => '1',
   'sticky' => '0',
@@ -41108,9 +41481,9 @@
   'nid' => '2',
   'vid' => '2',
   'uid' => '1',
-  'title' => 'The thing about Deep Space 9',
-  'log' => '',
-  'timestamp' => '1441306832',
+  'title' => 'The thing about Deep Space 9 (1st rev)',
+  'log' => 'DS9 1st rev',
+  'timestamp' => '1564543588',
   'status' => '1',
   'comment' => '2',
   'promote' => '1',
@@ -41120,9 +41493,9 @@
   'nid' => '3',
   'vid' => '3',
   'uid' => '1',
-  'title' => 'is - The thing about Deep Space 9',
-  'log' => '',
-  'timestamp' => '1471428152',
+  'title' => 'is - The thing about Deep Space 9 (1st rev)',
+  'log' => 'is - DS9 1st rev',
+  'timestamp' => '1564543677',
   'status' => '1',
   'comment' => '2',
   'promote' => '1',
@@ -41132,8 +41505,8 @@
   'nid' => '4',
   'vid' => '4',
   'uid' => '1',
-  'title' => 'is - The thing about Firefly',
-  'log' => '',
+  'title' => 'is - The thing about Firefly (1st rev)',
+  'log' => 'is - Firefly 1st rev',
   'timestamp' => '1478755274',
   'status' => '1',
   'comment' => '1',
@@ -41144,9 +41517,9 @@
   'nid' => '5',
   'vid' => '5',
   'uid' => '1',
-  'title' => 'en - The thing about Firefly',
-  'log' => '',
-  'timestamp' => '1478755314',
+  'title' => 'en - The thing about Firefly (1st rev)',
+  'log' => 'Firefly 1st rev',
+  'timestamp' => '1564543887',
   'status' => '1',
   'comment' => '1',
   'promote' => '1',
@@ -41212,6 +41585,54 @@
   'promote' => '1',
   'sticky' => '0',
 ))
+->values(array(
+  'nid' => '2',
+  'vid' => '11',
+  'uid' => '1',
+  'title' => 'The thing about Deep Space 9',
+  'log' => 'DS9 2nd rev',
+  'timestamp' => '1564543637',
+  'status' => '1',
+  'comment' => '2',
+  'promote' => '1',
+  'sticky' => '0',
+))
+->values(array(
+  'nid' => '3',
+  'vid' => '12',
+  'uid' => '1',
+  'title' => 'is - The thing about Deep Space 9',
+  'log' => 'is - DS9 2nd rev',
+  'timestamp' => '1564543706',
+  'status' => '1',
+  'comment' => '2',
+  'promote' => '1',
+  'sticky' => '0',
+))
+->values(array(
+  'nid' => '4',
+  'vid' => '13',
+  'uid' => '1',
+  'title' => 'is - The thing about Firefly',
+  'log' => 'is - Firefly 2nd rev',
+  'timestamp' => '1564543810',
+  'status' => '1',
+  'comment' => '1',
+  'promote' => '1',
+  'sticky' => '0',
+))
+->values(array(
+  'nid' => '5',
+  'vid' => '14',
+  'uid' => '1',
+  'title' => 'en - The thing about Firefly',
+  'log' => 'Firefly 2nd rev',
+  'timestamp' => '1564543929',
+  'status' => '1',
+  'comment' => '1',
+  'promote' => '1',
+  'sticky' => '0',
+))
 ->execute();
 $connection->schema()->createTable('node_type', array(
   'fields' => array(
diff --git a/core/modules/node/migrations/d6_node_master.yml b/core/modules/node/migrations/d6_node_master.yml
new file mode 100644
index 0000000000..f7b4c3637a
--- /dev/null
+++ b/core/modules/node/migrations/d6_node_master.yml
@@ -0,0 +1,43 @@
+id: d6_node_master
+label: Node Master
+migration_tags:
+  - Drupal 6
+  - Content
+deriver: Drupal\node\Plugin\migrate\D6NodeDeriver
+source:
+  plugin: d6_node_master
+process:
+  # If you are using this file to build a custom migration consider removing
+  # the nid and vid fields to allow incremental migrations.
+  nid: tnid
+  vid: vid
+  langcode:
+    plugin: default_value
+    source: language
+    default_value: "und"
+  title: title
+  uid: node_uid
+  status: status
+  created: created
+  changed: timestamp
+  promote: promote
+  sticky: sticky
+  'body/format':
+    plugin: migration_lookup
+    migration: d6_filter_format
+    source: format
+  'body/value': body
+  'body/summary': teaser
+  revision_uid: revision_uid
+  revision_log: log
+  revision_timestamp: timestamp
+
+#  unmapped d6 fields.
+#  tnid
+#  translate
+#  moderate
+#  comment
+
+destination:
+  plugin: entity_master:node
+  translations: true
diff --git a/core/modules/node/migrations/d7_node_master.yml b/core/modules/node/migrations/d7_node_master.yml
new file mode 100644
index 0000000000..6b9e086a3e
--- /dev/null
+++ b/core/modules/node/migrations/d7_node_master.yml
@@ -0,0 +1,41 @@
+id: d7_node_master
+label: Nodes
+audit: true
+migration_tags:
+  - Drupal 7
+  - Content
+deriver: Drupal\node\Plugin\migrate\D7NodeDeriver
+source:
+  plugin: d7_node_master
+process:
+  # If you are using this file to build a custom migration consider removing
+  # the nid and vid fields to allow incremental migrations.
+  # In D7, nodes always have a tnid, but it's zero for untranslated nodes.
+  # We normalize it to equal the nid in that case.
+  # @see \Drupal\node\Plugin\migrate\source\d7\Node::prepareRow().
+  nid: tnid
+  vid: vid
+  langcode:
+    plugin: default_value
+    source: language
+    default_value: "und"
+  title: title
+  uid: node_uid
+  status: status
+  created: created
+  changed: timestamp
+  promote: promote
+  sticky: sticky
+  revision_uid: revision_uid
+  revision_log: log
+  revision_timestamp: timestamp
+destination:
+  plugin: entity_master:node
+  translations: true
+migration_dependencies:
+  required:
+    - d7_user
+    - d7_node_type
+  optional:
+    - d7_field_instance
+    - d7_comment_field_instance
diff --git a/core/modules/node/src/Plugin/migrate/source/d6/NodeMaster.php b/core/modules/node/src/Plugin/migrate/source/d6/NodeMaster.php
new file mode 100644
index 0000000000..7f815aac82
--- /dev/null
+++ b/core/modules/node/src/Plugin/migrate/source/d6/NodeMaster.php
@@ -0,0 +1,52 @@
+<?php
+
+namespace Drupal\node\Plugin\migrate\source\d6;
+
+use Drupal\migrate\Row;
+
+/**
+ * Master node source.
+ *
+ * @MigrateSource(
+ *   id = "d6_node_master",
+ *   source_module = "node"
+ *
+ * )
+ */
+class NodeMaster extends NodeRevision {
+
+  /**
+   * The join options between the node and the node_revisions_table.
+   */
+  const JOIN = 'n.nid = nr.nid';
+
+  /**
+   * {@inheritdoc}
+   */
+  public function query() {
+    $query = parent::query();
+    $query->orderBy('nr.vid');
+    return $query;
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function getIds() {
+    return [
+      'nid' => [
+        'type' => 'integer',
+        'alias' => 'n',
+      ],
+      'vid' => [
+        'type' => 'integer',
+        'alias' => 'nr',
+      ],
+      'language' => [
+        'type' => 'string',
+        'alias' => 'n',
+      ],
+    ];
+  }
+
+}
diff --git a/core/modules/node/src/Plugin/migrate/source/d7/NodeMaster.php b/core/modules/node/src/Plugin/migrate/source/d7/NodeMaster.php
new file mode 100644
index 0000000000..6e29f7e1cb
--- /dev/null
+++ b/core/modules/node/src/Plugin/migrate/source/d7/NodeMaster.php
@@ -0,0 +1,59 @@
+<?php
+
+namespace Drupal\node\Plugin\migrate\source\d7;
+
+
+use Drupal\Core\Database\Query\SelectInterface;
+
+/**
+ * Master node source.
+ *
+ * @MigrateSource(
+ *   id = "d7_node_master",
+ *   source_module = "node"
+ * )
+ */
+class NodeMaster extends NodeRevision {
+
+  /**
+   * The join options between the node and the node_revisions_table.
+   */
+  const JOIN = 'n.nid = nr.nid';
+
+  /**
+   * {@inheritdoc}
+   */
+  public function query() {
+    $query = parent::query();
+    $query->orderBy('nr.vid');
+    return $query;
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function getIds() {
+    return [
+      'nid' => [
+        'type' => 'integer',
+        'alias' => 'n',
+      ],
+      'vid' => [
+        'type' => 'integer',
+        'alias' => 'nr',
+      ],
+      'language' => [
+        'type' => 'string',
+        'alias' => 'n',
+      ],
+    ];
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  protected function handleTranslations(SelectInterface $query) {
+  }
+
+
+}
diff --git a/core/modules/node/tests/src/Kernel/Migrate/d6/MigrateNodeMasterTest.php b/core/modules/node/tests/src/Kernel/Migrate/d6/MigrateNodeMasterTest.php
new file mode 100644
index 0000000000..bc694b0f67
--- /dev/null
+++ b/core/modules/node/tests/src/Kernel/Migrate/d6/MigrateNodeMasterTest.php
@@ -0,0 +1,978 @@
+<?php
+
+namespace Drupal\Tests\node\Kernel\Migrate\d6;
+
+use Drupal\Tests\file\Kernel\Migrate\d6\FileMigrationTestTrait;
+
+/**
+ * Test class for a master node migration for Drupal 6.
+ *
+ * @group migrationtests
+ */
+class MigrateNodeMasterTest extends MigrateNodeTestBase {
+  use FileMigrationTestTrait;
+
+  /**
+   * {@inheritdoc}
+   */
+  public static $modules = [
+    'language',
+    'content_translation',
+    'menu_ui',
+    // Required for translation migrations.
+    'migrate_drupal_multilingual',
+  ];
+
+  /**
+   * {@inheritdoc}
+   */
+  protected function setUp() {
+    parent::setUp();
+    $this->setUpMigratedFiles();
+    $this->installSchema('file', ['file_usage']);
+    $this->executeMigrations([
+      'language',
+      'd6_language_content_settings',
+      'd6_node_master',
+    ]);
+  }
+
+  /**
+   * Tests the master node migration.
+   */
+  public function testNodeMasterMigration() {
+    $db = \Drupal::database();
+    $this->assertEquals($this->expectedNodeFieldRevisionTable(), $db->select('node_field_revision', 'nr')->fields('nr')->execute()->fetchAll(\PDO::FETCH_ASSOC));
+    $this->assertEquals($this->expectedNodeFieldDataTable(), $db->select('node_field_data', 'nr')->fields('nr')->execute()->fetchAll(\PDO::FETCH_ASSOC));
+
+  }
+
+  /**
+   * Provides the expected node_field_data table.
+   *
+   * @return array
+   *   The table.
+   */
+  protected function expectedNodeFieldDataTable() {
+    return [
+      0 =>
+        [
+          'nid' => '1',
+          'vid' => '2001',
+          'type' => 'story',
+          'langcode' => 'und',
+          'status' => '1',
+          'uid' => '1',
+          'title' => 'Test title rev 3',
+          'created' => '1390095702',
+          'changed' => '1420861423',
+          'promote' => '0',
+          'sticky' => '0',
+          'default_langcode' => '1',
+          'revision_translation_affected' => '1',
+          'content_translation_source' => 'und',
+          'content_translation_outdated' => '0',
+        ],
+      1 =>
+        [
+          'nid' => '2',
+          'vid' => '3',
+          'type' => 'story',
+          'langcode' => 'und',
+          'status' => '1',
+          'uid' => '1',
+          'title' => 'Test title rev 3',
+          'created' => '1388271197',
+          'changed' => '1420718386',
+          'promote' => '0',
+          'sticky' => '0',
+          'default_langcode' => '1',
+          'revision_translation_affected' => '1',
+          'content_translation_source' => 'und',
+          'content_translation_outdated' => '0',
+        ],
+      2 =>
+        [
+          'nid' => '3',
+          'vid' => '4',
+          'type' => 'test_planet',
+          'langcode' => 'und',
+          'status' => '1',
+          'uid' => '1',
+          'title' => 'Test page title rev 4',
+          'created' => '1388271527',
+          'changed' => '1390095701',
+          'promote' => '0',
+          'sticky' => '0',
+          'default_langcode' => '1',
+          'revision_translation_affected' => '1',
+          'content_translation_source' => 'und',
+          'content_translation_outdated' => '0',
+        ],
+      3 =>
+        [
+          'nid' => '4',
+          'vid' => '6',
+          'type' => 'test_planet',
+          'langcode' => 'und',
+          'status' => '1',
+          'uid' => '1',
+          'title' => 'Node 4',
+          'created' => '1388271527',
+          'changed' => '1390095701',
+          'promote' => '0',
+          'sticky' => '0',
+          'default_langcode' => '1',
+          'revision_translation_affected' => '1',
+          'content_translation_source' => 'und',
+          'content_translation_outdated' => '0',
+        ],
+      4 =>
+        [
+          'nid' => '5',
+          'vid' => '7',
+          'type' => 'test_planet',
+          'langcode' => 'und',
+          'status' => '1',
+          'uid' => '1',
+          'title' => 'Node 5',
+          'created' => '1388271527',
+          'changed' => '1390095701',
+          'promote' => '0',
+          'sticky' => '0',
+          'default_langcode' => '1',
+          'revision_translation_affected' => '1',
+          'content_translation_source' => 'und',
+          'content_translation_outdated' => '0',
+        ],
+      5 =>
+        [
+          'nid' => '6',
+          'vid' => '8',
+          'type' => 'test_planet',
+          'langcode' => 'und',
+          'status' => '1',
+          'uid' => '1',
+          'title' => 'Node 6',
+          'created' => '1388271527',
+          'changed' => '1390095701',
+          'promote' => '0',
+          'sticky' => '0',
+          'default_langcode' => '1',
+          'revision_translation_affected' => '1',
+          'content_translation_source' => 'und',
+          'content_translation_outdated' => '0',
+        ],
+      6 =>
+        [
+          'nid' => '7',
+          'vid' => '9',
+          'type' => 'test_planet',
+          'langcode' => 'und',
+          'status' => '1',
+          'uid' => '1',
+          'title' => 'Node 7',
+          'created' => '1388271527',
+          'changed' => '1390095701',
+          'promote' => '0',
+          'sticky' => '0',
+          'default_langcode' => '1',
+          'revision_translation_affected' => '1',
+          'content_translation_source' => 'und',
+          'content_translation_outdated' => '0',
+        ],
+      7 =>
+        [
+          'nid' => '8',
+          'vid' => '10',
+          'type' => 'test_planet',
+          'langcode' => 'und',
+          'status' => '1',
+          'uid' => '1',
+          'title' => 'Node 8',
+          'created' => '1388271527',
+          'changed' => '1390095701',
+          'promote' => '0',
+          'sticky' => '0',
+          'default_langcode' => '1',
+          'revision_translation_affected' => '1',
+          'content_translation_source' => 'und',
+          'content_translation_outdated' => '0',
+        ],
+      8 =>
+        [
+          'nid' => '9',
+          'vid' => '12',
+          'type' => 'story',
+          'langcode' => 'und',
+          'status' => '1',
+          'uid' => '1',
+          'title' => 'Once upon a time',
+          'created' => '1444671588',
+          'changed' => '1444671588',
+          'promote' => '1',
+          'sticky' => '0',
+          'default_langcode' => '1',
+          'revision_translation_affected' => '1',
+          'content_translation_source' => 'und',
+          'content_translation_outdated' => '0',
+        ],
+      9 =>
+        [
+          'nid' => '10',
+          'vid' => '14',
+          'type' => 'page',
+          'langcode' => 'en',
+          'status' => '1',
+          'uid' => '1',
+          'title' => 'The Real McCoy',
+          'created' => '1444238800',
+          'changed' => '1444238808',
+          'promote' => '1',
+          'sticky' => '0',
+          'default_langcode' => '1',
+          'revision_translation_affected' => NULL,
+          'content_translation_source' => 'und',
+          'content_translation_outdated' => '0',
+        ],
+      10 =>
+        [
+          'nid' => '10',
+          'vid' => '14',
+          'type' => 'page',
+          'langcode' => 'fr',
+          'status' => '1',
+          'uid' => '1',
+          'title' => 'Le Vrai McCoy',
+          'created' => '1444239050',
+          'changed' => '1444239050',
+          'promote' => '1',
+          'sticky' => '0',
+          'default_langcode' => '0',
+          'revision_translation_affected' => '1',
+          'content_translation_source' => 'und',
+          'content_translation_outdated' => '0',
+        ],
+      11 =>
+        [
+          'nid' => '12',
+          'vid' => '23',
+          'type' => 'page',
+          'langcode' => 'en',
+          'status' => '1',
+          'uid' => '1',
+          'title' => 'The Zulu People',
+          'created' => '1444239050',
+          'changed' => '1444239050',
+          'promote' => '0',
+          'sticky' => '0',
+          'default_langcode' => '0',
+          'revision_translation_affected' => NULL,
+          'content_translation_source' => 'und',
+          'content_translation_outdated' => '0',
+        ],
+      12 =>
+        [
+          'nid' => '12',
+          'vid' => '23',
+          'type' => 'page',
+          'langcode' => 'fr',
+          'status' => '1',
+          'uid' => '1',
+          'title' => 'Le peuple zoulou',
+          'created' => '1520613038',
+          'changed' => '1520613305',
+          'promote' => '1',
+          'sticky' => '0',
+          'default_langcode' => '0',
+          'revision_translation_affected' => '1',
+          'content_translation_source' => 'und',
+          'content_translation_outdated' => '0',
+        ],
+      13 =>
+        [
+          'nid' => '12',
+          'vid' => '23',
+          'type' => 'page',
+          'langcode' => 'zu',
+          'status' => '1',
+          'uid' => '1',
+          'title' => 'Abantu zulu',
+          'created' => '1444238800',
+          'changed' => '1444238808',
+          'promote' => '0',
+          'sticky' => '0',
+          'default_langcode' => '1',
+          'revision_translation_affected' => NULL,
+          'content_translation_source' => 'und',
+          'content_translation_outdated' => '0',
+        ],
+      14 =>
+        [
+          'nid' => '14',
+          'vid' => '17',
+          'type' => 'company',
+          'langcode' => 'und',
+          'status' => '1',
+          'uid' => '1',
+          'title' => 'United Federation of Planets',
+          'created' => '1493066668',
+          'changed' => '1493066668',
+          'promote' => '1',
+          'sticky' => '0',
+          'default_langcode' => '1',
+          'revision_translation_affected' => '1',
+          'content_translation_source' => 'und',
+          'content_translation_outdated' => '0',
+        ],
+      15 =>
+        [
+          'nid' => '15',
+          'vid' => '18',
+          'type' => 'company',
+          'langcode' => 'und',
+          'status' => '1',
+          'uid' => '1',
+          'title' => 'Klingon Empire',
+          'created' => '1493066677',
+          'changed' => '1493066677',
+          'promote' => '1',
+          'sticky' => '0',
+          'default_langcode' => '1',
+          'revision_translation_affected' => '1',
+          'content_translation_source' => 'und',
+          'content_translation_outdated' => '0',
+        ],
+      16 =>
+        [
+          'nid' => '16',
+          'vid' => '19',
+          'type' => 'company',
+          'langcode' => 'und',
+          'status' => '1',
+          'uid' => '1',
+          'title' => 'Romulan Empire',
+          'created' => '1493066684',
+          'changed' => '1493066684',
+          'promote' => '1',
+          'sticky' => '0',
+          'default_langcode' => '1',
+          'revision_translation_affected' => '1',
+          'content_translation_source' => 'und',
+          'content_translation_outdated' => '0',
+        ],
+      17 =>
+        [
+          'nid' => '17',
+          'vid' => '20',
+          'type' => 'company',
+          'langcode' => 'und',
+          'status' => '1',
+          'uid' => '1',
+          'title' => 'Ferengi Commerce Authority',
+          'created' => '1493066693',
+          'changed' => '1493066693',
+          'promote' => '1',
+          'sticky' => '0',
+          'default_langcode' => '1',
+          'revision_translation_affected' => '1',
+          'content_translation_source' => 'und',
+          'content_translation_outdated' => '0',
+        ],
+      18 =>
+        [
+          'nid' => '18',
+          'vid' => '21',
+          'type' => 'employee',
+          'langcode' => 'und',
+          'status' => '1',
+          'uid' => '1',
+          'title' => 'Ambassador Sarek',
+          'created' => '1493066711',
+          'changed' => '1494966544',
+          'promote' => '1',
+          'sticky' => '0',
+          'default_langcode' => '1',
+          'revision_translation_affected' => '1',
+          'content_translation_source' => 'und',
+          'content_translation_outdated' => '0',
+        ],
+      19 =>
+        [
+          'nid' => '19',
+          'vid' => '22',
+          'type' => 'forum',
+          'langcode' => 'und',
+          'status' => '1',
+          'uid' => '1',
+          'title' => 'New Forum Topic',
+          'created' => '1501955771',
+          'changed' => '1501955771',
+          'promote' => '0',
+          'sticky' => '0',
+          'default_langcode' => '1',
+          'revision_translation_affected' => '1',
+          'content_translation_source' => 'und',
+          'content_translation_outdated' => '0',
+        ],
+      20 =>
+        [
+          'nid' => '21',
+          'vid' => '2003',
+          'type' => 'employee',
+          'langcode' => 'en',
+          'status' => '1',
+          'uid' => '1',
+          'title' => 'John Smith - EN',
+          'created' => '1534014650',
+          'changed' => '1534014650',
+          'promote' => '1',
+          'sticky' => '0',
+          'default_langcode' => '1',
+          'revision_translation_affected' => NULL,
+          'content_translation_source' => 'und',
+          'content_translation_outdated' => '0',
+        ],
+      21 =>
+        [
+          'nid' => '21',
+          'vid' => '2003',
+          'type' => 'employee',
+          'langcode' => 'fr',
+          'status' => '1',
+          'uid' => '1',
+          'title' => 'John Smith - FR',
+          'created' => '1534014687',
+          'changed' => '1534014687',
+          'promote' => '1',
+          'sticky' => '0',
+          'default_langcode' => '0',
+          'revision_translation_affected' => '1',
+          'content_translation_source' => 'und',
+          'content_translation_outdated' => '0',
+        ],
+    ];
+  }
+
+  /**
+   * Provides the expected node_field_revision table.
+   *
+   * @return array
+   *   The table.
+   */
+  protected function expectedNodeFieldRevisionTable() {
+    return [
+      0 =>
+        [
+          'nid' => '1',
+          'vid' => '1',
+          'langcode' => 'und',
+          'status' => '1',
+          'uid' => '1',
+          'title' => 'Test title',
+          'created' => '1390095702',
+          'changed' => '1390095702',
+          'promote' => '0',
+          'sticky' => '0',
+          'default_langcode' => '1',
+          'revision_translation_affected' => '1',
+          'content_translation_source' => 'und',
+          'content_translation_outdated' => '0',
+        ],
+      1 =>
+        [
+          'nid' => '2',
+          'vid' => '3',
+          'langcode' => 'und',
+          'status' => '1',
+          'uid' => '1',
+          'title' => 'Test title rev 3',
+          'created' => '1388271197',
+          'changed' => '1420718386',
+          'promote' => '0',
+          'sticky' => '0',
+          'default_langcode' => '1',
+          'revision_translation_affected' => '1',
+          'content_translation_source' => 'und',
+          'content_translation_outdated' => '0',
+        ],
+      2 =>
+        [
+          'nid' => '3',
+          'vid' => '4',
+          'langcode' => 'und',
+          'status' => '1',
+          'uid' => '1',
+          'title' => 'Test page title rev 4',
+          'created' => '1388271527',
+          'changed' => '1390095701',
+          'promote' => '0',
+          'sticky' => '0',
+          'default_langcode' => '1',
+          'revision_translation_affected' => '1',
+          'content_translation_source' => 'und',
+          'content_translation_outdated' => '0',
+        ],
+      3 =>
+        [
+          'nid' => '1',
+          'vid' => '5',
+          'langcode' => 'und',
+          'status' => '1',
+          'uid' => '1',
+          'title' => 'Test title rev 2',
+          'created' => '1390095702',
+          'changed' => '1390095703',
+          'promote' => '0',
+          'sticky' => '0',
+          'default_langcode' => '1',
+          'revision_translation_affected' => '1',
+          'content_translation_source' => 'und',
+          'content_translation_outdated' => '0',
+        ],
+      4 =>
+        [
+          'nid' => '4',
+          'vid' => '6',
+          'langcode' => 'und',
+          'status' => '1',
+          'uid' => '1',
+          'title' => 'Node 4',
+          'created' => '1388271527',
+          'changed' => '1390095701',
+          'promote' => '0',
+          'sticky' => '0',
+          'default_langcode' => '1',
+          'revision_translation_affected' => '1',
+          'content_translation_source' => 'und',
+          'content_translation_outdated' => '0',
+        ],
+      5 =>
+        [
+          'nid' => '5',
+          'vid' => '7',
+          'langcode' => 'und',
+          'status' => '1',
+          'uid' => '1',
+          'title' => 'Node 5',
+          'created' => '1388271527',
+          'changed' => '1390095701',
+          'promote' => '0',
+          'sticky' => '0',
+          'default_langcode' => '1',
+          'revision_translation_affected' => '1',
+          'content_translation_source' => 'und',
+          'content_translation_outdated' => '0',
+        ],
+      6 =>
+        [
+          'nid' => '6',
+          'vid' => '8',
+          'langcode' => 'und',
+          'status' => '1',
+          'uid' => '1',
+          'title' => 'Node 6',
+          'created' => '1388271527',
+          'changed' => '1390095701',
+          'promote' => '0',
+          'sticky' => '0',
+          'default_langcode' => '1',
+          'revision_translation_affected' => '1',
+          'content_translation_source' => 'und',
+          'content_translation_outdated' => '0',
+        ],
+      7 =>
+        [
+          'nid' => '7',
+          'vid' => '9',
+          'langcode' => 'und',
+          'status' => '1',
+          'uid' => '1',
+          'title' => 'Node 7',
+          'created' => '1388271527',
+          'changed' => '1390095701',
+          'promote' => '0',
+          'sticky' => '0',
+          'default_langcode' => '1',
+          'revision_translation_affected' => '1',
+          'content_translation_source' => 'und',
+          'content_translation_outdated' => '0',
+        ],
+      8 =>
+        [
+          'nid' => '8',
+          'vid' => '10',
+          'langcode' => 'und',
+          'status' => '1',
+          'uid' => '1',
+          'title' => 'Node 8',
+          'created' => '1388271527',
+          'changed' => '1390095701',
+          'promote' => '0',
+          'sticky' => '0',
+          'default_langcode' => '1',
+          'revision_translation_affected' => '1',
+          'content_translation_source' => 'und',
+          'content_translation_outdated' => '0',
+        ],
+      9 =>
+        [
+          'nid' => '9',
+          'vid' => '11',
+          'langcode' => 'und',
+          'status' => '1',
+          'uid' => '1',
+          'title' => 'Node 9',
+          'created' => '1444671588',
+          'changed' => '1390095701',
+          'promote' => '1',
+          'sticky' => '0',
+          'default_langcode' => '1',
+          'revision_translation_affected' => '1',
+          'content_translation_source' => 'und',
+          'content_translation_outdated' => '0',
+        ],
+      10 =>
+        [
+          'nid' => '9',
+          'vid' => '12',
+          'langcode' => 'und',
+          'status' => '1',
+          'uid' => '1',
+          'title' => 'Once upon a time',
+          'created' => '1444671588',
+          'changed' => '1444671588',
+          'promote' => '1',
+          'sticky' => '0',
+          'default_langcode' => '1',
+          'revision_translation_affected' => '1',
+          'content_translation_source' => 'und',
+          'content_translation_outdated' => '0',
+        ],
+      11 =>
+        [
+          'nid' => '10',
+          'vid' => '13',
+          'langcode' => 'en',
+          'status' => '1',
+          'uid' => '1',
+          'title' => 'The Real McCoy',
+          'created' => '1444238800',
+          'changed' => '1444238808',
+          'promote' => '1',
+          'sticky' => '0',
+          'default_langcode' => '1',
+          'revision_translation_affected' => '1',
+          'content_translation_source' => 'und',
+          'content_translation_outdated' => '0',
+        ],
+      12 =>
+        [
+          'nid' => '10',
+          'vid' => '14',
+          'langcode' => 'en',
+          'status' => '1',
+          'uid' => '1',
+          'title' => 'The Real McCoy',
+          'created' => '1444238800',
+          'changed' => '1444238808',
+          'promote' => '1',
+          'sticky' => '0',
+          'default_langcode' => '1',
+          'revision_translation_affected' => NULL,
+          'content_translation_source' => 'und',
+          'content_translation_outdated' => '0',
+        ],
+      13 =>
+        [
+          'nid' => '10',
+          'vid' => '14',
+          'langcode' => 'fr',
+          'status' => '1',
+          'uid' => '1',
+          'title' => 'Le Vrai McCoy',
+          'created' => '1444239050',
+          'changed' => '1444239050',
+          'promote' => '1',
+          'sticky' => '0',
+          'default_langcode' => '0',
+          'revision_translation_affected' => '1',
+          'content_translation_source' => 'und',
+          'content_translation_outdated' => '0',
+        ],
+      14 =>
+        [
+          'nid' => '12',
+          'vid' => '15',
+          'langcode' => 'zu',
+          'status' => '1',
+          'uid' => '1',
+          'title' => 'Abantu zulu',
+          'created' => '1444238800',
+          'changed' => '1444238808',
+          'promote' => '0',
+          'sticky' => '0',
+          'default_langcode' => '1',
+          'revision_translation_affected' => '1',
+          'content_translation_source' => 'und',
+          'content_translation_outdated' => '0',
+        ],
+      15 =>
+        [
+          'nid' => '12',
+          'vid' => '16',
+          'langcode' => 'en',
+          'status' => '1',
+          'uid' => '1',
+          'title' => 'The Zulu People',
+          'created' => '1444239050',
+          'changed' => '1444239050',
+          'promote' => '0',
+          'sticky' => '0',
+          'default_langcode' => '0',
+          'revision_translation_affected' => '1',
+          'content_translation_source' => 'und',
+          'content_translation_outdated' => '0',
+        ],
+      16 =>
+        [
+          'nid' => '12',
+          'vid' => '16',
+          'langcode' => 'zu',
+          'status' => '1',
+          'uid' => '1',
+          'title' => 'Abantu zulu',
+          'created' => '1444238800',
+          'changed' => '1444238808',
+          'promote' => '0',
+          'sticky' => '0',
+          'default_langcode' => '1',
+          'revision_translation_affected' => NULL,
+          'content_translation_source' => 'und',
+          'content_translation_outdated' => '0',
+        ],
+      17 =>
+        [
+          'nid' => '14',
+          'vid' => '17',
+          'langcode' => 'und',
+          'status' => '1',
+          'uid' => '1',
+          'title' => 'United Federation of Planets',
+          'created' => '1493066668',
+          'changed' => '1493066668',
+          'promote' => '1',
+          'sticky' => '0',
+          'default_langcode' => '1',
+          'revision_translation_affected' => '1',
+          'content_translation_source' => 'und',
+          'content_translation_outdated' => '0',
+        ],
+      18 =>
+        [
+          'nid' => '15',
+          'vid' => '18',
+          'langcode' => 'und',
+          'status' => '1',
+          'uid' => '1',
+          'title' => 'Klingon Empire',
+          'created' => '1493066677',
+          'changed' => '1493066677',
+          'promote' => '1',
+          'sticky' => '0',
+          'default_langcode' => '1',
+          'revision_translation_affected' => '1',
+          'content_translation_source' => 'und',
+          'content_translation_outdated' => '0',
+        ],
+      19 =>
+        [
+          'nid' => '16',
+          'vid' => '19',
+          'langcode' => 'und',
+          'status' => '1',
+          'uid' => '1',
+          'title' => 'Romulan Empire',
+          'created' => '1493066684',
+          'changed' => '1493066684',
+          'promote' => '1',
+          'sticky' => '0',
+          'default_langcode' => '1',
+          'revision_translation_affected' => '1',
+          'content_translation_source' => 'und',
+          'content_translation_outdated' => '0',
+        ],
+      20 =>
+        [
+          'nid' => '17',
+          'vid' => '20',
+          'langcode' => 'und',
+          'status' => '1',
+          'uid' => '1',
+          'title' => 'Ferengi Commerce Authority',
+          'created' => '1493066693',
+          'changed' => '1493066693',
+          'promote' => '1',
+          'sticky' => '0',
+          'default_langcode' => '1',
+          'revision_translation_affected' => '1',
+          'content_translation_source' => 'und',
+          'content_translation_outdated' => '0',
+        ],
+      21 =>
+        [
+          'nid' => '18',
+          'vid' => '21',
+          'langcode' => 'und',
+          'status' => '1',
+          'uid' => '1',
+          'title' => 'Ambassador Sarek',
+          'created' => '1493066711',
+          'changed' => '1494966544',
+          'promote' => '1',
+          'sticky' => '0',
+          'default_langcode' => '1',
+          'revision_translation_affected' => '1',
+          'content_translation_source' => 'und',
+          'content_translation_outdated' => '0',
+        ],
+      22 =>
+        [
+          'nid' => '19',
+          'vid' => '22',
+          'langcode' => 'und',
+          'status' => '1',
+          'uid' => '1',
+          'title' => 'New Forum Topic',
+          'created' => '1501955771',
+          'changed' => '1501955771',
+          'promote' => '0',
+          'sticky' => '0',
+          'default_langcode' => '1',
+          'revision_translation_affected' => '1',
+          'content_translation_source' => 'und',
+          'content_translation_outdated' => '0',
+        ],
+      23 =>
+        [
+          'nid' => '12',
+          'vid' => '23',
+          'langcode' => 'en',
+          'status' => '1',
+          'uid' => '1',
+          'title' => 'The Zulu People',
+          'created' => '1444239050',
+          'changed' => '1444239050',
+          'promote' => '0',
+          'sticky' => '0',
+          'default_langcode' => '0',
+          'revision_translation_affected' => NULL,
+          'content_translation_source' => 'und',
+          'content_translation_outdated' => '0',
+        ],
+      24 =>
+        [
+          'nid' => '12',
+          'vid' => '23',
+          'langcode' => 'fr',
+          'status' => '1',
+          'uid' => '1',
+          'title' => 'Le peuple zoulou',
+          'created' => '1520613038',
+          'changed' => '1520613305',
+          'promote' => '1',
+          'sticky' => '0',
+          'default_langcode' => '0',
+          'revision_translation_affected' => '1',
+          'content_translation_source' => 'und',
+          'content_translation_outdated' => '0',
+        ],
+      25 =>
+        [
+          'nid' => '12',
+          'vid' => '23',
+          'langcode' => 'zu',
+          'status' => '1',
+          'uid' => '1',
+          'title' => 'Abantu zulu',
+          'created' => '1444238800',
+          'changed' => '1444238808',
+          'promote' => '0',
+          'sticky' => '0',
+          'default_langcode' => '1',
+          'revision_translation_affected' => NULL,
+          'content_translation_source' => 'und',
+          'content_translation_outdated' => '0',
+        ],
+      26 =>
+        [
+          'nid' => '1',
+          'vid' => '2001',
+          'langcode' => 'und',
+          'status' => '1',
+          'uid' => '1',
+          'title' => 'Test title rev 3',
+          'created' => '1390095702',
+          'changed' => '1420861423',
+          'promote' => '0',
+          'sticky' => '0',
+          'default_langcode' => '1',
+          'revision_translation_affected' => '1',
+          'content_translation_source' => 'und',
+          'content_translation_outdated' => '0',
+        ],
+      27 =>
+        [
+          'nid' => '21',
+          'vid' => '2002',
+          'langcode' => 'en',
+          'status' => '1',
+          'uid' => '1',
+          'title' => 'John Smith - EN',
+          'created' => '1534014650',
+          'changed' => '1534014650',
+          'promote' => '1',
+          'sticky' => '0',
+          'default_langcode' => '1',
+          'revision_translation_affected' => '1',
+          'content_translation_source' => 'und',
+          'content_translation_outdated' => '0',
+        ],
+      28 =>
+        [
+          'nid' => '21',
+          'vid' => '2003',
+          'langcode' => 'en',
+          'status' => '1',
+          'uid' => '1',
+          'title' => 'John Smith - EN',
+          'created' => '1534014650',
+          'changed' => '1534014650',
+          'promote' => '1',
+          'sticky' => '0',
+          'default_langcode' => '1',
+          'revision_translation_affected' => NULL,
+          'content_translation_source' => 'und',
+          'content_translation_outdated' => '0',
+        ],
+      29 =>
+        [
+          'nid' => '21',
+          'vid' => '2003',
+          'langcode' => 'fr',
+          'status' => '1',
+          'uid' => '1',
+          'title' => 'John Smith - FR',
+          'created' => '1534014687',
+          'changed' => '1534014687',
+          'promote' => '1',
+          'sticky' => '0',
+          'default_langcode' => '0',
+          'revision_translation_affected' => '1',
+          'content_translation_source' => 'und',
+          'content_translation_outdated' => '0',
+        ],
+    ];
+  }
+
+}
diff --git a/core/modules/node/tests/src/Kernel/Migrate/d7/MigrateNodeMasterTest.php b/core/modules/node/tests/src/Kernel/Migrate/d7/MigrateNodeMasterTest.php
new file mode 100644
index 0000000000..d32a49207b
--- /dev/null
+++ b/core/modules/node/tests/src/Kernel/Migrate/d7/MigrateNodeMasterTest.php
@@ -0,0 +1,756 @@
+<?php
+
+namespace Drupal\Tests\node\Kernel\Migrate\d7;
+
+use Drupal\node\NodeInterface;
+use Drupal\Tests\file\Kernel\Migrate\d7\FileMigrationSetupTrait;
+use Drupal\Tests\migrate_drupal\Kernel\d7\MigrateDrupal7TestBase;
+
+/**
+ * Test class for a master node migration for Drupal 7.
+ *
+ * @group migrationtests
+ */
+class MigrateNodeMasterTest extends MigrateDrupal7TestBase {
+
+  use FileMigrationSetupTrait;
+
+  /**
+   * {@inheritdoc}
+   */
+  public static $modules = [
+    'content_translation',
+    'comment',
+    'datetime',
+    'image',
+    'language',
+    'link',
+    'menu_ui',
+    // Required for translation migrations.
+    'migrate_drupal_multilingual',
+    'node',
+    'taxonomy',
+    'telephone',
+    'text',
+  ];
+
+  /**
+   * The entity storage for node.
+   *
+   * @var \Drupal\Core\Entity\EntityStorageInterface
+   */
+  protected $nodeStorage;
+
+  /**
+   * {@inheritdoc}
+   */
+  protected function setUp() {
+    parent::setUp();
+
+    $this->fileMigrationSetup();
+
+    $this->installEntitySchema('comment');
+    $this->installEntitySchema('taxonomy_term');
+    $this->installSchema('comment', ['comment_entity_statistics']);
+    $this->installSchema('node', ['node_access']);
+
+    $this->migrateUsers();
+    $this->migrateFields();
+    $this->executeMigrations([
+      'language',
+      'd7_language_content_settings',
+      'd7_comment_field',
+      'd7_comment_field_instance',
+      'd7_node_master',
+    ]);
+    $this->nodeStorage = $this->container->get('entity_type.manager')
+      ->getStorage('node');
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  protected function getFileMigrationInfo() {
+    return [
+      'path' => 'public://sites/default/files/cube.jpeg',
+      'size' => '3620',
+      'base_path' => 'public://',
+      'plugin_id' => 'd7_file',
+    ];
+  }
+
+  /**
+   * Tests the master node migration.
+   */
+  public function testNodeMasterMigration() {
+    $db = \Drupal::database();
+    $this->assertEquals($this->expectedNodeFieldRevisionTable(), $db->select('node_field_revision', 'nr')
+      ->fields('nr')
+      ->execute()
+      ->fetchAll(\PDO::FETCH_ASSOC));
+    $this->assertEquals($this->expectedNodeFieldDataTable(), $db->select('node_field_data', 'nr')
+      ->fields('nr')
+      ->execute()
+      ->fetchAll(\PDO::FETCH_ASSOC));
+
+    // Now load and test each revision, including the field 'field_text_plain'
+    // which has text reflecting the revision.
+    // Source node 1. This node uses entity translation which does not have a
+    // migrate. See https://www.drupal.org/project/drupal/issues/3076447.
+    $this->assertRevision(1, 'en', 'An English Node', NULL, '1441032132', NULL, '1');
+    // Source node 2.
+    $this->assertRevision(2, 'en', 'The thing about Deep Space 9 (1st rev)', 'DS9 1st rev', '1564543588', 'DS9 1st rev', '1');
+    $this->assertRevision(3, 'en', 'The thing about Deep Space 9 (1st rev)', 'is - DS9 1st rev', '1564543677', 'DS9 1st rev', '1');
+    $this->assertRevision(3, 'is', 'is - The thing about Deep Space 9 (1st rev)', 'is - DS9 1st rev', '1564543677', 'is - DS9 1st rev', '1');
+    $this->assertRevision(11, 'en', 'The thing about Deep Space 9', 'DS9 2nd rev', '1564543637', 'DS9 2nd rev', '1');
+    $this->assertRevision(11, 'is', 'is - The thing about Deep Space 9 (1st rev)', 'DS9 2nd rev', '1564543637', 'is - DS9 1st rev', '1');
+    $this->assertRevision(12, 'en', 'The thing about Deep Space 9', 'is - DS9 2nd rev', '1564543706', 'DS9 2nd rev', '1');
+    $this->assertRevision(12, 'is', 'is - The thing about Deep Space 9', 'is - DS9 2nd rev', '1564543706', 'is - DS9 2nd rev', '1');
+    // Source node 3.
+    $this->assertRevision(4, 'is', 'is - The thing about Firefly (1st rev)', 'is - Firefly 1st rev', '1478755274', NULL, '1');
+    $this->assertRevision(5, 'is', 'is - The thing about Firefly (1st rev)', 'Firefly 1st rev', '1564543887', NULL, NULL);
+    $this->assertRevision(5, 'en', 'en - The thing about Firefly (1st rev)', 'Firefly 1st rev', '1564543887', NULL, '1');
+    $this->assertRevision(13, 'is', 'is - The thing about Firefly', 'is - Firefly 2nd rev', '1564543810', NULL, '1');
+    $this->assertRevision(13, 'en', 'en - The thing about Firefly (1st rev)', 'is - Firefly 2nd rev', '1564543810', NULL, NULL);
+    $this->assertRevision(14, 'is', 'is - The thing about Firefly', 'Firefly 2nd rev', '1564543929', 'is - Firefly 2nd rev', NULL);
+    $this->assertRevision(14, 'en', 'en - The thing about Firefly', 'Firefly 2nd rev', '1564543929', 'Firefly 2nd rev', '1');
+    // Source node 6.
+    $this->assertRevision(6, 'en', 'Comments are closed :-(', NULL, '1504715414', NULL, '1');
+    // Source node 7.
+    $this->assertRevision(7, 'en', 'Comments are open :-)', NULL, '1504715432', NULL, '1');
+    // Source node 8.
+    $this->assertRevision(8, 'en', 'The number 47', NULL, '1552126247', NULL, '1');
+    $this->assertRevision(9, 'en', 'The number 47', NULL, '1552126296', NULL, NULL);
+    $this->assertRevision(9, 'fr', 'fr - The number 47', NULL, '1552126296', NULL, '1');
+    $this->assertRevision(10, 'en', 'The number 47', NULL, '1552126363', NULL, NULL);
+    $this->assertRevision(10, 'fr', 'fr - The number 47', NULL, '1552126363', NULL, NULL);
+    $this->assertRevision(10, 'is', 'is - The number 47', NULL, '1552126363', NULL, '1');
+  }
+
+  /**
+   * Asserts various aspects of a node revision.
+   *
+   * @param int $id
+   *   The revision ID.
+   * @param string $langcode
+   *   The revision language.
+   * @param string $title
+   *   The expected title.
+   * @param string $log
+   *   The revision log message.
+   * @param int $timestamp
+   *   The revision's time stamp.
+   * @param string $field_text_plain
+   *   The expected field_text_plain field value.
+   * @param string $revision_translation_affected
+   *   The revision translation affected field value.
+   */
+  protected function assertRevision($id, $langcode, $title, $log, $timestamp, $field_text_plain = NULL, $revision_translation_affected = '1') {
+    /* @var  \Drupal\node\NodeInterface $revision */
+    $revision = $this->nodeStorage->loadRevision($id)
+      ->getTranslation($langcode);
+    $this->assertInstanceOf(NodeInterface::class, $revision);
+    $this->assertSame($title, $revision->getTitle());
+    $this->assertSame($log, $revision->revision_log->value);
+    $this->assertIdentical($timestamp, $revision->getRevisionCreationTime());
+    if ($field_text_plain) {
+      $this->assertSame($field_text_plain, $revision->field_text_plain->value);
+    }
+    $this->assertSame($revision_translation_affected, $revision->get('revision_translation_affected')->value);
+  }
+
+
+  /**
+   * Provides the expected node_field_data table.
+   *
+   * @return array
+   *   The table.
+   */
+  protected function expectedNodeFieldDataTable() {
+    return [
+      0 =>
+        [
+          'nid' => '1',
+          'vid' => '1',
+          'type' => 'test_content_type',
+          'langcode' => 'en',
+          'status' => '1',
+          'uid' => '2',
+          'title' => 'An English Node',
+          'created' => '1421727515',
+          'changed' => '1441032132',
+          'promote' => '1',
+          'sticky' => '0',
+          'default_langcode' => '1',
+          'revision_translation_affected' => '1',
+          'content_translation_source' => 'und',
+          'content_translation_outdated' => '0',
+        ],
+      1 =>
+        [
+          'nid' => '2',
+          'vid' => '12',
+          'type' => 'article',
+          'langcode' => 'en',
+          'status' => '1',
+          'uid' => '2',
+          'title' => 'The thing about Deep Space 9',
+          'created' => '1441306772',
+          'changed' => '1564543706',
+          'promote' => '1',
+          'sticky' => '0',
+          'default_langcode' => '1',
+          'revision_translation_affected' => '1',
+          'content_translation_source' => 'und',
+          'content_translation_outdated' => '0',
+        ],
+      2 =>
+        [
+          'nid' => '2',
+          'vid' => '12',
+          'type' => 'article',
+          'langcode' => 'is',
+          'status' => '1',
+          'uid' => '1',
+          'title' => 'is - The thing about Deep Space 9',
+          'created' => '1471428152',
+          'changed' => '1564543706',
+          'promote' => '1',
+          'sticky' => '0',
+          'default_langcode' => '0',
+          'revision_translation_affected' => '1',
+          'content_translation_source' => 'und',
+          'content_translation_outdated' => '0',
+        ],
+      3 =>
+        [
+          'nid' => '4',
+          'vid' => '14',
+          'type' => 'article',
+          'langcode' => 'en',
+          'status' => '1',
+          'uid' => '1',
+          'title' => 'en - The thing about Firefly',
+          'created' => '1478755314',
+          'changed' => '1564543929',
+          'promote' => '1',
+          'sticky' => '0',
+          'default_langcode' => '0',
+          'revision_translation_affected' => '1',
+          'content_translation_source' => 'und',
+          'content_translation_outdated' => '0',
+        ],
+      4 =>
+        [
+          'nid' => '4',
+          'vid' => '14',
+          'type' => 'article',
+          'langcode' => 'is',
+          'status' => '1',
+          'uid' => '1',
+          'title' => 'is - The thing about Firefly',
+          'created' => '1478755274',
+          'changed' => '1564543810',
+          'promote' => '1',
+          'sticky' => '0',
+          'default_langcode' => '1',
+          'revision_translation_affected' => NULL,
+          'content_translation_source' => 'und',
+          'content_translation_outdated' => '0',
+        ],
+      5 =>
+        [
+          'nid' => '6',
+          'vid' => '6',
+          'type' => 'forum',
+          'langcode' => 'en',
+          'status' => '1',
+          'uid' => '1',
+          'title' => 'Comments are closed :-(',
+          'created' => '1504715414',
+          'changed' => '1504715414',
+          'promote' => '0',
+          'sticky' => '0',
+          'default_langcode' => '1',
+          'revision_translation_affected' => '1',
+          'content_translation_source' => 'und',
+          'content_translation_outdated' => '0',
+        ],
+      6 =>
+        [
+          'nid' => '7',
+          'vid' => '7',
+          'type' => 'forum',
+          'langcode' => 'en',
+          'status' => '1',
+          'uid' => '1',
+          'title' => 'Comments are open :-)',
+          'created' => '1504715432',
+          'changed' => '1504715432',
+          'promote' => '0',
+          'sticky' => '0',
+          'default_langcode' => '1',
+          'revision_translation_affected' => '1',
+          'content_translation_source' => 'und',
+          'content_translation_outdated' => '0',
+        ],
+      7 =>
+        [
+          'nid' => '8',
+          'vid' => '10',
+          'type' => 'blog',
+          'langcode' => 'en',
+          'status' => '1',
+          'uid' => '1',
+          'title' => 'The number 47',
+          'created' => '1551000341',
+          'changed' => '1552126247',
+          'promote' => '1',
+          'sticky' => '0',
+          'default_langcode' => '1',
+          'revision_translation_affected' => NULL,
+          'content_translation_source' => 'und',
+          'content_translation_outdated' => '0',
+        ],
+      8 =>
+        [
+          'nid' => '8',
+          'vid' => '10',
+          'type' => 'blog',
+          'langcode' => 'fr',
+          'status' => '1',
+          'uid' => '1',
+          'title' => 'fr - The number 47',
+          'created' => '1552126296',
+          'changed' => '1552126296',
+          'promote' => '1',
+          'sticky' => '0',
+          'default_langcode' => '0',
+          'revision_translation_affected' => NULL,
+          'content_translation_source' => 'und',
+          'content_translation_outdated' => '0',
+        ],
+      9 =>
+        [
+          'nid' => '8',
+          'vid' => '10',
+          'type' => 'blog',
+          'langcode' => 'is',
+          'status' => '1',
+          'uid' => '1',
+          'title' => 'is - The number 47',
+          'created' => '1552126363',
+          'changed' => '1552126363',
+          'promote' => '1',
+          'sticky' => '0',
+          'default_langcode' => '0',
+          'revision_translation_affected' => '1',
+          'content_translation_source' => 'und',
+          'content_translation_outdated' => '0',
+        ],
+    ];
+  }
+
+  /**
+   * Provides the expected node_field_revision table.
+   *
+   * @return array
+   *   The table.
+   */
+  protected function expectedNodeFieldRevisionTable() {
+    return [
+      0 =>
+        [
+          'nid' => '1',
+          'vid' => '1',
+          'langcode' => 'en',
+          'status' => '1',
+          'uid' => '2',
+          'title' => 'An English Node',
+          'created' => '1421727515',
+          'changed' => '1441032132',
+          'promote' => '1',
+          'sticky' => '0',
+          'default_langcode' => '1',
+          'revision_translation_affected' => '1',
+          'content_translation_source' => 'und',
+          'content_translation_outdated' => '0',
+        ],
+      1 =>
+        [
+          'nid' => '2',
+          'vid' => '2',
+          'langcode' => 'en',
+          'status' => '1',
+          'uid' => '2',
+          'title' => 'The thing about Deep Space 9 (1st rev)',
+          'created' => '1441306772',
+          'changed' => '1564543588',
+          'promote' => '1',
+          'sticky' => '0',
+          'default_langcode' => '1',
+          'revision_translation_affected' => '1',
+          'content_translation_source' => 'und',
+          'content_translation_outdated' => '0',
+        ],
+      2 =>
+        [
+          'nid' => '2',
+          'vid' => '3',
+          'langcode' => 'en',
+          'status' => '1',
+          'uid' => '2',
+          'title' => 'The thing about Deep Space 9 (1st rev)',
+          'created' => '1441306772',
+          'changed' => '1564543677',
+          'promote' => '1',
+          'sticky' => '0',
+          'default_langcode' => '1',
+          'revision_translation_affected' => '1',
+          'content_translation_source' => 'und',
+          'content_translation_outdated' => '0',
+        ],
+      3 =>
+        [
+          'nid' => '2',
+          'vid' => '3',
+          'langcode' => 'is',
+          'status' => '1',
+          'uid' => '1',
+          'title' => 'is - The thing about Deep Space 9 (1st rev)',
+          'created' => '1471428152',
+          'changed' => '1564543677',
+          'promote' => '1',
+          'sticky' => '0',
+          'default_langcode' => '0',
+          'revision_translation_affected' => '1',
+          'content_translation_source' => 'und',
+          'content_translation_outdated' => '0',
+        ],
+      4 =>
+        [
+          'nid' => '4',
+          'vid' => '4',
+          'langcode' => 'is',
+          'status' => '1',
+          'uid' => '1',
+          'title' => 'is - The thing about Firefly (1st rev)',
+          'created' => '1478755274',
+          'changed' => '1478755274',
+          'promote' => '1',
+          'sticky' => '0',
+          'default_langcode' => '1',
+          'revision_translation_affected' => '1',
+          'content_translation_source' => 'und',
+          'content_translation_outdated' => '0',
+        ],
+      5 =>
+        [
+          'nid' => '4',
+          'vid' => '5',
+          'langcode' => 'en',
+          'status' => '1',
+          'uid' => '1',
+          'title' => 'en - The thing about Firefly (1st rev)',
+          'created' => '1478755314',
+          'changed' => '1564543887',
+          'promote' => '1',
+          'sticky' => '0',
+          'default_langcode' => '0',
+          'revision_translation_affected' => '1',
+          'content_translation_source' => 'und',
+          'content_translation_outdated' => '0',
+        ],
+      6 =>
+        [
+          'nid' => '4',
+          'vid' => '5',
+          'langcode' => 'is',
+          'status' => '1',
+          'uid' => '1',
+          'title' => 'is - The thing about Firefly (1st rev)',
+          'created' => '1478755274',
+          'changed' => '1478755274',
+          'promote' => '1',
+          'sticky' => '0',
+          'default_langcode' => '1',
+          'revision_translation_affected' => NULL,
+          'content_translation_source' => 'und',
+          'content_translation_outdated' => '0',
+        ],
+      7 =>
+        [
+          'nid' => '6',
+          'vid' => '6',
+          'langcode' => 'en',
+          'status' => '1',
+          'uid' => '1',
+          'title' => 'Comments are closed :-(',
+          'created' => '1504715414',
+          'changed' => '1504715414',
+          'promote' => '0',
+          'sticky' => '0',
+          'default_langcode' => '1',
+          'revision_translation_affected' => '1',
+          'content_translation_source' => 'und',
+          'content_translation_outdated' => '0',
+        ],
+      8 =>
+        [
+          'nid' => '7',
+          'vid' => '7',
+          'langcode' => 'en',
+          'status' => '1',
+          'uid' => '1',
+          'title' => 'Comments are open :-)',
+          'created' => '1504715432',
+          'changed' => '1504715432',
+          'promote' => '0',
+          'sticky' => '0',
+          'default_langcode' => '1',
+          'revision_translation_affected' => '1',
+          'content_translation_source' => 'und',
+          'content_translation_outdated' => '0',
+        ],
+      9 =>
+        [
+          'nid' => '8',
+          'vid' => '8',
+          'langcode' => 'en',
+          'status' => '1',
+          'uid' => '1',
+          'title' => 'The number 47',
+          'created' => '1551000341',
+          'changed' => '1552126247',
+          'promote' => '1',
+          'sticky' => '0',
+          'default_langcode' => '1',
+          'revision_translation_affected' => '1',
+          'content_translation_source' => 'und',
+          'content_translation_outdated' => '0',
+        ],
+      10 =>
+        [
+          'nid' => '8',
+          'vid' => '9',
+          'langcode' => 'en',
+          'status' => '1',
+          'uid' => '1',
+          'title' => 'The number 47',
+          'created' => '1551000341',
+          'changed' => '1552126247',
+          'promote' => '1',
+          'sticky' => '0',
+          'default_langcode' => '1',
+          'revision_translation_affected' => NULL,
+          'content_translation_source' => 'und',
+          'content_translation_outdated' => '0',
+        ],
+      11 =>
+        [
+          'nid' => '8',
+          'vid' => '9',
+          'langcode' => 'fr',
+          'status' => '1',
+          'uid' => '1',
+          'title' => 'fr - The number 47',
+          'created' => '1552126296',
+          'changed' => '1552126296',
+          'promote' => '1',
+          'sticky' => '0',
+          'default_langcode' => '0',
+          'revision_translation_affected' => '1',
+          'content_translation_source' => 'und',
+          'content_translation_outdated' => '0',
+        ],
+      12 =>
+        [
+          'nid' => '8',
+          'vid' => '10',
+          'langcode' => 'en',
+          'status' => '1',
+          'uid' => '1',
+          'title' => 'The number 47',
+          'created' => '1551000341',
+          'changed' => '1552126247',
+          'promote' => '1',
+          'sticky' => '0',
+          'default_langcode' => '1',
+          'revision_translation_affected' => NULL,
+          'content_translation_source' => 'und',
+          'content_translation_outdated' => '0',
+        ],
+      13 =>
+        [
+          'nid' => '8',
+          'vid' => '10',
+          'langcode' => 'fr',
+          'status' => '1',
+          'uid' => '1',
+          'title' => 'fr - The number 47',
+          'created' => '1552126296',
+          'changed' => '1552126296',
+          'promote' => '1',
+          'sticky' => '0',
+          'default_langcode' => '0',
+          'revision_translation_affected' => NULL,
+          'content_translation_source' => 'und',
+          'content_translation_outdated' => '0',
+        ],
+      14 =>
+        [
+          'nid' => '8',
+          'vid' => '10',
+          'langcode' => 'is',
+          'status' => '1',
+          'uid' => '1',
+          'title' => 'is - The number 47',
+          'created' => '1552126363',
+          'changed' => '1552126363',
+          'promote' => '1',
+          'sticky' => '0',
+          'default_langcode' => '0',
+          'revision_translation_affected' => '1',
+          'content_translation_source' => 'und',
+          'content_translation_outdated' => '0',
+        ],
+      15 =>
+        [
+          'nid' => '2',
+          'vid' => '11',
+          'langcode' => 'en',
+          'status' => '1',
+          'uid' => '2',
+          'title' => 'The thing about Deep Space 9',
+          'created' => '1441306772',
+          'changed' => '1564543637',
+          'promote' => '1',
+          'sticky' => '0',
+          'default_langcode' => '1',
+          'revision_translation_affected' => '1',
+          'content_translation_source' => 'und',
+          'content_translation_outdated' => '0',
+        ],
+      16 =>
+        [
+          'nid' => '2',
+          'vid' => '11',
+          'langcode' => 'is',
+          'status' => '1',
+          'uid' => '1',
+          'title' => 'is - The thing about Deep Space 9 (1st rev)',
+          'created' => '1471428152',
+          'changed' => '1564543637',
+          'promote' => '1',
+          'sticky' => '0',
+          'default_langcode' => '0',
+          'revision_translation_affected' => '1',
+          'content_translation_source' => 'und',
+          'content_translation_outdated' => '0',
+        ],
+      17 =>
+        [
+          'nid' => '2',
+          'vid' => '12',
+          'langcode' => 'en',
+          'status' => '1',
+          'uid' => '2',
+          'title' => 'The thing about Deep Space 9',
+          'created' => '1441306772',
+          'changed' => '1564543706',
+          'promote' => '1',
+          'sticky' => '0',
+          'default_langcode' => '1',
+          'revision_translation_affected' => '1',
+          'content_translation_source' => 'und',
+          'content_translation_outdated' => '0',
+        ],
+      18 =>
+        [
+          'nid' => '2',
+          'vid' => '12',
+          'langcode' => 'is',
+          'status' => '1',
+          'uid' => '1',
+          'title' => 'is - The thing about Deep Space 9',
+          'created' => '1471428152',
+          'changed' => '1564543706',
+          'promote' => '1',
+          'sticky' => '0',
+          'default_langcode' => '0',
+          'revision_translation_affected' => '1',
+          'content_translation_source' => 'und',
+          'content_translation_outdated' => '0',
+        ],
+      19 =>
+        [
+          'nid' => '4',
+          'vid' => '13',
+          'langcode' => 'en',
+          'status' => '1',
+          'uid' => '1',
+          'title' => 'en - The thing about Firefly (1st rev)',
+          'created' => '1478755314',
+          'changed' => '1564543887',
+          'promote' => '1',
+          'sticky' => '0',
+          'default_langcode' => '0',
+          'revision_translation_affected' => NULL,
+          'content_translation_source' => 'und',
+          'content_translation_outdated' => '0',
+        ],
+      20 =>
+        [
+          'nid' => '4',
+          'vid' => '13',
+          'langcode' => 'is',
+          'status' => '1',
+          'uid' => '1',
+          'title' => 'is - The thing about Firefly',
+          'created' => '1478755274',
+          'changed' => '1564543810',
+          'promote' => '1',
+          'sticky' => '0',
+          'default_langcode' => '1',
+          'revision_translation_affected' => '1',
+          'content_translation_source' => 'und',
+          'content_translation_outdated' => '0',
+        ],
+      21 =>
+        [
+          'nid' => '4',
+          'vid' => '14',
+          'langcode' => 'en',
+          'status' => '1',
+          'uid' => '1',
+          'title' => 'en - The thing about Firefly',
+          'created' => '1478755314',
+          'changed' => '1564543929',
+          'promote' => '1',
+          'sticky' => '0',
+          'default_langcode' => '0',
+          'revision_translation_affected' => '1',
+          'content_translation_source' => 'und',
+          'content_translation_outdated' => '0',
+        ],
+      22 =>
+        [
+          'nid' => '4',
+          'vid' => '14',
+          'langcode' => 'is',
+          'status' => '1',
+          'uid' => '1',
+          'title' => 'is - The thing about Firefly',
+          'created' => '1478755274',
+          'changed' => '1564543810',
+          'promote' => '1',
+          'sticky' => '0',
+          'default_langcode' => '1',
+          'revision_translation_affected' => NULL,
+          'content_translation_source' => 'und',
+          'content_translation_outdated' => '0',
+        ],
+    ];
+  }
+
+}
