This is an automated email from the ASF dual-hosted git repository.

mblow pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/asterixdb.git


The following commit(s) were added to refs/heads/master by this push:
     new f4b33bed12 [NO ISSUE][*DB] Minor cleanup / refactoring
f4b33bed12 is described below

commit f4b33bed12efba5eb7518cdb7cf41cf810f198fa
Author: Michael Blow <[email protected]>
AuthorDate: Thu Apr 11 19:44:46 2024 -0400

    [NO ISSUE][*DB] Minor cleanup / refactoring
    
    Change-Id: I4b314e50314c845dd502c3747d469d866671e4c7
    Reviewed-on: https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/18233
    Integration-Tests: Jenkins <[email protected]>
    Reviewed-by: Ali Alsuliman <[email protected]>
    Tested-by: Michael Blow <[email protected]>
---
 .../apache/asterix/app/cc/CCExtensionManager.java  |  9 ++++----
 .../apache/asterix/app/nc/NCExtensionManager.java  | 27 ++++++++++------------
 .../asterix/app/translator/QueryTranslator.java    | 11 +++++----
 .../asterix/hyracks/bootstrap/CCApplication.java   |  2 +-
 .../asterix/hyracks/bootstrap/NCApplication.java   |  4 ++--
 .../org/apache/asterix/utils/ExtensionUtil.java    | 16 ++++++-------
 .../org/apache/asterix/common/api/IExtension.java  |  4 +++-
 .../asterix/common/metadata/IMetadataLockUtil.java |  5 ++--
 .../external/util/ExternalDataConstants.java       |  2 +-
 .../asterix/external/util/ExternalDataUtils.java   |  6 ++---
 .../asterix/metadata/api/IMetadataExtension.java   |  3 ++-
 .../metadata/declared/MetadataProvider.java        |  2 +-
 .../asterix/metadata/utils/MetadataLockUtil.java   |  5 ++--
 .../apache/hyracks/control/nc/io/IOManager.java    |  2 +-
 14 files changed, 51 insertions(+), 47 deletions(-)

diff --git 
a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/cc/CCExtensionManager.java
 
b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/cc/CCExtensionManager.java
index f2c282bef0..397836bdb1 100644
--- 
a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/cc/CCExtensionManager.java
+++ 
b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/cc/CCExtensionManager.java
@@ -68,15 +68,16 @@ public class CCExtensionManager implements 
ICCExtensionManager {
     /**
      * Initialize {@link org.apache.asterix.app.cc.CCExtensionManager} from 
configuration
      *
-     * @param list
-     *         a list of extensions
+     * @param list              a list of extensions
      * @param namespaceResolver
+     * @param ccServiceCtx
      * @throws InstantiationException
      * @throws IllegalAccessException
      * @throws ClassNotFoundException
      * @throws HyracksDataException
      */
-    public CCExtensionManager(List<AsterixExtension> list, INamespaceResolver 
namespaceResolver)
+    public CCExtensionManager(List<AsterixExtension> list, INamespaceResolver 
namespaceResolver,
+            ICCServiceContext ccServiceCtx)
             throws InstantiationException, IllegalAccessException, 
ClassNotFoundException, HyracksDataException {
         Pair<ExtensionId, ILangCompilationProvider> sqlppcp = null;
         Pair<ExtensionId, IFunctionManager> fm = null;
@@ -87,7 +88,7 @@ public class CCExtensionManager implements 
ICCExtensionManager {
             Set<ExtensionId> extensionIds = new HashSet<>();
             for (AsterixExtension extensionConf : list) {
                 IExtension extension = (IExtension) 
Class.forName(extensionConf.getClassName()).newInstance();
-                extension.configure(extensionConf.getArgs());
+                extension.configure(extensionConf.getArgs(), ccServiceCtx);
                 if (!extensionIds.add(extension.getId())) {
                     throw new 
RuntimeDataException(ErrorCode.EXTENSION_ID_CONFLICT, extension.getId());
                 }
diff --git 
a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/NCExtensionManager.java
 
b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/NCExtensionManager.java
index 339b8d7573..37c7bad862 100644
--- 
a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/NCExtensionManager.java
+++ 
b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/NCExtensionManager.java
@@ -53,18 +53,15 @@ public class NCExtensionManager implements 
INCExtensionManager {
     /**
      * Initialize {@code CCExtensionManager} from configuration
      *
-     * @param list
-     *         list of user configured extensions
-     * @throws InstantiationException
-     *         if an extension couldn't be created
-     * @throws IllegalAccessException
-     *         if user doesn't have enough acess priveleges
-     * @throws ClassNotFoundException
-     *         if a class was not found
-     * @throws HyracksDataException
-     *         if two extensions conlict with each other
+     * @param list         list of user configured extensions
+     * @param ncServiceCtx
+     * @throws InstantiationException if an extension couldn't be created
+     * @throws IllegalAccessException if user doesn't have enough acess 
priveleges
+     * @throws ClassNotFoundException if a class was not found
+     * @throws HyracksDataException   if two extensions conlict with each other
      */
-    public NCExtensionManager(List<AsterixExtension> list, boolean 
usingDatabase, INamespaceResolver namespaceResolver)
+    public NCExtensionManager(List<AsterixExtension> list, boolean 
usingDatabase, INamespaceResolver namespaceResolver,
+            INCServiceContext ncServiceCtx)
             throws InstantiationException, IllegalAccessException, 
ClassNotFoundException, HyracksDataException {
         Pair<ExtensionId, ILangCompilationProvider> sqlppcp = null;
         IMetadataExtension tupleTranslatorProviderExtension = null;
@@ -73,7 +70,7 @@ public class NCExtensionManager implements 
INCExtensionManager {
         if (list != null) {
             for (AsterixExtension extensionConf : list) {
                 IExtension extension = (IExtension) 
Class.forName(extensionConf.getClassName()).newInstance();
-                extension.configure(extensionConf.getArgs());
+                extension.configure(extensionConf.getArgs(), ncServiceCtx);
                 switch (extension.getExtensionKind()) {
                     case LANG:
                         ILangExtension le = (ILangExtension) extension;
@@ -85,7 +82,7 @@ public class NCExtensionManager implements 
INCExtensionManager {
                         mdExtensions.add(mde);
                         //TODO(DB) clean up
                         tupleTranslatorProviderExtension = 
ExtensionUtil.extendTupleTranslatorProvider(
-                                tupleTranslatorProviderExtension, mde, 
mdIndexesProvider);
+                                tupleTranslatorProviderExtension, mde, 
mdIndexesProvider, ncServiceCtx);
                         break;
                     default:
                         break;
@@ -99,8 +96,8 @@ public class NCExtensionManager implements 
INCExtensionManager {
             this.tupleTranslatorProvider = new 
MetadataTupleTranslatorProvider(metadataIndexesProvider);
         } else {
             this.metadataIndexesProvider = 
tupleTranslatorProviderExtension.getMetadataIndexesProvider(usingDatabase);
-            this.tupleTranslatorProvider =
-                    
tupleTranslatorProviderExtension.getMetadataTupleTranslatorProvider(metadataIndexesProvider);
+            this.tupleTranslatorProvider = tupleTranslatorProviderExtension
+                    
.getMetadataTupleTranslatorProvider(metadataIndexesProvider, ncServiceCtx);
         }
     }
 
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 e72ab54c8a..100e524cc1 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
@@ -830,7 +830,7 @@ public class QueryTranslator extends AbstractLangTranslator 
implements IStatemen
         lockUtil.createDatasetBegin(lockManager, metadataProvider.getLocks(), 
databaseName, dataverseName, datasetName,
                 itemTypeDatabase, itemTypeDataverseName, itemTypeName, 
itemTypeAnonymous, metaItemTypeDatabase,
                 metaItemTypeDataverseName, metaItemTypeName, 
metaItemTypeAnonymous, nodegroupName, compactionPolicy,
-                defaultCompactionPolicy, dd.getDatasetType(), 
dd.getDatasetDetailsDecl());
+                defaultCompactionPolicy, dd.getDatasetType(), 
dd.getDatasetDetailsDecl(), metadataProvider);
         try {
             doCreateDatasetStatement(metadataProvider, dd, 
stmtActiveNamespace, datasetName, itemTypeNamespace,
                     itemTypeExpr, itemTypeName, metaItemTypeExpr, 
metaItemTypeNamespace, metaItemTypeName, hcc,
@@ -998,7 +998,7 @@ public class QueryTranslator extends AbstractLangTranslator 
implements IStatemen
                     ExternalDataUtils.validate(properties);
                     ExternalDataUtils.validateType(properties, (ARecordType) 
itemType);
                     validateExternalDatasetProperties(externalDetails, 
properties, dd.getSourceLocation(), mdTxnCtx,
-                            appCtx);
+                            appCtx, metadataProvider);
                     datasetDetails = new 
ExternalDatasetDetails(externalDetails.getAdapter(), properties, new Date(),
                             TransactionState.COMMIT);
                     break;
@@ -2763,7 +2763,7 @@ public class QueryTranslator extends 
AbstractLangTranslator implements IStatemen
         }
         lockUtil.createDatasetBegin(lockManager, metadataProvider.getLocks(), 
databaseName, dataverseName, viewName,
                 itemTypeDatabaseName, viewItemTypeDataverseName, 
viewItemTypeName, viewItemTypeAnonymous, null, null,
-                null, false, null, null, true, DatasetType.VIEW, null);
+                null, false, null, null, true, DatasetType.VIEW, null, 
metadataProvider);
         try {
             doCreateView(metadataProvider, cvs, databaseName, dataverseName, 
viewName, itemTypeDatabaseName,
                     viewItemTypeDataverseName, viewItemTypeName, stmtRewriter, 
requestParameters);
@@ -3982,7 +3982,7 @@ public class QueryTranslator extends 
AbstractLangTranslator implements IStatemen
             ExternalDataUtils.normalize(properties);
             ExternalDataUtils.validate(properties);
             validateExternalDatasetProperties(externalDetails, properties, 
copyStmt.getSourceLocation(), mdTxnCtx,
-                    appCtx);
+                    appCtx, metadataProvider);
             CompiledCopyFromFileStatement cls = new 
CompiledCopyFromFileStatement(databaseName, dataverseName,
                     copyStmt.getDatasetName(), itemType, 
externalDetails.getAdapter(), properties);
             cls.setSourceLocation(stmt.getSourceLocation());
@@ -5664,7 +5664,8 @@ public class QueryTranslator extends 
AbstractLangTranslator implements IStatemen
 
     protected void validateExternalDatasetProperties(ExternalDetailsDecl 
externalDetails,
             Map<String, String> properties, SourceLocation srcLoc, 
MetadataTransactionContext mdTxnCtx,
-            IApplicationContext appCtx) throws AlgebricksException, 
HyracksDataException {
+            IApplicationContext appCtx, MetadataProvider metadataProvider)
+            throws AlgebricksException, HyracksDataException {
         // Validate adapter specific properties
         String adapter = externalDetails.getAdapter();
         Map<String, String> details = new HashMap<>(properties);
diff --git 
a/asterixdb/asterix-app/src/main/java/org/apache/asterix/hyracks/bootstrap/CCApplication.java
 
b/asterixdb/asterix-app/src/main/java/org/apache/asterix/hyracks/bootstrap/CCApplication.java
index 7d3400be6e..64c16e908b 100644
--- 
a/asterixdb/asterix-app/src/main/java/org/apache/asterix/hyracks/bootstrap/CCApplication.java
+++ 
b/asterixdb/asterix-app/src/main/java/org/apache/asterix/hyracks/bootstrap/CCApplication.java
@@ -176,7 +176,7 @@ public class CCApplication extends BaseCCApplication {
         boolean useDatabaseResolution = cloudDeployment && 
isDbResolutionEnabled;
         INamespaceResolver namespaceResolver = new 
NamespaceResolver(useDatabaseResolution);
         INamespacePathResolver namespacePathResolver = new 
NamespacePathResolver(useDatabaseResolution);
-        ccExtensionManager = new CCExtensionManager(new 
ArrayList<>(getExtensions()), namespaceResolver);
+        ccExtensionManager = new CCExtensionManager(new 
ArrayList<>(getExtensions()), namespaceResolver, ccServiceCtx);
         IGlobalRecoveryManager globalRecoveryManager = 
createGlobalRecoveryManager();
         final CCConfig ccConfig = controllerService.getCCConfig();
 
diff --git 
a/asterixdb/asterix-app/src/main/java/org/apache/asterix/hyracks/bootstrap/NCApplication.java
 
b/asterixdb/asterix-app/src/main/java/org/apache/asterix/hyracks/bootstrap/NCApplication.java
index 4acc0396d3..fc22f45ab2 100644
--- 
a/asterixdb/asterix-app/src/main/java/org/apache/asterix/hyracks/bootstrap/NCApplication.java
+++ 
b/asterixdb/asterix-app/src/main/java/org/apache/asterix/hyracks/bootstrap/NCApplication.java
@@ -166,8 +166,8 @@ public class NCApplication extends BaseNCApplication {
         boolean useDatabaseResolution = cloudDeployment && 
isDbResolutionEnabled;
         NamespaceResolver namespaceResolver = new 
NamespaceResolver(useDatabaseResolution);
         NamespacePathResolver namespacePathResolver = new 
NamespacePathResolver(useDatabaseResolution);
-        ncExtensionManager =
-                new NCExtensionManager(new ArrayList<>(getExtensions()), 
cloudDeployment, namespaceResolver);
+        ncExtensionManager = new NCExtensionManager(new 
ArrayList<>(getExtensions()), cloudDeployment,
+                namespaceResolver, ncServiceCtx);
         runtimeContext = createNCApplicationContext(ncServiceCtx, 
ncExtensionManager, getPropertiesFactory(),
                 namespaceResolver, namespacePathResolver);
         MetadataProperties metadataProperties = 
runtimeContext.getMetadataProperties();
diff --git 
a/asterixdb/asterix-app/src/main/java/org/apache/asterix/utils/ExtensionUtil.java
 
b/asterixdb/asterix-app/src/main/java/org/apache/asterix/utils/ExtensionUtil.java
index 4374f0140b..406a148929 100644
--- 
a/asterixdb/asterix-app/src/main/java/org/apache/asterix/utils/ExtensionUtil.java
+++ 
b/asterixdb/asterix-app/src/main/java/org/apache/asterix/utils/ExtensionUtil.java
@@ -31,6 +31,7 @@ import 
org.apache.asterix.metadata.bootstrap.MetadataIndexesProvider;
 import org.apache.asterix.om.functions.IFunctionManager;
 import org.apache.asterix.translator.IStatementExecutorFactory;
 import org.apache.hyracks.algebricks.common.utils.Pair;
+import org.apache.hyracks.api.application.INCServiceContext;
 
 /**
  * Provide util methods dealing with extensions
@@ -108,22 +109,21 @@ public class ExtensionUtil {
     /**
      * Validates no extension conflict and extends tuple translator provider
      *
-     * @param metadataExtension
-     *         place holder for tuple translator provider extension
-     * @param mde
-     *         user defined metadata extension
+     * @param metadataExtension       place holder for tuple translator 
provider extension
+     * @param mde                     user defined metadata extension
      * @param metadataIndexesProvider
+     * @param ncServiceCtx
      * @return the metadata extension if the extension defines a metadata 
tuple translator, null otherwise
-     * @throws RuntimeDataException
-     *         if an extension conflict was detected
+     * @throws RuntimeDataException if an extension conflict was detected
      */
     public static IMetadataExtension 
extendTupleTranslatorProvider(IMetadataExtension metadataExtension,
-            IMetadataExtension mde, MetadataIndexesProvider 
metadataIndexesProvider) throws RuntimeDataException {
+            IMetadataExtension mde, MetadataIndexesProvider 
metadataIndexesProvider, INCServiceContext ncServiceCtx)
+            throws RuntimeDataException {
         if (metadataExtension != null) {
             throw new 
RuntimeDataException(ErrorCode.EXTENSION_COMPONENT_CONFLICT, 
metadataExtension.getId(),
                     mde.getId(), IMetadataExtension.class.getSimpleName());
         }
-        return mde.getMetadataTupleTranslatorProvider(metadataIndexesProvider) 
== null ? null : mde;
+        return mde.getMetadataTupleTranslatorProvider(metadataIndexesProvider, 
ncServiceCtx) == null ? null : mde;
     }
 
     /**
diff --git 
a/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/api/IExtension.java
 
b/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/api/IExtension.java
index 7e9879a1f2..8f342a45be 100644
--- 
a/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/api/IExtension.java
+++ 
b/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/api/IExtension.java
@@ -21,6 +21,7 @@ package org.apache.asterix.common.api;
 import java.util.List;
 
 import org.apache.hyracks.algebricks.common.utils.Pair;
+import org.apache.hyracks.api.application.IServiceContext;
 
 /**
  * an interface for an extension that provides a mechanism to override system 
behaviour
@@ -57,8 +58,9 @@ public interface IExtension {
      * This method is called on system boot
      *
      * @param args
+     * @param serviceCtx
      */
-    void configure(List<Pair<String, String>> args);
+    void configure(List<Pair<String, String>> args, IServiceContext 
serviceCtx);
 
     /**
      * @return The extension point implemented by this extension
diff --git 
a/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/metadata/IMetadataLockUtil.java
 
b/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/metadata/IMetadataLockUtil.java
index 795e40f7e7..4cf938e1ff 100644
--- 
a/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/metadata/IMetadataLockUtil.java
+++ 
b/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/metadata/IMetadataLockUtil.java
@@ -22,6 +22,7 @@ package org.apache.asterix.common.metadata;
 import org.apache.asterix.common.api.IMetadataLockManager;
 import org.apache.asterix.common.config.DatasetConfig;
 import org.apache.hyracks.algebricks.common.exceptions.AlgebricksException;
+import org.apache.hyracks.algebricks.core.algebra.metadata.IMetadataProvider;
 
 import com.google.common.collect.ImmutableList;
 
@@ -50,8 +51,8 @@ public interface IMetadataLockUtil {
             DataverseName itemTypeDataverseName, String itemTypeName, boolean 
itemTypeAnonymous,
             String metaItemTypeDatabase, DataverseName 
metaItemTypeDataverseName, String metaItemTypeName,
             boolean metaItemTypeAnonymous, String nodeGroupName, String 
compactionPolicyName,
-            boolean isDefaultCompactionPolicy, DatasetConfig.DatasetType 
datasetType, Object datasetDetails)
-            throws AlgebricksException;
+            boolean isDefaultCompactionPolicy, DatasetConfig.DatasetType 
datasetType, Object datasetDetails,
+            IMetadataProvider metadataProvider) throws AlgebricksException;
 
     void dropDatasetBegin(IMetadataLockManager lockManager, LockList locks, 
String database,
             DataverseName dataverseName, String datasetName) throws 
AlgebricksException;
diff --git 
a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/util/ExternalDataConstants.java
 
b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/util/ExternalDataConstants.java
index d56924faf6..fcdddd8394 100644
--- 
a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/util/ExternalDataConstants.java
+++ 
b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/util/ExternalDataConstants.java
@@ -39,7 +39,7 @@ public class ExternalDataConstants {
     // used to specify the stream factory for an adapter that has a stream 
data source
     public static final String KEY_STREAM = "stream";
     //TODO(DB): check adapter configuration
-    public static final String KEY_DATABASE_DATAVERSE = "dataset-database";
+    public static final String KEY_DATASET_DATABASE = "dataset-database";
     // used to specify the dataverse of the adapter
     public static final String KEY_DATASET_DATAVERSE = "dataset-dataverse";
     // used to specify the socket addresses when reading data from sockets
diff --git 
a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/util/ExternalDataUtils.java
 
b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/util/ExternalDataUtils.java
index b02122d719..3298759bf3 100644
--- 
a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/util/ExternalDataUtils.java
+++ 
b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/util/ExternalDataUtils.java
@@ -212,7 +212,7 @@ public class ExternalDataUtils {
     }
 
     public static String getDatasetDatabase(Map<String, String> configuration) 
throws AsterixException {
-        return configuration.get(ExternalDataConstants.KEY_DATABASE_DATAVERSE);
+        return configuration.get(ExternalDataConstants.KEY_DATASET_DATABASE);
     }
 
     public static DataverseName getDatasetDataverse(Map<String, String> 
configuration) throws AsterixException {
@@ -353,8 +353,8 @@ public class ExternalDataUtils {
         if (!configuration.containsKey(ExternalDataConstants.KEY_IS_FEED)) {
             configuration.put(ExternalDataConstants.KEY_IS_FEED, 
ExternalDataConstants.TRUE);
         }
-        
configuration.computeIfAbsent(ExternalDataConstants.KEY_LOG_INGESTION_EVENTS, k 
-> ExternalDataConstants.TRUE);
-        configuration.put(ExternalDataConstants.KEY_DATABASE_DATAVERSE, 
databaseName);
+        
configuration.putIfAbsent(ExternalDataConstants.KEY_LOG_INGESTION_EVENTS, 
ExternalDataConstants.TRUE);
+        configuration.put(ExternalDataConstants.KEY_DATASET_DATABASE, 
databaseName);
         configuration.put(ExternalDataConstants.KEY_DATASET_DATAVERSE, 
dataverseName.getCanonicalForm());
         configuration.put(ExternalDataConstants.KEY_FEED_NAME, feedName);
     }
diff --git 
a/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/api/IMetadataExtension.java
 
b/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/api/IMetadataExtension.java
index d9037ccfb0..3f64ff7a9a 100644
--- 
a/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/api/IMetadataExtension.java
+++ 
b/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/api/IMetadataExtension.java
@@ -46,7 +46,8 @@ public interface IMetadataExtension extends IExtension {
      * @return The tuple translator provider that must be used by the {@code 
IMetadataNode } to read and write core
      *         {@code IMetadataEntity} objects
      */
-    MetadataTupleTranslatorProvider 
getMetadataTupleTranslatorProvider(MetadataIndexesProvider 
metadataIndexesProvider);
+    MetadataTupleTranslatorProvider 
getMetadataTupleTranslatorProvider(MetadataIndexesProvider 
metadataIndexesProvider,
+            INCServiceContext ncServiceCtx);
 
     MetadataIndexesProvider getMetadataIndexesProvider(boolean usingDatabase);
 
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 e0f44ea0ef..0a73ec9518 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
@@ -975,7 +975,7 @@ public class MetadataProvider implements 
IMetadataProvider<DataSourceId, String>
             Map<String, String> configuration, ARecordType itemType, 
IWarningCollector warningCollector,
             IExternalFilterEvaluatorFactory filterEvaluatorFactory) throws 
AlgebricksException {
         try {
-            configuration.put(ExternalDataConstants.KEY_DATABASE_DATAVERSE, 
dataset.getDatabaseName());
+            configuration.put(ExternalDataConstants.KEY_DATASET_DATABASE, 
dataset.getDatabaseName());
             configuration.put(ExternalDataConstants.KEY_DATASET_DATAVERSE,
                     dataset.getDataverseName().getCanonicalForm());
             return 
AdapterFactoryProvider.getAdapterFactory(getApplicationContext().getServiceContext(),
 adapterName,
diff --git 
a/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/utils/MetadataLockUtil.java
 
b/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/utils/MetadataLockUtil.java
index 6f44f4cb2a..0b649c4fe9 100644
--- 
a/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/utils/MetadataLockUtil.java
+++ 
b/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/utils/MetadataLockUtil.java
@@ -29,6 +29,7 @@ import org.apache.asterix.common.metadata.DataverseName;
 import org.apache.asterix.common.metadata.IMetadataLockUtil;
 import org.apache.asterix.common.metadata.LockList;
 import org.apache.hyracks.algebricks.common.exceptions.AlgebricksException;
+import org.apache.hyracks.algebricks.core.algebra.metadata.IMetadataProvider;
 
 import com.google.common.base.Strings;
 import com.google.common.collect.ImmutableList;
@@ -68,8 +69,8 @@ public class MetadataLockUtil implements IMetadataLockUtil {
             DataverseName itemTypeDataverseName, String itemTypeName, boolean 
itemTypeAnonymous,
             String metaItemTypeDatabase, DataverseName 
metaItemTypeDataverseName, String metaItemTypeName,
             boolean metaItemTypeAnonymous, String nodeGroupName, String 
compactionPolicyName,
-            boolean isDefaultCompactionPolicy, DatasetConfig.DatasetType 
datasetType, Object datasetDetails)
-            throws AlgebricksException {
+            boolean isDefaultCompactionPolicy, DatasetConfig.DatasetType 
datasetType, Object datasetDetails,
+            IMetadataProvider metadataProvider) throws AlgebricksException {
         createDatasetBeginPre(lockMgr, locks, database, dataverseName, 
itemTypeDatabase, itemTypeDataverseName,
                 itemTypeName, itemTypeAnonymous, metaItemTypeDatabase, 
metaItemTypeDataverseName, metaItemTypeName,
                 metaItemTypeAnonymous, nodeGroupName, compactionPolicyName, 
isDefaultCompactionPolicy);
diff --git 
a/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/io/IOManager.java
 
b/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/io/IOManager.java
index 25a67ff0e7..b9f277abf3 100644
--- 
a/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/io/IOManager.java
+++ 
b/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/io/IOManager.java
@@ -539,7 +539,7 @@ public class IOManager implements IIOManager {
             if (file.exists()) {
                 delete(fileRef);
             } else {
-                FileUtils.createParentDirectories(file);
+                file.getParentFile().mkdirs();
             }
             FileUtil.writeAndForce(file.toPath(), bytes);
         } catch (IOException e) {

Reply via email to