abdullah alamoudi has uploaded a new change for review. https://asterix-gerrit.ics.uci.edu/1937
Change subject: [ASTERIXDB-2036] Make MetadataProvider Config final ...................................................................... [ASTERIXDB-2036] Make MetadataProvider Config final - user model changes: no - storage format changes: no - interface changes: no details: - Make config map final to avoid NullPointerExceptions Change-Id: I25ed6433a4e1a267deeedbf22d09c119704e8d7d --- M asterixdb/asterix-app/src/main/java/org/apache/asterix/app/active/ActiveEntityEventsListener.java M asterixdb/asterix-app/src/main/java/org/apache/asterix/app/translator/QueryTranslator.java M asterixdb/asterix-app/src/test/java/org/apache/asterix/test/active/ActiveEventsListenerTest.java M asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/MetadataProvider.java 4 files changed, 4 insertions(+), 15 deletions(-) git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/37/1937/1 diff --git a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/active/ActiveEntityEventsListener.java b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/active/ActiveEntityEventsListener.java index acb1614..e30272c 100644 --- a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/active/ActiveEntityEventsListener.java +++ b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/active/ActiveEntityEventsListener.java @@ -21,7 +21,6 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.EnumSet; -import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.concurrent.ExecutorService; @@ -112,7 +111,6 @@ this.appCtx = appCtx; this.clusterStateManager = appCtx.getClusterStateManager(); this.metadataProvider = new MetadataProvider(appCtx, null); - metadataProvider.setConfig(new HashMap<>()); this.hcc = hcc; this.entityId = entityId; this.datasets = datasets; diff --git a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/translator/QueryTranslator.java b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/translator/QueryTranslator.java index 027fbbe..ab154d7 100644 --- a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/translator/QueryTranslator.java +++ b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/translator/QueryTranslator.java @@ -261,7 +261,6 @@ FileSplit outputFile = null; IAWriterFactory writerFactory = PrinterBasedWriterFactory.INSTANCE; IResultSerializerFactoryProvider resultSerializerFactoryProvider = ResultSerializerFactoryProvider.INSTANCE; - Map<String, String> config = new HashMap<>(); /* Since the system runs a large number of threads, when HTTP requests don't return, it becomes difficult to * find the thread running the request to determine where it has stopped. * Setting the thread name helps make that easier @@ -279,10 +278,9 @@ metadataProvider.setWriterFactory(writerFactory); metadataProvider.setResultSerializerFactoryProvider(resultSerializerFactoryProvider); metadataProvider.setOutputFile(outputFile); - metadataProvider.setConfig(config); switch (stmt.getKind()) { case Statement.Kind.SET: - handleSetStatement(stmt, config); + handleSetStatement(stmt, metadataProvider.getConfig()); break; case Statement.Kind.DATAVERSE_DECL: activeDataverse = handleUseDataverseStatement(metadataProvider, stmt); diff --git a/asterixdb/asterix-app/src/test/java/org/apache/asterix/test/active/ActiveEventsListenerTest.java b/asterixdb/asterix-app/src/test/java/org/apache/asterix/test/active/ActiveEventsListenerTest.java index 0a7b444..a256bcf 100644 --- a/asterixdb/asterix-app/src/test/java/org/apache/asterix/test/active/ActiveEventsListenerTest.java +++ b/asterixdb/asterix-app/src/test/java/org/apache/asterix/test/active/ActiveEventsListenerTest.java @@ -21,7 +21,6 @@ import java.util.ArrayList; import java.util.Collections; import java.util.EnumSet; -import java.util.HashMap; import java.util.List; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; @@ -117,7 +116,6 @@ Mockito.when(ccService.getExecutor()).thenReturn(executor); locations = new AlgebricksAbsolutePartitionConstraint(nodes); metadataProvider = new MetadataProvider(appCtx, null); - metadataProvider.setConfig(new HashMap<>()); clusterController = new TestClusterControllerActor("CC", handler, allDatasets); nodeControllers = new TestNodeControllerActor[2]; nodeControllers[0] = new TestNodeControllerActor(nodes[0], clusterController); @@ -133,7 +131,6 @@ TestUserActor newUser(String name, CcApplicationContext appCtx) { MetadataProvider actorMdProvider = new MetadataProvider(appCtx, null); - actorMdProvider.setConfig(new HashMap<>()); return new TestUserActor("User: " + name, actorMdProvider, clusterController); } @@ -1387,8 +1384,6 @@ Mockito.when(ccService.getExecutor()).thenReturn(executor); Mockito.when(ccAppCtx.getStorageComponentProvider()).thenReturn(componentProvider); AlgebricksAbsolutePartitionConstraint locations = new AlgebricksAbsolutePartitionConstraint(nodes); - MetadataProvider metadataProvider = new MetadataProvider(ccAppCtx, null); - metadataProvider.setConfig(new HashMap<>()); additionalListeners[i] = listener = new TestEventsListener(clusterController, nodeControllers, jobIdFactory, entityId, new ArrayList<>(allDatasets), statementExecutor, ccAppCtx, hcc, locations, new InfiniteRetryPolicyFactory()); diff --git a/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/MetadataProvider.java b/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/MetadataProvider.java index 7d28a06..8971a90 100644 --- a/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/MetadataProvider.java +++ b/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/MetadataProvider.java @@ -21,6 +21,7 @@ import java.io.File; import java.io.IOException; import java.util.ArrayList; +import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; @@ -143,10 +144,10 @@ private final StorageProperties storageProperties; private final Dataverse defaultDataverse; private final LockList locks; + private final Map<String, String> config; private MetadataTransactionContext mdTxnCtx; private boolean isWriteTransaction; - private Map<String, String> config; private IAWriterFactory writerFactory; private FileSplit outputFile; private boolean asyncResults; @@ -163,14 +164,11 @@ this.storageComponentProvider = appCtx.getStorageComponentProvider(); storageProperties = appCtx.getStorageProperties(); locks = new LockList(); + config = new HashMap<>(); } public String getPropertyValue(String propertyName) { return config.get(propertyName); - } - - public void setConfig(Map<String, String> config) { - this.config = config; } public void disableBlockingOperator() { -- To view, visit https://asterix-gerrit.ics.uci.edu/1937 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I25ed6433a4e1a267deeedbf22d09c119704e8d7d Gerrit-PatchSet: 1 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: abdullah alamoudi <bamou...@gmail.com>