diff --git a/data-loader/cli/src/main/java/com/scalar/db/dataloader/cli/command/dataexport/ExportCommand.java b/data-loader/cli/src/main/java/com/scalar/db/dataloader/cli/command/dataexport/ExportCommand.java index f6f2e2c104..1a72319fc3 100755 --- a/data-loader/cli/src/main/java/com/scalar/db/dataloader/cli/command/dataexport/ExportCommand.java +++ b/data-loader/cli/src/main/java/com/scalar/db/dataloader/cli/command/dataexport/ExportCommand.java @@ -5,6 +5,7 @@ import static java.nio.file.StandardOpenOption.APPEND; import static java.nio.file.StandardOpenOption.CREATE; +import com.scalar.db.api.DistributedTransactionAdmin; import com.scalar.db.api.DistributedTransactionManager; import com.scalar.db.api.TableMetadata; import com.scalar.db.dataloader.cli.exception.DirectoryValidationException; @@ -28,7 +29,6 @@ import com.scalar.db.dataloader.core.tablemetadata.TableMetadataService; import com.scalar.db.dataloader.core.util.KeyUtils; import com.scalar.db.io.Key; -import com.scalar.db.service.StorageFactory; import com.scalar.db.service.TransactionFactory; import java.io.BufferedWriter; import java.nio.charset.Charset; @@ -69,17 +69,17 @@ public Integer call() throws Exception { maxThreads = Runtime.getRuntime().availableProcessors(); } - StorageFactory storageFactory = StorageFactory.create(scalarDbPropertiesFilePath); TransactionFactory transactionFactory = TransactionFactory.create(scalarDbPropertiesFilePath); - TableMetadataService metaDataService = - new TableMetadataService(storageFactory.getStorageAdmin()); + TableMetadata tableMetadata; + try (DistributedTransactionAdmin admin = transactionFactory.getTransactionAdmin()) { + TableMetadataService metaDataService = new TableMetadataService(admin); + tableMetadata = metaDataService.getTableMetadata(namespace, table); + } ScalarDbDao scalarDbDao = new ScalarDbDao(); ExportManager exportManager = createExportManager(transactionFactory, scalarDbDao, outputFormat); - TableMetadata tableMetadata = metaDataService.getTableMetadata(namespace, table); - Key partitionKey = partitionKeyValue != null ? getKeysFromList(partitionKeyValue, tableMetadata) : null; Key scanStartKey = diff --git a/data-loader/cli/src/main/java/com/scalar/db/dataloader/cli/command/dataimport/ImportCommand.java b/data-loader/cli/src/main/java/com/scalar/db/dataloader/cli/command/dataimport/ImportCommand.java index f28cf92603..56d2e84428 100755 --- a/data-loader/cli/src/main/java/com/scalar/db/dataloader/cli/command/dataimport/ImportCommand.java +++ b/data-loader/cli/src/main/java/com/scalar/db/dataloader/cli/command/dataimport/ImportCommand.java @@ -4,7 +4,7 @@ import static com.scalar.db.dataloader.cli.util.CommandLineInputUtils.validatePositiveValue; import com.fasterxml.jackson.databind.ObjectMapper; -import com.scalar.db.api.DistributedStorageAdmin; +import com.scalar.db.api.DistributedTransactionAdmin; import com.scalar.db.api.TableMetadata; import com.scalar.db.dataloader.core.DataLoaderError; import com.scalar.db.dataloader.core.FileFormat; @@ -112,9 +112,9 @@ private Map createTableMetadataMap( ControlFile controlFile, String namespace, String tableName) throws IOException, TableMetadataException { File configFile = new File(configFilePath); - StorageFactory storageFactory = StorageFactory.create(configFile); - try (DistributedStorageAdmin storageAdmin = storageFactory.getStorageAdmin()) { - TableMetadataService tableMetadataService = new TableMetadataService(storageAdmin); + TransactionFactory transactionFactory = TransactionFactory.create(configFile); + try (DistributedTransactionAdmin transactionAdmin = transactionFactory.getTransactionAdmin()) { + TableMetadataService tableMetadataService = new TableMetadataService(transactionAdmin); Map tableMetadataMap = new HashMap<>(); if (controlFile != null) { for (ControlFileTable table : controlFile.getTables()) { diff --git a/data-loader/core/src/main/java/com/scalar/db/dataloader/core/tablemetadata/TableMetadataService.java b/data-loader/core/src/main/java/com/scalar/db/dataloader/core/tablemetadata/TableMetadataService.java index 70d49a51ee..a688e5bbfa 100644 --- a/data-loader/core/src/main/java/com/scalar/db/dataloader/core/tablemetadata/TableMetadataService.java +++ b/data-loader/core/src/main/java/com/scalar/db/dataloader/core/tablemetadata/TableMetadataService.java @@ -1,6 +1,6 @@ package com.scalar.db.dataloader.core.tablemetadata; -import com.scalar.db.api.DistributedStorageAdmin; +import com.scalar.db.api.DistributedTransactionAdmin; import com.scalar.db.api.TableMetadata; import com.scalar.db.dataloader.core.DataLoaderError; import com.scalar.db.dataloader.core.util.TableMetadataUtil; @@ -18,7 +18,7 @@ @RequiredArgsConstructor public class TableMetadataService { - private final DistributedStorageAdmin storageAdmin; + private final DistributedTransactionAdmin transactionAdmin; /** * Retrieves the {@link TableMetadata} for a specific namespace and table name. @@ -32,7 +32,7 @@ public class TableMetadataService { public TableMetadata getTableMetadata(String namespace, String tableName) throws TableMetadataException { try { - TableMetadata tableMetadata = storageAdmin.getTableMetadata(namespace, tableName); + TableMetadata tableMetadata = transactionAdmin.getTableMetadata(namespace, tableName); if (tableMetadata == null) { throw new TableMetadataException( DataLoaderError.MISSING_NAMESPACE_OR_TABLE.buildMessage(namespace, tableName)); diff --git a/data-loader/core/src/test/java/com/scalar/db/dataloader/core/tablemetadata/TableMetadataServiceTest.java b/data-loader/core/src/test/java/com/scalar/db/dataloader/core/tablemetadata/TableMetadataServiceTest.java index ff9d5d8b0c..f782c565e2 100644 --- a/data-loader/core/src/test/java/com/scalar/db/dataloader/core/tablemetadata/TableMetadataServiceTest.java +++ b/data-loader/core/src/test/java/com/scalar/db/dataloader/core/tablemetadata/TableMetadataServiceTest.java @@ -2,7 +2,7 @@ import static org.assertj.core.api.Assertions.assertThatThrownBy; -import com.scalar.db.api.DistributedStorageAdmin; +import com.scalar.db.api.DistributedTransactionAdmin; import com.scalar.db.api.TableMetadata; import com.scalar.db.dataloader.core.DataLoaderError; import com.scalar.db.dataloader.core.UnitTestUtils; @@ -17,15 +17,15 @@ class TableMetadataServiceTest { - DistributedStorageAdmin storageAdmin; + DistributedTransactionAdmin transactionAdmin; TableMetadataService tableMetadataService; @BeforeEach void setup() throws ExecutionException { - storageAdmin = Mockito.mock(DistributedStorageAdmin.class); - Mockito.when(storageAdmin.getTableMetadata("namespace", "table")) + transactionAdmin = Mockito.mock(DistributedTransactionAdmin.class); + Mockito.when(transactionAdmin.getTableMetadata("namespace", "table")) .thenReturn(UnitTestUtils.createTestTableMetadata()); - tableMetadataService = new TableMetadataService(storageAdmin); + tableMetadataService = new TableMetadataService(transactionAdmin); } @Test