Skip to content

Commit 7bc3e53

Browse files
committed
Fix namespace-related features
1 parent 58c7787 commit 7bc3e53

15 files changed

+102
-161
lines changed

core/src/integration-test/java/com/scalar/db/storage/objectstorage/ConsensusCommitAdminIntegrationTestWithObjectStorage.java

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
package com.scalar.db.storage.objectstorage;
22

3+
import com.scalar.db.config.DatabaseConfig;
34
import com.scalar.db.transaction.consensuscommit.ConsensusCommitAdminIntegrationTestBase;
4-
import com.scalar.db.util.AdminTestUtils;
5+
import com.scalar.db.transaction.consensuscommit.ConsensusCommitConfig;
6+
import com.scalar.db.transaction.consensuscommit.Coordinator;
57
import java.util.Properties;
68
import org.junit.jupiter.api.Disabled;
79

@@ -14,8 +16,16 @@ protected Properties getProps(String testName) {
1416
}
1517

1618
@Override
17-
protected AdminTestUtils getAdminTestUtils(String testName) {
18-
return new ObjectStorageAdminTestUtils(getProperties(testName));
19+
protected String getSystemNamespaceName(Properties properties) {
20+
return ObjectStorageUtils.getObjectStorageConfig(new DatabaseConfig(properties))
21+
.getMetadataNamespace();
22+
}
23+
24+
@Override
25+
protected String getCoordinatorNamespaceName(String testName) {
26+
return new ConsensusCommitConfig(new DatabaseConfig(getProperties(testName)))
27+
.getCoordinatorNamespace()
28+
.orElse(Coordinator.NAMESPACE);
1929
}
2030

2131
@Override
@@ -130,9 +140,4 @@ public void renameTable_ForExistingTableWithIndexes_ShouldRenameTableAndIndexesC
130140
@Override
131141
@Disabled("Object Storage does not support renaming tables")
132142
public void renameTable_IfOnlyOneTableExists_ShouldRenameTableCorrectly() {}
133-
134-
@Override
135-
@Disabled("The ScalarDB environment does not need to be upgraded with Object Storage")
136-
public void
137-
upgrade_WhenMetadataTableExistsButNotNamespacesTable_ShouldCreateNamespacesTableAndImportExistingNamespaces() {}
138143
}

core/src/integration-test/java/com/scalar/db/storage/objectstorage/ConsensusCommitAdminRepairIntegrationTestWithObjectStorage.java

Lines changed: 0 additions & 19 deletions
This file was deleted.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
package com.scalar.db.storage.objectstorage;
2+
3+
import com.scalar.db.transaction.consensuscommit.ConsensusCommitAdminRepairTableIntegrationTestBase;
4+
import com.scalar.db.util.AdminTestUtils;
5+
import java.util.Properties;
6+
import org.junit.jupiter.api.Disabled;
7+
8+
public class ConsensusCommitAdminRepairTableIntegrationTestWithObjectStorage
9+
extends ConsensusCommitAdminRepairTableIntegrationTestBase {
10+
11+
@Override
12+
protected Properties getProps(String testName) {
13+
return ObjectStorageEnv.getProperties(testName);
14+
}
15+
16+
@Override
17+
protected AdminTestUtils getAdminTestUtils(String testName) {
18+
return new ObjectStorageAdminTestUtils(getProperties(testName));
19+
}
20+
21+
@Override
22+
@Disabled("Object Storage recreates missing coordinator tables")
23+
public void
24+
repairTableAndCoordinatorTable_CoordinatorTablesDoNotExist_ShouldThrowIllegalArgumentException() {}
25+
26+
@Override
27+
@Disabled("Object Storage recreates missing coordinator tables")
28+
public void repairTable_ForNonExistingTable_ShouldThrowIllegalArgument() {}
29+
}

core/src/integration-test/java/com/scalar/db/storage/objectstorage/ObjectStorageAdminCaseSensitivityIntegrationTest.java

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.scalar.db.storage.objectstorage;
22

33
import com.scalar.db.api.DistributedStorageAdminCaseSensitivityIntegrationTestBase;
4+
import com.scalar.db.config.DatabaseConfig;
45
import com.scalar.db.util.AdminTestUtils;
56
import java.util.Map;
67
import java.util.Properties;
@@ -14,6 +15,12 @@ protected Properties getProperties(String testName) {
1415
return ObjectStorageEnv.getProperties(testName);
1516
}
1617

18+
@Override
19+
protected String getSystemNamespaceName(Properties properties) {
20+
return ObjectStorageUtils.getObjectStorageConfig(new DatabaseConfig(properties))
21+
.getMetadataNamespace();
22+
}
23+
1724
@Override
1825
protected Map<String, String> getCreationOptions() {
1926
return ObjectStorageEnv.getCreationOptions();
@@ -145,9 +152,4 @@ public void renameTable_ForExistingTableWithIndexes_ShouldRenameTableAndIndexesC
145152
@Override
146153
@Disabled("Object Storage does not support renaming tables")
147154
public void renameTable_IfOnlyOneTableExists_ShouldRenameTableCorrectly() {}
148-
149-
@Override
150-
@Disabled("The ScalarDB environment does not need to be upgraded with Object Storage")
151-
public void
152-
upgrade_WhenMetadataTableExistsButNotNamespacesTable_ShouldCreateNamespacesTableAndImportExistingNamespaces() {}
153155
}

core/src/integration-test/java/com/scalar/db/storage/objectstorage/ObjectStorageAdminIntegrationTest.java

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.scalar.db.storage.objectstorage;
22

33
import com.scalar.db.api.DistributedStorageAdminIntegrationTestBase;
4+
import com.scalar.db.config.DatabaseConfig;
45
import com.scalar.db.util.AdminTestUtils;
56
import java.util.Properties;
67
import org.junit.jupiter.api.Disabled;
@@ -12,6 +13,12 @@ protected Properties getProperties(String testName) {
1213
return ObjectStorageEnv.getProperties(testName);
1314
}
1415

16+
@Override
17+
protected String getSystemNamespaceName(Properties properties) {
18+
return ObjectStorageUtils.getObjectStorageConfig(new DatabaseConfig(properties))
19+
.getMetadataNamespace();
20+
}
21+
1522
@Override
1623
protected boolean isIndexOnBooleanColumnSupported() {
1724
return false;
@@ -143,9 +150,4 @@ public void renameTable_ForExistingTableWithIndexes_ShouldRenameTableAndIndexesC
143150
@Override
144151
@Disabled("Object Storage does not support renaming tables")
145152
public void renameTable_IfOnlyOneTableExists_ShouldRenameTableCorrectly() {}
146-
147-
@Override
148-
@Disabled("The ScalarDB environment does not need to be upgraded with Object Storage")
149-
public void
150-
upgrade_WhenMetadataTableExistsButNotNamespacesTable_ShouldCreateNamespacesTableAndImportExistingNamespaces() {}
151153
}

core/src/integration-test/java/com/scalar/db/storage/objectstorage/ObjectStorageAdminRepairIntegrationTest.java

Lines changed: 0 additions & 25 deletions
This file was deleted.
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
package com.scalar.db.storage.objectstorage;
2+
3+
import com.scalar.db.api.DistributedStorageAdminRepairTableIntegrationTestBase;
4+
import com.scalar.db.util.AdminTestUtils;
5+
import java.util.Properties;
6+
import org.junit.jupiter.api.Disabled;
7+
8+
public class ObjectStorageAdminRepairTableIntegrationTest
9+
extends DistributedStorageAdminRepairTableIntegrationTestBase {
10+
11+
@Override
12+
protected Properties getProperties(String testName) {
13+
return ObjectStorageEnv.getProperties(testName);
14+
}
15+
16+
@Override
17+
protected AdminTestUtils getAdminTestUtils(String testName) {
18+
return new ObjectStorageAdminTestUtils(getProperties(testName));
19+
}
20+
21+
@Override
22+
@Disabled("Object Storage recreates missing coordinator tables")
23+
public void repairTable_ForNonExistingTable_ShouldThrowIllegalArgument() {}
24+
}

core/src/integration-test/java/com/scalar/db/storage/objectstorage/ObjectStorageAdminTestUtils.java

Lines changed: 0 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -21,27 +21,11 @@ public ObjectStorageAdminTestUtils(Properties properties) {
2121
metadataNamespace = objectStorageConfig.getMetadataNamespace();
2222
}
2323

24-
@Override
25-
public void dropNamespacesTable() {
26-
// Object Storage does not have a concept of table
27-
}
28-
2924
@Override
3025
public void dropMetadataTable() {
3126
// Object Storage does not have a concept of table
3227
}
3328

34-
@Override
35-
public void truncateNamespacesTable() throws Exception {
36-
try {
37-
wrapper.delete(
38-
ObjectStorageUtils.getObjectKey(
39-
metadataNamespace, ObjectStorageAdmin.NAMESPACE_METADATA_TABLE));
40-
} catch (PreconditionFailedException e) {
41-
// The namespace metadata table object does not exist, so do nothing
42-
}
43-
}
44-
4529
@Override
4630
public void truncateMetadataTable() throws Exception {
4731
try {
@@ -103,11 +87,6 @@ public void deleteMetadata(String namespace, String table) throws Exception {
10387
}
10488
}
10589

106-
@Override
107-
public void dropNamespace(String namespace) {
108-
// Object Storage does not have a concept of namespace
109-
}
110-
11190
@Override
11291
public boolean namespaceExists(String namespace) {
11392
// Object Storage does not have a concept of namespace

core/src/integration-test/java/com/scalar/db/storage/objectstorage/ObjectStorageEnv.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ public static Properties getProperties(String testName) {
3737

3838
// Add testName as a metadata namespace suffix
3939
properties.setProperty(
40-
DatabaseConfig.SYSTEM_NAMESPACE_NAME,
40+
BlobStorageConfig.TABLE_METADATA_NAMESPACE,
4141
DatabaseConfig.DEFAULT_SYSTEM_NAMESPACE_NAME + "_" + testName);
4242

4343
return properties;

core/src/integration-test/java/com/scalar/db/storage/objectstorage/SingleCrudOperationTransactionAdminIntegrationTestWithObjectStorage.java

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.scalar.db.storage.objectstorage;
22

3+
import com.scalar.db.config.DatabaseConfig;
34
import com.scalar.db.transaction.singlecrudoperation.SingleCrudOperationTransactionAdminIntegrationTestBase;
45
import java.util.Properties;
56
import org.junit.jupiter.api.Disabled;
@@ -12,6 +13,12 @@ protected Properties getProps(String testName) {
1213
return ObjectStorageEnv.getProperties(testName);
1314
}
1415

16+
@Override
17+
protected String getSystemNamespaceName(Properties properties) {
18+
return ObjectStorageUtils.getObjectStorageConfig(new DatabaseConfig(properties))
19+
.getMetadataNamespace();
20+
}
21+
1522
@Override
1623
@Disabled("Temporarily disabled because it includes DML operations")
1724
public void truncateTable_ShouldTruncateProperly() {}
@@ -124,9 +131,4 @@ public void renameTable_ForExistingTableWithIndexes_ShouldRenameTableAndIndexesC
124131
@Override
125132
@Disabled("Object Storage does not support renaming tables")
126133
public void renameTable_IfOnlyOneTableExists_ShouldRenameTableCorrectly() {}
127-
128-
@Override
129-
@Disabled("The ScalarDB environment does not need to be upgraded with Object Storage")
130-
public void
131-
upgrade_WhenMetadataTableExistsButNotNamespacesTable_ShouldCreateNamespacesTableAndImportExistingNamespaces() {}
132134
}

0 commit comments

Comments
 (0)