diff --git a/app/code/Magento/Catalog/Test/Unit/Controller/Adminhtml/Product/Initialization/HelperTest.php b/app/code/Magento/Catalog/Test/Unit/Controller/Adminhtml/Product/Initialization/HelperTest.php
index 828cc31c1725cec790e89707948859e69c15d25a..e64d8c2ef84fa9c3d777eacbaaebfebf4ee00e60 100644
--- a/app/code/Magento/Catalog/Test/Unit/Controller/Adminhtml/Product/Initialization/HelperTest.php
+++ b/app/code/Magento/Catalog/Test/Unit/Controller/Adminhtml/Product/Initialization/HelperTest.php
@@ -359,13 +359,8 @@ class HelperTest extends \PHPUnit_Framework_TestCase
     {
         $linkMock = $this->getMockBuilder(ProductLinkInterface::class)
             ->disableOriginalConstructor()
-            ->setMethods(['getLinkType'])
             ->getMockForAbstractClass();
 
-        $linkMock->expects($this->once())
-            ->method('getLinkType')
-            ->willReturn('upsell');
-
         $this->productMock->expects($this->any())
             ->method('getProductLinks')
             ->willReturn([$linkMock]);
diff --git a/app/code/Magento/CatalogImportExport/Model/Import/Product.php b/app/code/Magento/CatalogImportExport/Model/Import/Product.php
index ce62414411d3f4c2463b9cc2affecbb7e2d15906..415ec8bd0072491aef33fecc72f85cd2640b221e 100644
--- a/app/code/Magento/CatalogImportExport/Model/Import/Product.php
+++ b/app/code/Magento/CatalogImportExport/Model/Import/Product.php
@@ -1162,7 +1162,7 @@ class Product extends \Magento\ImportExport\Model\Import\Entity\AbstractEntity
             foreach ($skuData as $sku => $attributes) {
                 $linkId = $this->_connection->fetchOne(
                     $this->_connection->select()
-                        ->from($this->_resource->getTable('catalog_product_entity'))
+                        ->from($this->getResource()->getTable('catalog_product_entity'))
                         ->where('sku = ?', $sku)
                         ->columns($metadata->getLinkField())
                 );
diff --git a/app/code/Magento/CatalogImportExport/Test/Unit/Model/Import/ProductTest.php b/app/code/Magento/CatalogImportExport/Test/Unit/Model/Import/ProductTest.php
index fd2d6e9fb4646e67cb7e688253fed3178812d417..ae443adc9b5872ed9d41704cdc08c807ab5f3e8f 100644
--- a/app/code/Magento/CatalogImportExport/Test/Unit/Model/Import/ProductTest.php
+++ b/app/code/Magento/CatalogImportExport/Test/Unit/Model/Import/ProductTest.php
@@ -527,10 +527,28 @@ class ProductTest extends \Magento\ImportExport\Test\Unit\Model\Import\AbstractI
                 ]
             ]
         ];
-        $this->skuProcessor->expects($this->once())
-            ->method('getNewSku')
-            ->with($testSku)
-            ->willReturn(['entity_id' => self::ENTITY_ID]);
+        $metadataMock = $this->getMockBuilder('\Magento\Framework\Model\Entity\EntityMetadata')
+            ->disableOriginalConstructor()
+            ->getMock();
+        $this->metadataPool->expects($this->any())->method('getMetadata')
+            ->with(\Magento\Catalog\Api\Data\ProductInterface::class)
+            ->willReturn($metadataMock);
+        $metadataMock->expects($this->any())->method('getLinkField')->willReturn('entity_id');
+        $entityTable = 'catalog_product_entity';
+        $resource = $this->getMockBuilder('\Magento\CatalogImportExport\Model\Import\Proxy\Product\ResourceModel')
+            ->disableOriginalConstructor()
+            ->setMethods(['getTable'])
+            ->getMock();
+        $resource->expects($this->once())->method('getTable')->with($entityTable)->willReturnArgument(0);
+        $this->_resourceFactory->expects($this->once())->method('create')->willReturn($resource);
+        $selectMock = $this->getMockBuilder('Magento\Framework\DB\Select')
+            ->disableOriginalConstructor()
+            ->getMock();
+        $selectMock->expects($this->once())->method('from')->with($entityTable, '*', null)->willReturnSelf();
+        $selectMock->expects($this->once())->method('where')->with('sku = ?', $testSku)->willReturnSelf();
+        $selectMock->expects($this->once())->method('columns')->with('entity_id')->willReturnSelf();
+        $this->_connection->expects($this->any())->method('fetchOne')->willReturn(self::ENTITY_ID);
+        $this->_connection->expects($this->any())->method('select')->willReturn($selectMock);
         $this->_connection->expects($this->any())
             ->method('quoteInto')
             ->willReturnCallback([$this, 'returnQuoteCallback']);
diff --git a/app/code/Magento/ConfigurableProduct/Model/ResourceModel/Product/Type/Configurable.php b/app/code/Magento/ConfigurableProduct/Model/ResourceModel/Product/Type/Configurable.php
index 6eb76c83d0a1b104c70acf47b9d6121941ad7609..8dda060c4f75ff4428bb4ebede6985265c61def2 100644
--- a/app/code/Magento/ConfigurableProduct/Model/ResourceModel/Product/Type/Configurable.php
+++ b/app/code/Magento/ConfigurableProduct/Model/ResourceModel/Product/Type/Configurable.php
@@ -62,10 +62,7 @@ class Configurable extends \Magento\Framework\Model\ResourceModel\Db\AbstractDb
     {
         $isProductInstance = false;
         if ($mainProduct instanceof \Magento\Catalog\Model\Product) {
-            $mainProductId = $mainProduct->getData(
-                $this->metadataPool->getMetadata(ProductInterface::class)->getLinkField()
-            );
-
+            $mainProductId = $mainProduct->getId();
             $isProductInstance = true;
         }
         $old = [];
@@ -91,9 +88,9 @@ class Configurable extends \Magento\Framework\Model\ResourceModel\Db\AbstractDb
             }
             $this->getConnection()->insertMultiple($this->getMainTable(), $data);
         }
-
+        $linkField = $this->metadataPool->getMetadata(ProductInterface::class)->getLinkField();
         // configurable product relations should be added to relation table
-        $this->_catalogProductRelation->processRelations($mainProductId, $productIds);
+        $this->_catalogProductRelation->processRelations($mainProduct->getData($linkField), $productIds);
 
         return $this;
     }
diff --git a/lib/internal/Magento/Framework/DB/Select/SelectRenderer.php b/lib/internal/Magento/Framework/DB/Select/SelectRenderer.php
index 9866775d1fecdd1d381a3058483cba1d828342dd..10b388638222c15e760a14a9b56722da1cf378ce 100644
--- a/lib/internal/Magento/Framework/DB/Select/SelectRenderer.php
+++ b/lib/internal/Magento/Framework/DB/Select/SelectRenderer.php
@@ -65,7 +65,7 @@ class SelectRenderer implements RendererInterface
      */
     public function render(Select $select, $sql = '')
     {
-        $sql = Select::SQL_SELECT . ' ';
+        $sql = Select::SQL_SELECT;
         foreach ($this->renderers as $renderer) {
             if (in_array($renderer['part'], [Select::COLUMNS, Select::FROM]) || $select->getPart($renderer['part'])) {
                 $sql = $renderer['renderer']->render($select, $sql);