Michael Blow has submitted this change and it was merged. Change subject: [NO ISSUE] Remove Pregelix ......................................................................
[NO ISSUE] Remove Pregelix Change-Id: I7d5f789ee6c3ca3ffa41edcc36fa7f494b04924b Reviewed-on: https://asterix-gerrit.ics.uci.edu/2381 Sonar-Qube: Jenkins <jenk...@fulliautomatix.ics.uci.edu> Reviewed-by: Murtadha Hubail <mhub...@apache.org> Integration-Tests: Murtadha Hubail <mhub...@apache.org> Tested-by: Murtadha Hubail <mhub...@apache.org> --- M asterixdb/asterix-app/src/main/java/org/apache/asterix/app/translator/QueryTranslator.java D asterixdb/asterix-app/src/test/java/org/apache/asterix/aql/translator/QueryTranslatorTest.java D asterixdb/asterix-app/src/test/resources/runtimets/queries/graph/pregel-q01/pregel-q01.1.ddl.aql D asterixdb/asterix-app/src/test/resources/runtimets/queries/graph/pregel-q01/pregel-q01.2.update.aql D asterixdb/asterix-app/src/test/resources/runtimets/queries/graph/pregel-q01/pregel-q01.3.query.aql D asterixdb/asterix-app/src/test/resources/runtimets/queries/graph/pregel-q02/pregel-q02.1.ddl.aql D asterixdb/asterix-app/src/test/resources/runtimets/queries/graph/pregel-q02/pregel-q02.2.update.aql D asterixdb/asterix-app/src/test/resources/runtimets/queries/graph/pregel-q02/pregel-q02.3.query.aql D asterixdb/asterix-app/src/test/resources/runtimets/queries/graph/pregel-q03/pregel-q03.1.ddl.aql D asterixdb/asterix-app/src/test/resources/runtimets/queries/graph/pregel-q03/pregel-q03.2.update.aql D asterixdb/asterix-app/src/test/resources/runtimets/queries/graph/pregel-q03/pregel-q03.3.query.aql D asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/graph/pregel-q01/pregel-q01.1.ddl.sqlpp D asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/graph/pregel-q01/pregel-q01.2.update.sqlpp D asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/graph/pregel-q01/pregel-q01.3.query.sqlpp D asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/graph/pregel-q02/pregel-q02.1.ddl.sqlpp D asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/graph/pregel-q02/pregel-q02.2.update.sqlpp D asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/graph/pregel-q02/pregel-q02.3.query.sqlpp D asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/graph/pregel-q03/pregel-q03.1.ddl.sqlpp D asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/graph/pregel-q03/pregel-q03.2.update.sqlpp D asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/graph/pregel-q03/pregel-q03.3.query.sqlpp D asterixdb/asterix-app/src/test/resources/runtimets/results/graph/pregel-q01/pregel-q01.1.adm D asterixdb/asterix-app/src/test/resources/runtimets/results/graph/pregel-q02/pregel-q02.1.adm D asterixdb/asterix-app/src/test/resources/runtimets/results/graph/pregel-q03/pregel-q03.1.adm M asterixdb/asterix-app/src/test/resources/runtimets/testsuite.xml M asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml M asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp_parser.xml M asterixdb/asterix-common/src/main/java/org/apache/asterix/common/config/CompilerProperties.java M asterixdb/asterix-lang-aql/src/main/javacc/AQL.jj M asterixdb/asterix-lang-common/src/main/java/org/apache/asterix/lang/common/base/Statement.java D asterixdb/asterix-lang-common/src/main/java/org/apache/asterix/lang/common/statement/RunStatement.java M asterixdb/asterix-lang-sqlpp/src/main/javacc/SQLPP.jj M asterixdb/asterix-server/pom.xml D asterixdb/asterix-server/src/test/resources/integrationts/asterix-configuration.xml M asterixdb/pom.xml M hyracks-fullstack/pom.xml 35 files changed, 38 insertions(+), 1,569 deletions(-) Approvals: Jenkins: No violations found Murtadha Hubail: Looks good to me, approved; Verified; Verified 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 335899c..51adb76 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 @@ -18,12 +18,9 @@ */ package org.apache.asterix.app.translator; -import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; -import java.io.IOException; import java.io.InputStream; -import java.io.InputStreamReader; import java.rmi.RemoteException; import java.util.ArrayList; import java.util.Collection; @@ -36,7 +33,6 @@ import java.util.LinkedHashSet; import java.util.List; import java.util.Map; -import java.util.Map.Entry; import java.util.Objects; import java.util.Properties; import java.util.Set; @@ -62,7 +58,6 @@ import org.apache.asterix.common.config.DatasetConfig.ExternalFilePendingOp; import org.apache.asterix.common.config.DatasetConfig.IndexType; import org.apache.asterix.common.config.DatasetConfig.TransactionState; -import org.apache.asterix.common.config.ExternalProperties; import org.apache.asterix.common.config.GlobalConfig; import org.apache.asterix.common.dataflow.ICcApplicationContext; import org.apache.asterix.common.exceptions.ACIDException; @@ -84,11 +79,7 @@ import org.apache.asterix.lang.common.base.IRewriterFactory; import org.apache.asterix.lang.common.base.IStatementRewriter; import org.apache.asterix.lang.common.base.Statement; -import org.apache.asterix.lang.common.expression.FieldBinding; import org.apache.asterix.lang.common.expression.IndexedTypeExpression; -import org.apache.asterix.lang.common.expression.LiteralExpr; -import org.apache.asterix.lang.common.expression.RecordConstructor; -import org.apache.asterix.lang.common.literal.StringLiteral; import org.apache.asterix.lang.common.statement.CompactStatement; import org.apache.asterix.lang.common.statement.ConnectFeedStatement; import org.apache.asterix.lang.common.statement.CreateDataverseStatement; @@ -107,7 +98,6 @@ import org.apache.asterix.lang.common.statement.FeedPolicyDropStatement; import org.apache.asterix.lang.common.statement.FunctionDecl; import org.apache.asterix.lang.common.statement.FunctionDropStatement; -import org.apache.asterix.lang.common.statement.IDatasetDetailsDecl; import org.apache.asterix.lang.common.statement.IndexDropStatement; import org.apache.asterix.lang.common.statement.InsertStatement; import org.apache.asterix.lang.common.statement.InternalDetailsDecl; @@ -116,7 +106,6 @@ import org.apache.asterix.lang.common.statement.NodegroupDecl; import org.apache.asterix.lang.common.statement.Query; import org.apache.asterix.lang.common.statement.RefreshExternalDatasetStatement; -import org.apache.asterix.lang.common.statement.RunStatement; import org.apache.asterix.lang.common.statement.SetStatement; import org.apache.asterix.lang.common.statement.StartFeedStatement; import org.apache.asterix.lang.common.statement.StopFeedStatement; @@ -126,7 +115,6 @@ import org.apache.asterix.lang.common.struct.Identifier; import org.apache.asterix.lang.common.struct.VarIdentifier; import org.apache.asterix.lang.common.util.FunctionUtil; -import org.apache.asterix.lang.common.util.MergePolicyUtils; import org.apache.asterix.lang.sqlpp.rewrites.SqlppRewriterFactory; import org.apache.asterix.metadata.IDatasetDetails; import org.apache.asterix.metadata.MetadataManager; @@ -403,9 +391,6 @@ Pair<IAWriterFactory, FileSplit> result = handleWriteStatement(stmt); writerFactory = (result.first != null) ? result.first : writerFactory; outputFile = result.second; - break; - case Statement.Kind.RUN: - handleRunStatement(metadataProvider, stmt, hcc); break; case Statement.Kind.FUNCTION_DECL: // No op @@ -2787,266 +2772,6 @@ } metadataProvider.getLocks().unlock(); } - } - - protected void handleRunStatement(MetadataProvider metadataProvider, Statement stmt, IHyracksClientConnection hcc) - throws CompilationException, Exception { - RunStatement runStmt = (RunStatement) stmt; - switch (runStmt.getSystem()) { - case "pregel": - case "pregelix": - handlePregelixStatement(metadataProvider, runStmt, hcc); - break; - default: - throw new AlgebricksException( - "The system \"" + runStmt.getSystem() + "\" specified in your run statement is not supported."); - } - - } - - protected void handlePregelixStatement(MetadataProvider metadataProvider, Statement stmt, - IHyracksClientConnection hcc) throws Exception { - RunStatement pregelixStmt = (RunStatement) stmt; - boolean bActiveTxn = true; - String dataverseNameFrom = getActiveDataverse(pregelixStmt.getDataverseNameFrom()); - String dataverseNameTo = getActiveDataverse(pregelixStmt.getDataverseNameTo()); - String datasetNameFrom = pregelixStmt.getDatasetNameFrom().getValue(); - String datasetNameTo = pregelixStmt.getDatasetNameTo().getValue(); - String fullyQualifiedDatasetNameTo = - DatasetUtil.isFullyQualifiedName(datasetNameTo) ? datasetNameTo : dataverseNameTo + '.' + datasetNameTo; - MetadataTransactionContext mdTxnCtx = MetadataManager.INSTANCE.beginTransaction(); - metadataProvider.setMetadataTxnContext(mdTxnCtx); - MetadataLockUtil.insertDeleteUpsertBegin(lockManager, metadataProvider.getLocks(), fullyQualifiedDatasetNameTo); - try { - prepareRunExternalRuntime(metadataProvider, hcc, pregelixStmt, dataverseNameFrom, dataverseNameTo, - datasetNameFrom, datasetNameTo, mdTxnCtx); - - String pregelixHomeKey = "PREGELIX_HOME"; - // Finds PREGELIX_HOME in system environment variables. - String pregelixHome = System.getenv(pregelixHomeKey); - // Finds PREGELIX_HOME in Java properties. - if (pregelixHome == null) { - pregelixHome = System.getProperty(pregelixHomeKey); - } - // Finds PREGELIX_HOME in AsterixDB configuration. - if (pregelixHome == null) { - // Since there is a default value for PREGELIX_HOME in CompilerProperties, - // pregelixHome can never be null. - pregelixHome = appCtx.getCompilerProperties().getPregelixHome(); - } - - // Constructs the pregelix command line. - List<String> cmd = constructPregelixCommand(pregelixStmt, dataverseNameFrom, datasetNameFrom, - dataverseNameTo, datasetNameTo); - ProcessBuilder pb = new ProcessBuilder(cmd); - pb.directory(new File(pregelixHome)); - pb.redirectErrorStream(true); - - MetadataManager.INSTANCE.commitTransaction(mdTxnCtx); - bActiveTxn = false; - // Executes the Pregelix command. - int resultState = executeExternalShellProgram(pb); - // Checks the return state of the external Pregelix command. - if (resultState != 0) { - throw new AlgebricksException( - "Something went wrong executing your Pregelix Job. Perhaps the Pregelix cluster " - + "needs to be restarted. " - + "Check the following things: Are the datatypes of Asterix and Pregelix matching? " - + "Is the server configuration correct (node names, buffer sizes, framesize)? " - + "Check the logfiles for more details."); - } - } catch (Exception e) { - if (bActiveTxn) { - abort(e, e, mdTxnCtx); - } - throw e; - } finally { - metadataProvider.getLocks().unlock(); - } - } - - // Prepares to run a program on external runtime. - protected void prepareRunExternalRuntime(MetadataProvider metadataProvider, IHyracksClientConnection hcc, - RunStatement pregelixStmt, String dataverseNameFrom, String dataverseNameTo, String datasetNameFrom, - String datasetNameTo, MetadataTransactionContext mdTxnCtx) throws Exception { - // Validates the source/sink dataverses and datasets. - Dataset fromDataset = metadataProvider.findDataset(dataverseNameFrom, datasetNameFrom); - if (fromDataset == null) { - throw new CompilationException("The source dataset " + datasetNameFrom + " in dataverse " - + dataverseNameFrom + " could not be found for the Run command"); - } - Dataset toDataset = metadataProvider.findDataset(dataverseNameTo, datasetNameTo); - if (toDataset == null) { - throw new CompilationException("The sink dataset " + datasetNameTo + " in dataverse " + dataverseNameTo - + " could not be found for the Run command"); - } - - try { - // Find the primary index of the sink dataset. - Index toIndex = null; - List<Index> indexes = MetadataManager.INSTANCE.getDatasetIndexes(mdTxnCtx, dataverseNameTo, - pregelixStmt.getDatasetNameTo().getValue()); - for (Index index : indexes) { - if (index.isPrimaryIndex()) { - toIndex = index; - break; - } - } - if (toIndex == null) { - throw new AlgebricksException("Tried to access non-existing dataset: " + datasetNameTo); - } - // Cleans up the sink dataset -- Drop and then Create. - DropDatasetStatement dropStmt = - new DropDatasetStatement(new Identifier(dataverseNameTo), pregelixStmt.getDatasetNameTo(), true); - this.handleDatasetDropStatement(metadataProvider, dropStmt, hcc, null); - IDatasetDetailsDecl idd = new InternalDetailsDecl(toIndex.getKeyFieldNames(), - toIndex.getKeyFieldSourceIndicators(), false, null); - RecordConstructor withRecord = getWithRecord(toDataset); - DatasetDecl createToDataset = new DatasetDecl(new Identifier(dataverseNameTo), - pregelixStmt.getDatasetNameTo(), new Identifier(toDataset.getItemTypeDataverseName()), - new Identifier(toDataset.getItemTypeName()), - new Identifier(toDataset.getMetaItemTypeDataverseName()), - new Identifier(toDataset.getMetaItemTypeName()), new Identifier(toDataset.getNodeGroupName()), - toDataset.getHints(), toDataset.getDatasetType(), idd, withRecord, false); - this.handleCreateDatasetStatement(metadataProvider, createToDataset, hcc, null); - } catch (Exception e) { - LOGGER.log(Level.WARN, e.getMessage(), e); - throw new AlgebricksException("Error cleaning the result dataset. This should not happen."); - } - - // Flushes source dataset. - FlushDatasetUtil.flushDataset(hcc, metadataProvider, dataverseNameFrom, datasetNameFrom); - } - - private static RecordConstructor getWithRecord(Dataset dataset) { - String mergePolicy = dataset.getCompactionPolicy(); - Map<String, String> mergePolicyProperties = dataset.getCompactionPolicyProperties(); - if (mergePolicy.equals(GlobalConfig.DEFAULT_COMPACTION_POLICY_NAME) - && mergePolicyProperties.equals(GlobalConfig.DEFAULT_COMPACTION_POLICY_PROPERTIES)) { - return null; - } - List<FieldBinding> mergePolicyRecordFields = new ArrayList<>(mergePolicyProperties == null ? 1 : 2); - mergePolicyRecordFields.add(toFieldBinding(MergePolicyUtils.MERGE_POLICY_NAME_PARAMETER_NAME, mergePolicy)); - if (mergePolicyProperties != null) { - mergePolicyRecordFields.add( - toFieldBinding(MergePolicyUtils.MERGE_POLICY_PARAMETERS_PARAMETER_NAME, mergePolicyProperties)); - } - FieldBinding mergePolicyBinding = toFieldBinding(MergePolicyUtils.MERGE_POLICY_PARAMETER_NAME, - new RecordConstructor(mergePolicyRecordFields)); - List<FieldBinding> withRecordFields = new ArrayList<>(1); - withRecordFields.add(mergePolicyBinding); - return new RecordConstructor(withRecordFields); - } - - private static FieldBinding toFieldBinding(String key, Map<String, String> value) { - List<FieldBinding> fields = new ArrayList<>(value.size()); - for (Entry<String, String> entry : value.entrySet()) { - fields.add(toFieldBinding(entry.getKey(), entry.getValue())); - } - RecordConstructor record = new RecordConstructor(fields); - return toFieldBinding(key, record); - } - - private static FieldBinding toFieldBinding(String key, RecordConstructor value) { - return new FieldBinding(new LiteralExpr(new StringLiteral(key)), value); - } - - private static FieldBinding toFieldBinding(String key, String value) { - return new FieldBinding(new LiteralExpr(new StringLiteral(key)), new LiteralExpr(new StringLiteral(value))); - } - - // Executes external shell commands. - protected int executeExternalShellProgram(ProcessBuilder pb) - throws IOException, AlgebricksException, InterruptedException { - Process process = pb.start(); - try (BufferedReader in = new BufferedReader(new InputStreamReader(process.getInputStream()))) { - String line; - while ((line = in.readLine()) != null) { - LOGGER.info(line); - if (line.contains("Exception") || line.contains("Error")) { - LOGGER.error(line); - if (line.contains("Connection refused")) { - throw new AlgebricksException( - "The connection to your Pregelix cluster was refused. Is it running? " - + "Is the port in the query correct?"); - } - if (line.contains("Could not find or load main class")) { - throw new AlgebricksException("The main class of your Pregelix query was not found. " - + "Is the path to your .jar file correct?"); - } - if (line.contains("ClassNotFoundException")) { - throw new AlgebricksException("The vertex class of your Pregelix query was not found. " - + "Does it exist? Is the spelling correct?"); - } - } - } - process.waitFor(); - } - // Gets the exit value of the program. - return process.exitValue(); - } - - // Constructs a Pregelix command line. - protected List<String> constructPregelixCommand(RunStatement pregelixStmt, String fromDataverseName, - String fromDatasetName, String toDataverseName, String toDatasetName) { - // Constructs AsterixDB parameters, e.g., URL, source dataset and sink dataset. - ExternalProperties externalProperties = appCtx.getExternalProperties(); - String clientIP = appCtx.getServiceContext().getCCContext().getClusterControllerInfo().getClientNetAddress(); - StringBuilder asterixdbParameterBuilder = new StringBuilder(); - asterixdbParameterBuilder.append( - "pregelix.asterixdb.url=" + "http://" + clientIP + ":" + externalProperties.getAPIServerPort() + ","); - asterixdbParameterBuilder.append("pregelix.asterixdb.source=true,"); - asterixdbParameterBuilder.append("pregelix.asterixdb.sink=true,"); - asterixdbParameterBuilder.append("pregelix.asterixdb.input.dataverse=" + fromDataverseName + ","); - asterixdbParameterBuilder.append("pregelix.asterixdb.input.dataset=" + fromDatasetName + ","); - asterixdbParameterBuilder.append("pregelix.asterixdb.output.dataverse=" + toDataverseName + ","); - asterixdbParameterBuilder.append("pregelix.asterixdb.output.dataset=" + toDatasetName + ","); - asterixdbParameterBuilder.append("pregelix.asterixdb.output.cleanup=false,"); - - // construct command - List<String> cmds = new ArrayList<>(); - cmds.add("bin/pregelix"); - cmds.add(pregelixStmt.getParameters().get(0)); // jar - cmds.add(pregelixStmt.getParameters().get(1)); // class - - String customizedPregelixProperty = "-cust-prop"; - String inputConverterClassKey = "pregelix.asterixdb.input.converterclass"; - String inputConverterClassValue = "=org.apache.pregelix.example.converter.VLongIdInputVertexConverter,"; - String outputConverterClassKey = "pregelix.asterixdb.output.converterclass"; - String outputConverterClassValue = "=org.apache.pregelix.example.converter.VLongIdOutputVertexConverter,"; - boolean custPropAdded = false; - boolean meetCustProp = false; - // User parameters. - for (String s : pregelixStmt.getParameters().get(2).split(" ")) { - if (meetCustProp) { - if (!s.contains(inputConverterClassKey)) { - asterixdbParameterBuilder.append(inputConverterClassKey + inputConverterClassValue); - } - if (!s.contains(outputConverterClassKey)) { - asterixdbParameterBuilder.append(outputConverterClassKey + outputConverterClassValue); - } - cmds.add(asterixdbParameterBuilder.toString() + s); - meetCustProp = false; - custPropAdded = true; - continue; - } - cmds.add(s); - if (s.equals(customizedPregelixProperty)) { - meetCustProp = true; - } - } - - if (!custPropAdded) { - cmds.add(customizedPregelixProperty); - // Appends default converter classes to asterixdbParameterBuilder. - asterixdbParameterBuilder.append(inputConverterClassKey + inputConverterClassValue); - asterixdbParameterBuilder.append(outputConverterClassKey + outputConverterClassValue); - // Remove the last comma. - asterixdbParameterBuilder.delete(asterixdbParameterBuilder.length() - 1, - asterixdbParameterBuilder.length()); - cmds.add(asterixdbParameterBuilder.toString()); - } - return cmds; } @Override diff --git a/asterixdb/asterix-app/src/test/java/org/apache/asterix/aql/translator/QueryTranslatorTest.java b/asterixdb/asterix-app/src/test/java/org/apache/asterix/aql/translator/QueryTranslatorTest.java deleted file mode 100644 index 51c512a..0000000 --- a/asterixdb/asterix-app/src/test/java/org/apache/asterix/aql/translator/QueryTranslatorTest.java +++ /dev/null @@ -1,117 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.asterix.aql.translator; - -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.when; - -import java.lang.reflect.Field; -import java.lang.reflect.Modifier; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; - -import org.apache.asterix.app.translator.DefaultStatementExecutorFactory; -import org.apache.asterix.common.config.ExternalProperties; -import org.apache.asterix.compiler.provider.AqlCompilationProvider; -import org.apache.asterix.file.StorageComponentProvider; -import org.apache.asterix.lang.common.base.Statement; -import org.apache.asterix.lang.common.statement.RunStatement; -import org.apache.asterix.runtime.utils.CcApplicationContext; -import org.apache.asterix.translator.IStatementExecutor; -import org.apache.asterix.translator.SessionOutput; -import org.apache.hyracks.api.application.ICCServiceContext; -import org.apache.hyracks.api.client.ClusterControllerInfo; -import org.apache.hyracks.api.config.IApplicationConfig; -import org.apache.hyracks.api.context.ICCContext; -import org.apache.hyracks.control.common.controllers.CCConfig; -import org.junit.Assert; -import org.junit.Test; - -import junit.extensions.PA; - -@SuppressWarnings({ "unchecked" }) -public class QueryTranslatorTest { - - @Test - public void test() throws Exception { - List<Statement> statements = new ArrayList<>(); - SessionOutput mockSessionOutput = mock(SessionOutput.class); - RunStatement mockRunStatement = mock(RunStatement.class); - - // Mocks AppContextInfo. - CcApplicationContext mockAsterixAppContextInfo = mock(CcApplicationContext.class); - ExternalProperties mockAsterixExternalProperties = mock(ExternalProperties.class); - when(mockAsterixAppContextInfo.getExternalProperties()).thenReturn(mockAsterixExternalProperties); - when(mockAsterixExternalProperties.getAPIServerPort()).thenReturn(19002); - ICCServiceContext mockServiceContext = mock(ICCServiceContext.class); - when(mockAsterixAppContextInfo.getServiceContext()).thenReturn(mockServiceContext); - ICCContext mockCCContext = mock(ICCContext.class); - when(mockServiceContext.getCCContext()).thenReturn(mockCCContext); - ClusterControllerInfo mockCCInfo = mock(ClusterControllerInfo.class); - when(mockCCContext.getClusterControllerInfo()).thenReturn(mockCCInfo); - when(mockCCInfo.getClientNetAddress()).thenReturn("127.0.0.1"); - IApplicationConfig mockApplicationConfig = mock(IApplicationConfig.class); - when(mockServiceContext.getAppConfig()).thenReturn(mockApplicationConfig); - when(mockApplicationConfig.getBoolean(CCConfig.Option.ENFORCE_FRAME_WRITER_PROTOCOL)).thenReturn(true); - - IStatementExecutor aqlTranslator = new DefaultStatementExecutorFactory().create(mockAsterixAppContextInfo, - statements, mockSessionOutput, new AqlCompilationProvider(), new StorageComponentProvider()); - List<String> parameters = new ArrayList<>(); - parameters.add("examples/pregelix-example-jar-with-dependencies.jar"); - parameters.add("org.apache.pregelix.example.PageRankVertex"); - parameters.add("-ip 10.0.2.15 -port 3199"); - when(mockRunStatement.getParameters()).thenReturn(parameters); - // Test a customer command without "-cust-prop". - List<String> cmds = (List<String>) PA.invokeMethod(aqlTranslator, - "constructPregelixCommand(org.apache.asterix.lang.common.statement.RunStatement," - + "String,String,String,String)", - mockRunStatement, "fromDataverse", "fromDataset", "toDataverse", "toDataset"); - List<String> expectedCmds = Arrays.asList(new String[] { "bin/pregelix", - "examples/pregelix-example-jar-with-dependencies.jar", "org.apache.pregelix.example.PageRankVertex", - "-ip", "10.0.2.15", "-port", "3199", "-cust-prop", - "pregelix.asterixdb.url=http://127.0.0.1:19002,pregelix.asterixdb.source=true,pregelix.asterixdb.sink=true,pregelix.asterixdb.input.dataverse=fromDataverse,pregelix.asterixdb.input.dataset=fromDataset,pregelix.asterixdb.output.dataverse=toDataverse,pregelix.asterixdb.output.dataset=toDataset,pregelix.asterixdb.output.cleanup=false,pregelix.asterixdb.input.converterclass=org.apache.pregelix.example.converter.VLongIdInputVertexConverter,pregelix.asterixdb.output.converterclass=org.apache.pregelix.example.converter.VLongIdOutputVertexConverter" }); - Assert.assertEquals(cmds, expectedCmds); - - parameters.remove(parameters.size() - 1); - parameters.add("-ip 10.0.2.15 -port 3199 -cust-prop " - + "pregelix.asterixdb.input.converterclass=org.apache.pregelix.example.converter.TestInputVertexConverter," - + "pregelix.asterixdb.output.converterclass=org.apache.pregelix.example.converter.TestOutputVertexConverter"); - // Test a customer command with "-cust-prop". - cmds = (List<String>) PA.invokeMethod(aqlTranslator, - "constructPregelixCommand(org.apache.asterix.lang.common.statement.RunStatement," - + "String,String,String,String)", - mockRunStatement, "fromDataverse", "fromDataset", "toDataverse", "toDataset"); - expectedCmds = Arrays.asList(new String[] { "bin/pregelix", - "examples/pregelix-example-jar-with-dependencies.jar", "org.apache.pregelix.example.PageRankVertex", - "-ip", "10.0.2.15", "-port", "3199", "-cust-prop", - "pregelix.asterixdb.url=http://127.0.0.1:19002,pregelix.asterixdb.source=true,pregelix.asterixdb.sink=true,pregelix.asterixdb.input.dataverse=fromDataverse,pregelix.asterixdb.input.dataset=fromDataset,pregelix.asterixdb.output.dataverse=toDataverse,pregelix.asterixdb.output.dataset=toDataset,pregelix.asterixdb.output.cleanup=false,pregelix.asterixdb.input.converterclass=org.apache.pregelix.example.converter.TestInputVertexConverter,pregelix.asterixdb.output.converterclass=org.apache.pregelix.example.converter.TestOutputVertexConverter" }); - Assert.assertEquals(cmds, expectedCmds); - } - - private void setFinalStaticField(Field field, Object newValue) throws Exception { - field.setAccessible(true); - // remove final modifier from field - Field modifiersField = Field.class.getDeclaredField("modifiers"); - modifiersField.setAccessible(true); - modifiersField.setInt(field, field.getModifiers() & ~Modifier.FINAL); - field.set(null, newValue); - } -} diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/graph/pregel-q01/pregel-q01.1.ddl.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/graph/pregel-q01/pregel-q01.1.ddl.aql deleted file mode 100644 index 4a7acd0..0000000 --- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/graph/pregel-q01/pregel-q01.1.ddl.aql +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -drop dataverse Pregelix if exists; -create dataverse Pregelix -use dataverse Pregelix - -create type TwitterUserType as open { - screen-name: string, - lang: string, - friends_count: int32, - statuses_count: int32, - name: string, - followers_count: int32 -} - -create type TweetMessageType as open { - tweetid: int64, - user: TwitterUserType, - sender-location: point?, - send-time: datetime, - referred-topics: {{ string }}, - message-text: string, - retweeted-from: int64, - forwarded-from: int64 -} - -create dataset TwitterMsgs(TweetMessageType) - primary key tweetid; - -create dataset TwitterUsers(TwitterUserType) - primary key screen-name; - - create type TMEdge as open { - tweetid: int64, - value: float? - } - - create type TMGraph as open { - tweetid: int64, - rank-value: double?, - populated-by: {{TMEdge}} - } - - -create dataset MyInputGraph(TMGraph) - primary key tweetid; - -create dataset MyOutputGraph(TMGraph) - primary key tweetid; diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/graph/pregel-q01/pregel-q01.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/graph/pregel-q01/pregel-q01.2.update.aql deleted file mode 100644 index e679951..0000000 --- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/graph/pregel-q01/pregel-q01.2.update.aql +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -use dataverse Pregelix; - -insert into dataset TwitterUsers ( -{{ -{"screen-name":"NathanGiesen@211","lang":"en","friends_count":18,"statuses_count":473,"name":"Nathan Giesen","followers_count":49416}, -{"screen-name":"ColineGeyer@63","lang":"en","friends_count":121,"statuses_count":362,"name":"Coline Geyer","followers_count":17159}, -{"screen-name":"NilaMilliron_tw","lang":"en","friends_count":445,"statuses_count":164,"name":"Nila Milliron","followers_count":22649}, -{"screen-name":"ChangEwing_573","lang":"en","friends_count":182,"statuses_count":394,"name":"Chang Ewing","followers_count":32136} -}}) - -insert into dataset TwitterMsgs ( -{{ - {"tweetid":1,"user":{"screen-name":"NathanGiesen@211","lang":"en","friends_count":39339,"statuses_count":473,"name":"Nathan Giesen","followers_count":49416},"sender-location":point("47.44,80.65"),"send-time":datetime("2008-04-26T10:10:00"),"referred-topics":{{"t-mobile","customization"}},"message-text":" love t-mobile its customization is good:)", "retweeted-from":2, "forwarded-from":3}, - {"tweetid":2,"user":{"screen-name":"ColineGeyer@63","lang":"en","friends_count":121,"statuses_count":362,"name":"Coline Geyer","followers_count":17159},"sender-location":point("32.84,67.14"),"send-time":datetime("2010-05-13T10:10:00"),"referred-topics":{{"verizon","shortcut-menu"}},"message-text":" like verizon its shortcut-menu is awesome:)", "retweeted-from":7, "forwarded-from":1}, - {"tweetid":3,"user":{"screen-name":"NathanGiesen@211","lang":"en","friends_count":39339,"statuses_count":473,"name":"Nathan Giesen","followers_count":49416},"sender-location":point("29.72,75.8"),"send-time":datetime("2006-11-04T10:10:00"),"referred-topics":{{"motorola","speed"}},"message-text":" like motorola the speed is good:)", "retweeted-from":8, "forwarded-from":6}, - {"tweetid":4,"user":{"screen-name":"NathanGiesen@211","lang":"en","friends_count":39339,"statuses_count":473,"name":"Nathan Giesen","followers_count":49416},"sender-location":point("39.28,70.48"),"send-time":datetime("2011-12-26T10:10:00"),"referred-topics":{{"sprint","voice-command"}},"message-text":" like sprint the voice-command is mind-blowing:)", "retweeted-from":1, "forwarded-from":3}, - {"tweetid":5,"user":{"screen-name":"NathanGiesen@211","lang":"en","friends_count":39339,"statuses_count":473,"name":"Nathan Giesen","followers_count":49416},"sender-location":point("40.09,92.69"),"send-time":datetime("2006-08-04T10:10:00"),"referred-topics":{{"motorola","speed"}},"message-text":" can't stand motorola its speed is terrible:(", "retweeted-from":8, "forwarded-from":6}, - {"tweetid":6,"user":{"screen-name":"ColineGeyer@63","lang":"en","friends_count":121,"statuses_count":362,"name":"Coline Geyer","followers_count":17159},"sender-location":point("47.51,83.99"),"send-time":datetime("2010-05-07T10:10:00"),"referred-topics":{{"iphone","voice-clarity"}},"message-text":" like iphone the voice-clarity is good:)", "retweeted-from":4, "forwarded-from":5}, - {"tweetid":7,"user":{"screen-name":"ChangEwing_573","lang":"en","friends_count":182,"statuses_count":394,"name":"Chang Ewing","followers_count":32136},"sender-location":point("36.21,72.6"),"send-time":datetime("2011-08-25T10:10:00"),"referred-topics":{{"samsung","platform"}},"message-text":" like samsung the platform is good", "retweeted-from":2, "forwarded-from":7}, - {"tweetid":8,"user":{"screen-name":"NathanGiesen@211","lang":"en","friends_count":39339,"statuses_count":473,"name":"Nathan Giesen","followers_count":49416},"sender-location":point("46.05,93.34"),"send-time":datetime("2005-10-14T10:10:00"),"referred-topics":{{"t-mobile","shortcut-menu"}},"message-text":" like t-mobile the shortcut-menu is awesome:)", "retweeted-from":3, "forwarded-from":7}, - {"tweetid":9,"user":{"screen-name":"NathanGiesen@211","lang":"en","friends_count":39339,"statuses_count":473,"name":"Nathan Giesen","followers_count":49416},"sender-location":point("36.86,74.62"),"send-time":datetime("2012-07-21T10:10:00"),"referred-topics":{{"verizon","voicemail-service"}},"message-text":" love verizon its voicemail-service is awesome", "retweeted-from":6, "forwarded-from":2}, - {"tweetid":10,"user":{"screen-name":"ColineGeyer@63","lang":"en","friends_count":121,"statuses_count":362,"name":"Coline Geyer","followers_count":17159},"sender-location":point("29.15,76.53"),"send-time":datetime("2008-01-26T10:10:00"),"referred-topics":{{"verizon","voice-clarity"}},"message-text":" hate verizon its voice-clarity is OMG:(", "retweeted-from":4, "forwarded-from":5}, - {"tweetid":11,"user":{"screen-name":"NilaMilliron_tw","lang":"en","friends_count":445,"statuses_count":164,"name":"Nila Milliron","followers_count":22649},"sender-location":point("37.59,68.42"),"send-time":datetime("2008-03-09T10:10:00"),"referred-topics":{{"iphone","platform"}},"message-text":" can't stand iphone its platform is terrible", "retweeted-from":6, "forwarded-from":3}, - {"tweetid":12,"user":{"screen-name":"OliJackson_512","lang":"en","friends_count":445,"statuses_count":164,"name":"Oli Jackson","followers_count":22649},"sender-location":point("24.82,94.63"),"send-time":datetime("2010-02-13T10:10:00"),"referred-topics":{{"samsung","voice-command"}},"message-text":" like samsung the voice-command is amazing:)", "retweeted-from":6, "forwarded-from":5} -}}) - -insert into dataset MyInputGraph -for $tm in dataset TwitterMsgs -let $links:={{ {"tweetid":$tm.retweeted-from}, {"tweetid":$tm.forwarded-from}}} -return { - "tweetid": $tm.tweetid, - "rank-value": 0.0, - "populated-by": $links -} diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/graph/pregel-q01/pregel-q01.3.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/graph/pregel-q01/pregel-q01.3.query.aql deleted file mode 100644 index d317355..0000000 --- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/graph/pregel-q01/pregel-q01.3.query.aql +++ /dev/null @@ -1,27 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -use dataverse Pregelix; - -run pregel("examples/pregelix-example-0.2.14-SNAPSHOT-jar-with-dependencies.jar" - "org.apache.pregelix.example.PageRankVertex" - "-ip 10.0.2.15 -port 3199 -vnum 17") -from dataset MyInputGraph -to dataset MyOutputGraph; - -for $n in dataset MyOutputGraph return $n; diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/graph/pregel-q02/pregel-q02.1.ddl.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/graph/pregel-q02/pregel-q02.1.ddl.aql deleted file mode 100644 index d7a495a..0000000 --- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/graph/pregel-q02/pregel-q02.1.ddl.aql +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -drop dataverse Pregelix if exists; -create dataverse Pregelix -use dataverse Pregelix - -create type EdgeType as open { - destVertexId: int64, - value: float? -} -create type NodeType as open { - id: int64, - value: int64?, - edges: {{EdgeType}} -} - -create dataset InputGraph(NodeType) primary key id; -create dataset ResultGraph(NodeType) primary key id; diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/graph/pregel-q02/pregel-q02.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/graph/pregel-q02/pregel-q02.2.update.aql deleted file mode 100644 index 8f6ca9c..0000000 --- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/graph/pregel-q02/pregel-q02.2.update.aql +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -use dataverse Pregelix; - -insert into dataset InputGraph ( -{{ - {"id":0,"value":0,"edges":{{ {"destVertexId":1}}}}, -{"id":1,"value":1,"edges":{{ {"destVertexId":1},{"destVertexId":2}}}}, -{"id":2,"value":2,"edges":{{ {"destVertexId":1},{"destVertexId":2},{"destVertexId":3}}}}, -{"id":3,"value":3,"edges":{{ {"destVertexId":1},{"destVertexId":2},{"destVertexId":3},{"destVertexId":4}}}}, -{"id":4,"value":4,"edges":{{ {"destVertexId":1},{"destVertexId":2},{"destVertexId":3},{"destVertexId":4},{"destVertexId":5}}}}, -{"id":5,"value":5,"edges":{{ {"destVertexId":1},{"destVertexId":2},{"destVertexId":3},{"destVertexId":4},{"destVertexId":5},{"destVertexId":6}}}}, -{"id":6,"value":6,"edges":{{ {"destVertexId":1},{"destVertexId":2},{"destVertexId":3},{"destVertexId":4},{"destVertexId":5},{"destVertexId":6},{"destVertexId":7}}}}, -{"id":7,"value":7,"edges":{{ {"destVertexId":1},{"destVertexId":2},{"destVertexId":3},{"destVertexId":4},{"destVertexId":5},{"destVertexId":6},{"destVertexId":7},{"destVertexId":8}}}}, -{"id":8,"value":8,"edges":{{ {"destVertexId":1},{"destVertexId":2},{"destVertexId":3},{"destVertexId":4},{"destVertexId":5},{"destVertexId":6},{"destVertexId":7},{"destVertexId":8},{"destVertexId":9}}}}, -{"id":9,"value":9,"edges":{{ {"destVertexId":1},{"destVertexId":2},{"destVertexId":3},{"destVertexId":4},{"destVertexId":5},{"destVertexId":6},{"destVertexId":7},{"destVertexId":8},{"destVertexId":9},{"destVertexId":0}}}}, -{"id":10,"value":10,"edges":{{ {"destVertexId":11}}}}, -{"id":11,"value":11,"edges":{{ {"destVertexId":11},{"destVertexId":12}}}}, -{"id":12,"value":12,"edges":{{ {"destVertexId":11},{"destVertexId":12},{"destVertexId":13}}}}, -{"id":13,"value":13,"edges":{{ {"destVertexId":11},{"destVertexId":12},{"destVertexId":13},{"destVertexId":14}}}}, -{"id":14,"value":14,"edges":{{ {"destVertexId":11},{"destVertexId":12},{"destVertexId":13},{"destVertexId":14},{"destVertexId":15}}}}, -{"id":15,"value":15,"edges":{{ {"destVertexId":11},{"destVertexId":12},{"destVertexId":13},{"destVertexId":14},{"destVertexId":15},{"destVertexId":16}}}}, -{"id":16,"value":16,"edges":{{ {"destVertexId":11},{"destVertexId":12},{"destVertexId":13},{"destVertexId":14},{"destVertexId":15},{"destVertexId":16},{"destVertexId":17}}}}, -{"id":17,"value":17,"edges":{{ {"destVertexId":11},{"destVertexId":12},{"destVertexId":13},{"destVertexId":14},{"destVertexId":15},{"destVertexId":16},{"destVertexId":17},{"destVertexId":18}}}}, -{"id":18,"value":18,"edges":{{ {"destVertexId":11},{"destVertexId":12},{"destVertexId":13},{"destVertexId":14},{"destVertexId":15},{"destVertexId":16},{"destVertexId":17},{"destVertexId":18},{"destVertexId":19}}}}, -{"id":19,"value":19,"edges":{{ {"destVertexId":11},{"destVertexId":12},{"destVertexId":13},{"destVertexId":14},{"destVertexId":15},{"destVertexId":16},{"destVertexId":17},{"destVertexId":18},{"destVertexId":19}, {"destVertexId":10}}}} -}} - -) diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/graph/pregel-q02/pregel-q02.3.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/graph/pregel-q02/pregel-q02.3.query.aql deleted file mode 100644 index 23a5215..0000000 --- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/graph/pregel-q02/pregel-q02.3.query.aql +++ /dev/null @@ -1,27 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -use dataverse Pregelix; - -run pregel("examples/pregelix-example-0.2.14-SNAPSHOT-jar-with-dependencies.jar" - "org.apache.pregelix.example.ConnectedComponentsVertex" - "-ip 10.0.2.15 -port 3199") -from dataset InputGraph -to dataset ResultGraph; - -for $n in dataset ResultGraph return $n; diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/graph/pregel-q03/pregel-q03.1.ddl.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/graph/pregel-q03/pregel-q03.1.ddl.aql deleted file mode 100644 index 370ad80..0000000 --- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/graph/pregel-q03/pregel-q03.1.ddl.aql +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -drop dataverse Pregelix if exists; -create dataverse Pregelix -use dataverse Pregelix - -create type EdgeType as open { - destVertexId: int64, - cost: float? -} -create type NodeType as open { - id: int64, - value: double?, - edges: {{EdgeType}} -} - -create dataset InputGraph(NodeType) primary key id; -create dataset ResultGraph(NodeType) primary key id; diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/graph/pregel-q03/pregel-q03.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/graph/pregel-q03/pregel-q03.2.update.aql deleted file mode 100644 index 1702cc6..0000000 --- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/graph/pregel-q03/pregel-q03.2.update.aql +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -use dataverse Pregelix; - -insert into dataset InputGraph ( -{{ -{"id":0, "edges":{{ {"destVertexId":1, "cost":1.0f}}}}, -{"id":1, "edges":{{ {"destVertexId":3, "cost":4.0f},{"destVertexId":2, "cost":3.0f}}}}, -{"id":2, "edges":{{ {"destVertexId":4, "cost":5.0f},{"destVertexId":5, "cost":23.0f}}}}, -{"id":3, "edges":{{ {"destVertexId":2, "cost":1.0f},{"destVertexId":8, "cost":13.0f}}}}, -{"id":4, "edges":{{ {"destVertexId":1, "cost":5.0f},{"destVertexId":2, "cost":8.0f},{"destVertexId":3, "cost":23.0f},{"destVertexId":4, "cost":12.0f}}}}, -{"id":5, "edges":{{ {"destVertexId":6, "cost":12.0f},{"destVertexId":7, "cost":17.0f}}}}, -{"id":6, "edges":{{ {"destVertexId":1, "cost":12.0f},{"destVertexId":2, "cost":1.0f}}}}, -{"id":7, "edges":{{ {"destVertexId":9, "cost":100.0f}}}}, -{"id":8, "edges":{{ {"destVertexId":4, "cost":11.0f}}}}, -{"id":9, "edges":{{ {"destVertexId":1, "cost":16.0f},{"destVertexId":2, "cost":9.0f}}}} -}} -) diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/graph/pregel-q03/pregel-q03.3.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/graph/pregel-q03/pregel-q03.3.query.aql deleted file mode 100644 index 3ac6980..0000000 --- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/graph/pregel-q03/pregel-q03.3.query.aql +++ /dev/null @@ -1,27 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -use dataverse Pregelix; - -run pregel("examples/pregelix-example-0.2.14-SNAPSHOT-jar-with-dependencies.jar" - "org.apache.pregelix.example.ShortestPathsVertex" - "-ip 10.0.2.15 -port 3199 -source-vertex 0") -from dataset InputGraph -to dataset ResultGraph; - -for $n in dataset ResultGraph return $n; diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/graph/pregel-q01/pregel-q01.1.ddl.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/graph/pregel-q01/pregel-q01.1.ddl.sqlpp deleted file mode 100644 index 3ffbbf4..0000000 --- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/graph/pregel-q01/pregel-q01.1.ddl.sqlpp +++ /dev/null @@ -1,68 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -drop dataverse Pregelix if exists; -create dataverse Pregelix; - -use Pregelix; - - -create type Pregelix.TwitterUserType as -{ - `screen-name` : string, - lang : string, - friends_count : integer, - statuses_count : integer, - name : string, - followers_count : integer -}; - -create type Pregelix.TweetMessageType as -{ - tweetid : bigint, - user : TwitterUserType, - `sender-location` : point?, - `send-time` : datetime, - `referred-topics` : {{string}}, - `message-text` : string, - `retweeted-from` : bigint, - `forwarded-from` : bigint -}; - -create dataset TwitterMsgs(TweetMessageType) primary key tweetid; - -create dataset TwitterUsers(TwitterUserType) primary key `screen-name`; - -create type Pregelix.TMEdge as -{ - tweetid : bigint, - `value` : float? -}; - -create type Pregelix.TMGraph as -{ - tweetid : bigint, - `rank-value` : double?, - `populated-by` : {{TMEdge}}; -}; - -create dataset MyInputGraph(TMGraph) primary key tweetid; - -create dataset MyOutputGraph(TMGraph) primary key tweetid; - diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/graph/pregel-q01/pregel-q01.2.update.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/graph/pregel-q01/pregel-q01.2.update.sqlpp deleted file mode 100644 index dbd9ebe..0000000 --- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/graph/pregel-q01/pregel-q01.2.update.sqlpp +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -use Pregelix; - - -insert into TwitterUsers -select element {{{'screen-name':'NathanGiesen@211','lang':'en','friends_count':18,'statuses_count':473,'name':'Nathan Giesen','followers_count':49416},{'screen-name':'ColineGeyer@63','lang':'en','friends_count':121,'statuses_count':362,'name':'Coline Geyer','followers_count':17159},{'screen-name':'NilaMilliron_tw','lang':'en','friends_count':445,'statuses_count':164,'name':'Nila Milliron','followers_count':22649},{'screen-name':'ChangEwing_573','lang':'en','friends_count':182,'statuses_count':394,'name':'Chang Ewing','followers_count':32136}}}; -insert into TwitterMsgs -select element {{{'tweetid':1,'user':{'screen-name':'NathanGiesen@211','lang':'en','friends_count':39339,'statuses_count':473,'name':'Nathan Giesen','followers_count':49416},'sender-location':Pregelix.point('47.44,80.65'),'send-time':Pregelix.datetime('2008-04-26T10:10:00'),'referred-topics':{{'t-mobile','customization'}},'message-text':' love t-mobile its customization is good:)','retweeted-from':2,'forwarded-from':3},{'tweetid':2,'user':{'screen-name':'ColineGeyer@63','lang':'en','friends_count':121,'statuses_count':362,'name':'Coline Geyer','followers_count':17159},'sender-location':Pregelix.point('32.84,67.14'),'send-time':Pregelix.datetime('2010-05-13T10:10:00'),'referred-topics':{{'verizon','shortcut-menu'}},'message-text':' like verizon its shortcut-menu is awesome:)','retweeted-from':7,'forwarded-from':1},{'tweetid':3,'user':{'screen-name':'NathanGiesen@211','lang':'en','friends_count':39339,'statuses_count':473,'name':'Nathan Giesen','followers_count':49416},'sender-locatio n':Pregelix.point('29.72,75.8'),'send-time':Pregelix.datetime('2006-11-04T10:10:00'),'referred-topics':{{'motorola','speed'}},'message-text':' like motorola the speed is good:)','retweeted-from':8,'forwarded-from':6},{'tweetid':4,'user':{'screen-name':'NathanGiesen@211','lang':'en','friends_count':39339,'statuses_count':473,'name':'Nathan Giesen','followers_count':49416},'sender-location':Pregelix.point('39.28,70.48'),'send-time':Pregelix.datetime('2011-12-26T10:10:00'),'referred-topics':{{'sprint','voice-command'}},'message-text':' like sprint the voice-command is mind-blowing:)','retweeted-from':1,'forwarded-from':3},{'tweetid':5,'user':{'screen-name':'NathanGiesen@211','lang':'en','friends_count':39339,'statuses_count':473,'name':'Nathan Giesen','followers_count':49416},'sender-location':Pregelix.point('40.09,92.69'),'send-time':Pregelix.datetime('2006-08-04T10:10:00'),'referred-topics':{{'motorola','speed'}},'message-text':' can\'t stand motorola its speed is terrible:(','retwee ted-from':8,'forwarded-from':6},{'tweetid':6,'user':{'screen-name':'ColineGeyer@63','lang':'en','friends_count':121,'statuses_count':362,'name':'Coline Geyer','followers_count':17159},'sender-location':Pregelix.point('47.51,83.99'),'send-time':Pregelix.datetime('2010-05-07T10:10:00'),'referred-topics':{{'iphone','voice-clarity'}},'message-text':' like iphone the voice-clarity is good:)','retweeted-from':4,'forwarded-from':5},{'tweetid':7,'user':{'screen-name':'ChangEwing_573','lang':'en','friends_count':182,'statuses_count':394,'name':'Chang Ewing','followers_count':32136},'sender-location':Pregelix.point('36.21,72.6'),'send-time':Pregelix.datetime('2011-08-25T10:10:00'),'referred-topics':{{'samsung','platform'}},'message-text':' like samsung the platform is good','retweeted-from':2,'forwarded-from':7},{'tweetid':8,'user':{'screen-name':'NathanGiesen@211','lang':'en','friends_count':39339,'statuses_count':473,'name':'Nathan Giesen','followers_count':49416},'sender-location':Pregelix .point('46.05,93.34'),'send-time':Pregelix.datetime('2005-10-14T10:10:00'),'referred-topics':{{'t-mobile','shortcut-menu'}},'message-text':' like t-mobile the shortcut-menu is awesome:)','retweeted-from':3,'forwarded-from':7},{'tweetid':9,'user':{'screen-name':'NathanGiesen@211','lang':'en','friends_count':39339,'statuses_count':473,'name':'Nathan Giesen','followers_count':49416},'sender-location':Pregelix.point('36.86,74.62'),'send-time':Pregelix.datetime('2012-07-21T10:10:00'),'referred-topics':{{'verizon','voicemail-service'}},'message-text':' love verizon its voicemail-service is awesome','retweeted-from':6,'forwarded-from':2},{'tweetid':10,'user':{'screen-name':'ColineGeyer@63','lang':'en','friends_count':121,'statuses_count':362,'name':'Coline Geyer','followers_count':17159},'sender-location':Pregelix.point('29.15,76.53'),'send-time':Pregelix.datetime('2008-01-26T10:10:00'),'referred-topics':{{'verizon','voice-clarity'}},'message-text':' hate verizon its voice-clarity is OMG:( ','retweeted-from':4,'forwarded-from':5},{'tweetid':11,'user':{'screen-name':'NilaMilliron_tw','lang':'en','friends_count':445,'statuses_count':164,'name':'Nila Milliron','followers_count':22649},'sender-location':Pregelix.point('37.59,68.42'),'send-time':Pregelix.datetime('2008-03-09T10:10:00'),'referred-topics':{{'iphone','platform'}},'message-text':' can\'t stand iphone its platform is terrible','retweeted-from':6,'forwarded-from':3},{'tweetid':12,'user':{'screen-name':'OliJackson_512','lang':'en','friends_count':445,'statuses_count':164,'name':'Oli Jackson','followers_count':22649},'sender-location':Pregelix.point('24.82,94.63'),'send-time':Pregelix.datetime('2010-02-13T10:10:00'),'referred-topics':{{'samsung','voice-command'}},'message-text':' like samsung the voice-command is amazing:)','retweeted-from':6,'forwarded-from':5}}}; -insert into MyInputGraph -select element {'tweetid':tm.tweetid,'rank-value':0.0,'populated-by':links} -from TwitterMsgs as tm -with links as {{{'tweetid':tm.`retweeted-from`},{'tweetid':tm.`forwarded-from`}}} -; diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/graph/pregel-q01/pregel-q01.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/graph/pregel-q01/pregel-q01.3.query.sqlpp deleted file mode 100644 index 0a70a27..0000000 --- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/graph/pregel-q01/pregel-q01.3.query.sqlpp +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -use Pregelix; - - -select element n -from MyOutputGraph as n -; diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/graph/pregel-q02/pregel-q02.1.ddl.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/graph/pregel-q02/pregel-q02.1.ddl.sqlpp deleted file mode 100644 index c9e6b15..0000000 --- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/graph/pregel-q02/pregel-q02.1.ddl.sqlpp +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -drop dataverse Pregelix if exists; -create dataverse Pregelix; - -use Pregelix; - - -create type Pregelix.EdgeType as -{ - destVertexId : bigint, - `value` : float? -}; - -create type Pregelix.NodeType as -{ - id : bigint, - `value` : bigint?, - edges : {{EdgeType}}; -}; - -create dataset InputGraph(NodeType) primary key id; - -create dataset ResultGraph(NodeType) primary key id; - diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/graph/pregel-q02/pregel-q02.2.update.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/graph/pregel-q02/pregel-q02.2.update.sqlpp deleted file mode 100644 index 2ec9add..0000000 --- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/graph/pregel-q02/pregel-q02.2.update.sqlpp +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -use Pregelix; - - -insert into InputGraph -select element {{{'id':0,'value':0,'edges':{{{'destVertexId':1}}}},{'id':1,'value':1,'edges':{{{'destVertexId':1},{'destVertexId':2}}}},{'id':2,'value':2,'edges':{{{'destVertexId':1},{'destVertexId':2},{'destVertexId':3}}}},{'id':3,'value':3,'edges':{{{'destVertexId':1},{'destVertexId':2},{'destVertexId':3},{'destVertexId':4}}}},{'id':4,'value':4,'edges':{{{'destVertexId':1},{'destVertexId':2},{'destVertexId':3},{'destVertexId':4},{'destVertexId':5}}}},{'id':5,'value':5,'edges':{{{'destVertexId':1},{'destVertexId':2},{'destVertexId':3},{'destVertexId':4},{'destVertexId':5},{'destVertexId':6}}}},{'id':6,'value':6,'edges':{{{'destVertexId':1},{'destVertexId':2},{'destVertexId':3},{'destVertexId':4},{'destVertexId':5},{'destVertexId':6},{'destVertexId':7}}}},{'id':7,'value':7,'edges':{{{'destVertexId':1},{'destVertexId':2},{'destVertexId':3},{'destVertexId':4},{'destVertexId':5},{'destVertexId':6},{'destVertexId':7},{'destVertexId':8}}}},{'id':8,'value':8,'edges':{{{'destVertexId':1},{ 'destVertexId':2},{'destVertexId':3},{'destVertexId':4},{'destVertexId':5},{'destVertexId':6},{'destVertexId':7},{'destVertexId':8},{'destVertexId':9}}}},{'id':9,'value':9,'edges':{{{'destVertexId':1},{'destVertexId':2},{'destVertexId':3},{'destVertexId':4},{'destVertexId':5},{'destVertexId':6},{'destVertexId':7},{'destVertexId':8},{'destVertexId':9},{'destVertexId':0}}}},{'id':10,'value':10,'edges':{{{'destVertexId':11}}}},{'id':11,'value':11,'edges':{{{'destVertexId':11},{'destVertexId':12}}}},{'id':12,'value':12,'edges':{{{'destVertexId':11},{'destVertexId':12},{'destVertexId':13}}}},{'id':13,'value':13,'edges':{{{'destVertexId':11},{'destVertexId':12},{'destVertexId':13},{'destVertexId':14}}}},{'id':14,'value':14,'edges':{{{'destVertexId':11},{'destVertexId':12},{'destVertexId':13},{'destVertexId':14},{'destVertexId':15}}}},{'id':15,'value':15,'edges':{{{'destVertexId':11},{'destVertexId':12},{'destVertexId':13},{'destVertexId':14},{'destVertexId':15},{'destVertexId':16}}}},{'id ':16,'value':16,'edges':{{{'destVertexId':11},{'destVertexId':12},{'destVertexId':13},{'destVertexId':14},{'destVertexId':15},{'destVertexId':16},{'destVertexId':17}}}},{'id':17,'value':17,'edges':{{{'destVertexId':11},{'destVertexId':12},{'destVertexId':13},{'destVertexId':14},{'destVertexId':15},{'destVertexId':16},{'destVertexId':17},{'destVertexId':18}}}},{'id':18,'value':18,'edges':{{{'destVertexId':11},{'destVertexId':12},{'destVertexId':13},{'destVertexId':14},{'destVertexId':15},{'destVertexId':16},{'destVertexId':17},{'destVertexId':18},{'destVertexId':19}}}},{'id':19,'value':19,'edges':{{{'destVertexId':11},{'destVertexId':12},{'destVertexId':13},{'destVertexId':14},{'destVertexId':15},{'destVertexId':16},{'destVertexId':17},{'destVertexId':18},{'destVertexId':19},{'destVertexId':10}}}}}}; diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/graph/pregel-q02/pregel-q02.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/graph/pregel-q02/pregel-q02.3.query.sqlpp deleted file mode 100644 index 99f49c1..0000000 --- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/graph/pregel-q02/pregel-q02.3.query.sqlpp +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -use Pregelix; - - -select element n -from ResultGraph as n -; diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/graph/pregel-q03/pregel-q03.1.ddl.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/graph/pregel-q03/pregel-q03.1.ddl.sqlpp deleted file mode 100644 index d56e013..0000000 --- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/graph/pregel-q03/pregel-q03.1.ddl.sqlpp +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -drop dataverse Pregelix if exists; -create dataverse Pregelix; - -use Pregelix; - - -create type Pregelix.EdgeType as -{ - destVertexId : bigint, - cost : float? -}; - -create type Pregelix.NodeType as -{ - id : bigint, - `value` : double?, - edges : {{EdgeType}}; -}; - -create dataset InputGraph(NodeType) primary key id; - -create dataset ResultGraph(NodeType) primary key id; - diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/graph/pregel-q03/pregel-q03.2.update.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/graph/pregel-q03/pregel-q03.2.update.sqlpp deleted file mode 100644 index 6b89842..0000000 --- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/graph/pregel-q03/pregel-q03.2.update.sqlpp +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -use Pregelix; - - -insert into InputGraph -select element {{{'id':0,'edges':{{{'destVertexId':1,'cost':1.000000f}}}},{'id':1,'edges':{{{'destVertexId':3,'cost':4.000000f},{'destVertexId':2,'cost':3.000000f}}}},{'id':2,'edges':{{{'destVertexId':4,'cost':5.000000f},{'destVertexId':5,'cost':23.000000f}}}},{'id':3,'edges':{{{'destVertexId':2,'cost':1.000000f},{'destVertexId':8,'cost':13.000000f}}}},{'id':4,'edges':{{{'destVertexId':1,'cost':5.000000f},{'destVertexId':2,'cost':8.000000f},{'destVertexId':3,'cost':23.000000f},{'destVertexId':4,'cost':12.000000f}}}},{'id':5,'edges':{{{'destVertexId':6,'cost':12.000000f},{'destVertexId':7,'cost':17.000000f}}}},{'id':6,'edges':{{{'destVertexId':1,'cost':12.000000f},{'destVertexId':2,'cost':1.000000f}}}},{'id':7,'edges':{{{'destVertexId':9,'cost':100.000000f}}}},{'id':8,'edges':{{{'destVertexId':4,'cost':11.000000f}}}},{'id':9,'edges':{{{'destVertexId':1,'cost':16.000000f},{'destVertexId':2,'cost':9.000000f}}}}}}; diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/graph/pregel-q03/pregel-q03.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/graph/pregel-q03/pregel-q03.3.query.sqlpp deleted file mode 100644 index 99f49c1..0000000 --- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/graph/pregel-q03/pregel-q03.3.query.sqlpp +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -use Pregelix; - - -select element n -from ResultGraph as n -; diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/graph/pregel-q01/pregel-q01.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/graph/pregel-q01/pregel-q01.1.adm deleted file mode 100644 index 4f747e2..0000000 --- a/asterixdb/asterix-app/src/test/resources/runtimets/results/graph/pregel-q01/pregel-q01.1.adm +++ /dev/null @@ -1,12 +0,0 @@ -{ "tweetid": 1i64, "rank-value": 0.07349647505081802d, "populated-by": {{ { "tweetid": 2i64, "value": 0.0f }, { "tweetid": 3i64, "value": 0.0f } }} } -{ "tweetid": 2i64, "rank-value": 0.10497306443795257d, "populated-by": {{ { "tweetid": 7i64, "value": 0.0f }, { "tweetid": 1i64, "value": 0.0f } }} } -{ "tweetid": 3i64, "rank-value": 0.09458886502271134d, "populated-by": {{ { "tweetid": 8i64, "value": 0.0f }, { "tweetid": 6i64, "value": 0.0f } }} } -{ "tweetid": 4i64, "rank-value": 0.04783722202788025d, "populated-by": {{ { "tweetid": 1i64, "value": 0.0f }, { "tweetid": 3i64, "value": 0.0f } }} } -{ "tweetid": 5i64, "rank-value": 0.051587222027880256d, "populated-by": {{ { "tweetid": 8i64, "value": 0.0f }, { "tweetid": 6i64, "value": 0.0f } }} } -{ "tweetid": 6i64, "rank-value": 0.0822549135142923d, "populated-by": {{ { "tweetid": 4i64, "value": 0.0f }, { "tweetid": 5i64, "value": 0.0f } }} } -{ "tweetid": 7i64, "rank-value": 0.14484555969829038d, "populated-by": {{ { "tweetid": 2i64, "value": 0.0f }, { "tweetid": 7i64, "value": 0.0f } }} } -{ "tweetid": 8i64, "rank-value": 0.0710049135142923d, "populated-by": {{ { "tweetid": 3i64, "value": 0.0f }, { "tweetid": 7i64, "value": 0.0f } }} } -{ "tweetid": 9i64, "rank-value": 0.008823529411764706d, "populated-by": {{ { "tweetid": 6i64, "value": 0.0f }, { "tweetid": 2i64, "value": 0.0f } }} } -{ "tweetid": 10i64, "rank-value": 0.008823529411764706d, "populated-by": {{ { "tweetid": 4i64, "value": 0.0f }, { "tweetid": 5i64, "value": 0.0f } }} } -{ "tweetid": 11i64, "rank-value": 0.008823529411764706d, "populated-by": {{ { "tweetid": 6i64, "value": 0.0f }, { "tweetid": 3i64, "value": 0.0f } }} } -{ "tweetid": 12i64, "rank-value": 0.008823529411764706d, "populated-by": {{ { "tweetid": 6i64, "value": 0.0f }, { "tweetid": 5i64, "value": 0.0f } }} } diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/graph/pregel-q02/pregel-q02.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/graph/pregel-q02/pregel-q02.1.adm deleted file mode 100644 index c5e21b0..0000000 --- a/asterixdb/asterix-app/src/test/resources/runtimets/results/graph/pregel-q02/pregel-q02.1.adm +++ /dev/null @@ -1,20 +0,0 @@ -{ "id": 0i64, "value": 0i64, "edges": {{ { "destVertexId": 1i64, "value": 0.0f } }} } -{ "id": 1i64, "value": 0i64, "edges": {{ { "destVertexId": 1i64, "value": 0.0f }, { "destVertexId": 2i64, "value": 0.0f } }} } -{ "id": 2i64, "value": 0i64, "edges": {{ { "destVertexId": 1i64, "value": 0.0f }, { "destVertexId": 2i64, "value": 0.0f }, { "destVertexId": 3i64, "value": 0.0f } }} } -{ "id": 3i64, "value": 0i64, "edges": {{ { "destVertexId": 1i64, "value": 0.0f }, { "destVertexId": 2i64, "value": 0.0f }, { "destVertexId": 3i64, "value": 0.0f }, { "destVertexId": 4i64, "value": 0.0f } }} } -{ "id": 4i64, "value": 0i64, "edges": {{ { "destVertexId": 1i64, "value": 0.0f }, { "destVertexId": 2i64, "value": 0.0f }, { "destVertexId": 3i64, "value": 0.0f }, { "destVertexId": 4i64, "value": 0.0f }, { "destVertexId": 5i64, "value": 0.0f } }} } -{ "id": 5i64, "value": 0i64, "edges": {{ { "destVertexId": 1i64, "value": 0.0f }, { "destVertexId": 2i64, "value": 0.0f }, { "destVertexId": 3i64, "value": 0.0f }, { "destVertexId": 4i64, "value": 0.0f }, { "destVertexId": 5i64, "value": 0.0f }, { "destVertexId": 6i64, "value": 0.0f } }} } -{ "id": 6i64, "value": 0i64, "edges": {{ { "destVertexId": 1i64, "value": 0.0f }, { "destVertexId": 2i64, "value": 0.0f }, { "destVertexId": 3i64, "value": 0.0f }, { "destVertexId": 4i64, "value": 0.0f }, { "destVertexId": 5i64, "value": 0.0f }, { "destVertexId": 6i64, "value": 0.0f }, { "destVertexId": 7i64, "value": 0.0f } }} } -{ "id": 7i64, "value": 0i64, "edges": {{ { "destVertexId": 1i64, "value": 0.0f }, { "destVertexId": 2i64, "value": 0.0f }, { "destVertexId": 3i64, "value": 0.0f }, { "destVertexId": 4i64, "value": 0.0f }, { "destVertexId": 5i64, "value": 0.0f }, { "destVertexId": 6i64, "value": 0.0f }, { "destVertexId": 7i64, "value": 0.0f }, { "destVertexId": 8i64, "value": 0.0f } }} } -{ "id": 8i64, "value": 0i64, "edges": {{ { "destVertexId": 1i64, "value": 0.0f }, { "destVertexId": 2i64, "value": 0.0f }, { "destVertexId": 3i64, "value": 0.0f }, { "destVertexId": 4i64, "value": 0.0f }, { "destVertexId": 5i64, "value": 0.0f }, { "destVertexId": 6i64, "value": 0.0f }, { "destVertexId": 7i64, "value": 0.0f }, { "destVertexId": 8i64, "value": 0.0f }, { "destVertexId": 9i64, "value": 0.0f } }} } -{ "id": 9i64, "value": 0i64, "edges": {{ { "destVertexId": 1i64, "value": 0.0f }, { "destVertexId": 2i64, "value": 0.0f }, { "destVertexId": 3i64, "value": 0.0f }, { "destVertexId": 4i64, "value": 0.0f }, { "destVertexId": 5i64, "value": 0.0f }, { "destVertexId": 6i64, "value": 0.0f }, { "destVertexId": 7i64, "value": 0.0f }, { "destVertexId": 8i64, "value": 0.0f }, { "destVertexId": 9i64, "value": 0.0f }, { "destVertexId": 0i64, "value": 0.0f } }} } -{ "id": 10i64, "value": 10i64, "edges": {{ { "destVertexId": 11i64, "value": 0.0f } }} } -{ "id": 11i64, "value": 10i64, "edges": {{ { "destVertexId": 11i64, "value": 0.0f }, { "destVertexId": 12i64, "value": 0.0f } }} } -{ "id": 12i64, "value": 10i64, "edges": {{ { "destVertexId": 11i64, "value": 0.0f }, { "destVertexId": 12i64, "value": 0.0f }, { "destVertexId": 13i64, "value": 0.0f } }} } -{ "id": 13i64, "value": 10i64, "edges": {{ { "destVertexId": 11i64, "value": 0.0f }, { "destVertexId": 12i64, "value": 0.0f }, { "destVertexId": 13i64, "value": 0.0f }, { "destVertexId": 14i64, "value": 0.0f } }} } -{ "id": 14i64, "value": 10i64, "edges": {{ { "destVertexId": 11i64, "value": 0.0f }, { "destVertexId": 12i64, "value": 0.0f }, { "destVertexId": 13i64, "value": 0.0f }, { "destVertexId": 14i64, "value": 0.0f }, { "destVertexId": 15i64, "value": 0.0f } }} } -{ "id": 15i64, "value": 10i64, "edges": {{ { "destVertexId": 11i64, "value": 0.0f }, { "destVertexId": 12i64, "value": 0.0f }, { "destVertexId": 13i64, "value": 0.0f }, { "destVertexId": 14i64, "value": 0.0f }, { "destVertexId": 15i64, "value": 0.0f }, { "destVertexId": 16i64, "value": 0.0f } }} } -{ "id": 16i64, "value": 10i64, "edges": {{ { "destVertexId": 11i64, "value": 0.0f }, { "destVertexId": 12i64, "value": 0.0f }, { "destVertexId": 13i64, "value": 0.0f }, { "destVertexId": 14i64, "value": 0.0f }, { "destVertexId": 15i64, "value": 0.0f }, { "destVertexId": 16i64, "value": 0.0f }, { "destVertexId": 17i64, "value": 0.0f } }} } -{ "id": 17i64, "value": 10i64, "edges": {{ { "destVertexId": 11i64, "value": 0.0f }, { "destVertexId": 12i64, "value": 0.0f }, { "destVertexId": 13i64, "value": 0.0f }, { "destVertexId": 14i64, "value": 0.0f }, { "destVertexId": 15i64, "value": 0.0f }, { "destVertexId": 16i64, "value": 0.0f }, { "destVertexId": 17i64, "value": 0.0f }, { "destVertexId": 18i64, "value": 0.0f } }} } -{ "id": 18i64, "value": 10i64, "edges": {{ { "destVertexId": 11i64, "value": 0.0f }, { "destVertexId": 12i64, "value": 0.0f }, { "destVertexId": 13i64, "value": 0.0f }, { "destVertexId": 14i64, "value": 0.0f }, { "destVertexId": 15i64, "value": 0.0f }, { "destVertexId": 16i64, "value": 0.0f }, { "destVertexId": 17i64, "value": 0.0f }, { "destVertexId": 18i64, "value": 0.0f }, { "destVertexId": 19i64, "value": 0.0f } }} } -{ "id": 19i64, "value": 10i64, "edges": {{ { "destVertexId": 11i64, "value": 0.0f }, { "destVertexId": 12i64, "value": 0.0f }, { "destVertexId": 13i64, "value": 0.0f }, { "destVertexId": 14i64, "value": 0.0f }, { "destVertexId": 15i64, "value": 0.0f }, { "destVertexId": 16i64, "value": 0.0f }, { "destVertexId": 17i64, "value": 0.0f }, { "destVertexId": 18i64, "value": 0.0f }, { "destVertexId": 19i64, "value": 0.0f }, { "destVertexId": 10i64, "value": 0.0f } }} } diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/graph/pregel-q03/pregel-q03.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/graph/pregel-q03/pregel-q03.1.adm deleted file mode 100644 index bee980c..0000000 --- a/asterixdb/asterix-app/src/test/resources/runtimets/results/graph/pregel-q03/pregel-q03.1.adm +++ /dev/null @@ -1,10 +0,0 @@ -{ "id": 0i64, "value": 0.0d, "edges": {{ { "destVertexId": 1i64, "cost": 1.0f } }} } -{ "id": 1i64, "value": 1.0d, "edges": {{ { "destVertexId": 3i64, "cost": 4.0f }, { "destVertexId": 2i64, "cost": 3.0f } }} } -{ "id": 2i64, "value": 4.0d, "edges": {{ { "destVertexId": 4i64, "cost": 5.0f }, { "destVertexId": 5i64, "cost": 23.0f } }} } -{ "id": 3i64, "value": 5.0d, "edges": {{ { "destVertexId": 2i64, "cost": 1.0f }, { "destVertexId": 8i64, "cost": 13.0f } }} } -{ "id": 4i64, "value": 9.0d, "edges": {{ { "destVertexId": 1i64, "cost": 5.0f }, { "destVertexId": 2i64, "cost": 8.0f }, { "destVertexId": 3i64, "cost": 23.0f }, { "destVertexId": 4i64, "cost": 12.0f } }} } -{ "id": 5i64, "value": 27.0d, "edges": {{ { "destVertexId": 6i64, "cost": 12.0f }, { "destVertexId": 7i64, "cost": 17.0f } }} } -{ "id": 6i64, "value": 39.0d, "edges": {{ { "destVertexId": 1i64, "cost": 12.0f }, { "destVertexId": 2i64, "cost": 1.0f } }} } -{ "id": 7i64, "value": 44.0d, "edges": {{ { "destVertexId": 9i64, "cost": 100.0f } }} } -{ "id": 8i64, "value": 18.0d, "edges": {{ { "destVertexId": 4i64, "cost": 11.0f } }} } -{ "id": 9i64, "value": 144.0d, "edges": {{ { "destVertexId": 1i64, "cost": 16.0f }, { "destVertexId": 2i64, "cost": 9.0f } }} } diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/testsuite.xml b/asterixdb/asterix-app/src/test/resources/runtimets/testsuite.xml index b17db48..887b39a 100644 --- a/asterixdb/asterix-app/src/test/resources/runtimets/testsuite.xml +++ b/asterixdb/asterix-app/src/test/resources/runtimets/testsuite.xml @@ -2886,23 +2886,6 @@ </compilation-unit> </test-case> </test-group> - <!-- <test-group name="graph"> - <test-case FilePath="graph"> - <compilation-unit name="pregel-q01"> - <output-dir compare="Text">pregel-q01</output-dir> - </compilation-unit> - </test-case> - <test-case FilePath="graph"> - <compilation-unit name="pregel-q02"> - <output-dir compare="Text">pregel-q02</output-dir> - </compilation-unit> - </test-case> - <test-case FilePath="graph"> - <compilation-unit name="pregel-q03"> - <output-dir compare="Text">pregel-q03</output-dir> - </compilation-unit> - </test-case> - </test-group> --> <test-group name="index-join"> <test-case FilePath="index-join"> <compilation-unit name="btree-index-nested-loop-join"> diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml b/asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml index 3a535cc..997c02c 100644 --- a/asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml +++ b/asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml @@ -2717,21 +2717,6 @@ </test-case> </test-group> --> - <!-- <test-group name="graph"> - <test-case FilePath="graph"> - <compilation-unit name="pregel-q01"> - <output-dir compare="Text">pregel-q01</output-dir> - </compilation-unit> - <test-case FilePath="graph"> - <compilation-unit name="pregel-q02"> - <output-dir compare="Text">pregel-q02</output-dir> - </compilation-unit> - <test-case FilePath="graph"> - <compilation-unit name="pregel-q03"> - <output-dir compare="Text">pregel-q03</output-dir> - </compilation-unit> - </test-case> - </test-group> --> <test-group name="fulltext"> <test-case FilePath="fulltext"> <compilation-unit name="fulltext-01"> diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp_parser.xml b/asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp_parser.xml index 283f055..753e3a7 100644 --- a/asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp_parser.xml +++ b/asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp_parser.xml @@ -2465,21 +2465,6 @@ </compilation-unit> </test-case> </test-group> - <!-- <test-group name="graph"> - <test-case FilePath="graph"> - <compilation-unit name="pregel-q01"> - <output-dir compare="AST">pregel-q01</output-dir> - </compilation-unit> - <test-case FilePath="graph"> - <compilation-unit name="pregel-q02"> - <output-dir compare="AST">pregel-q02</output-dir> - </compilation-unit> - <test-case FilePath="graph"> - <compilation-unit name="pregel-q03"> - <output-dir compare="AST">pregel-q03</output-dir> - </compilation-unit> - </test-case> - </test-group> --> <test-group name="index-join"> <test-case FilePath="index-join"> <compilation-unit name="btree-index-nested-loop-join"> diff --git a/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/config/CompilerProperties.java b/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/config/CompilerProperties.java index 821b6e1..0580c1f 100644 --- a/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/config/CompilerProperties.java +++ b/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/config/CompilerProperties.java @@ -18,10 +18,7 @@ */ package org.apache.asterix.common.config; -import static org.apache.hyracks.control.common.config.OptionTypes.INTEGER; -import static org.apache.hyracks.control.common.config.OptionTypes.INTEGER_BYTE_UNIT; -import static org.apache.hyracks.control.common.config.OptionTypes.LONG_BYTE_UNIT; -import static org.apache.hyracks.control.common.config.OptionTypes.STRING; +import static org.apache.hyracks.control.common.config.OptionTypes.*; import static org.apache.hyracks.util.StorageUtil.StorageUnit.KILOBYTE; import static org.apache.hyracks.util.StorageUtil.StorageUnit.MEGABYTE; @@ -57,7 +54,6 @@ + "other integer values dictate the number of query execution parallel partitions. The system will " + "fall back to use the number of all available CPU cores in the cluster as the degree of parallelism " + "if the number set by a user is too large or too small"), - COMPILER_PREGELIX_HOME(STRING, "~/pregelix", "Pregelix installation root directory"), COMPILER_STRINGOFFSET(INTEGER, 0, "Position of a first character in a String/Binary (0 or 1)"); private final IOptionType type; @@ -92,7 +88,7 @@ @Override public boolean hidden() { - return this == COMPILER_PREGELIX_HOME || this == COMPILER_STRINGOFFSET; + return this == COMPILER_STRINGOFFSET; } } @@ -128,10 +124,6 @@ public int getParallelism() { return accessor.getInt(Option.COMPILER_PARALLELISM); - } - - public String getPregelixHome() { - return accessor.getString(Option.COMPILER_PREGELIX_HOME); } public int getStringOffset() { diff --git a/asterixdb/asterix-lang-aql/src/main/javacc/AQL.jj b/asterixdb/asterix-lang-aql/src/main/javacc/AQL.jj index 7ddc5d2..8efcf1c 100644 --- a/asterixdb/asterix-lang-aql/src/main/javacc/AQL.jj +++ b/asterixdb/asterix-lang-aql/src/main/javacc/AQL.jj @@ -140,7 +140,6 @@ import org.apache.asterix.lang.common.statement.NodegroupDecl; import org.apache.asterix.lang.common.statement.Query; import org.apache.asterix.lang.common.statement.RefreshExternalDatasetStatement; -import org.apache.asterix.lang.common.statement.RunStatement; import org.apache.asterix.lang.common.statement.SetStatement; import org.apache.asterix.lang.common.statement.TypeDecl; import org.apache.asterix.lang.common.statement.TypeDropStatement; @@ -336,7 +335,6 @@ | stmt = CompactStatement() | stmt = Query() | stmt = RefreshExternalDatasetStatement() - | stmt = RunStatement() ) { return stmt; @@ -549,27 +547,6 @@ return redss; } ) -} - -RunStatement RunStatement() throws ParseException: -{ - String system = null; - String tmp; - ArrayList<String> parameters = new ArrayList<String>(); - Pair<Identifier,Identifier> nameComponentsFrom = null; - Pair<Identifier,Identifier> nameComponentsTo = null; -} -{ - <RUN> system = Identifier()<LEFTPAREN> ( tmp = Identifier() [<COMMA>] - { - parameters.add(tmp); - } - )*<RIGHTPAREN> - <FROM> <DATASET> nameComponentsFrom = QualifiedName() - <TO> <DATASET> nameComponentsTo = QualifiedName() - { - return new RunStatement(system, parameters, nameComponentsFrom.first, nameComponentsFrom.second, nameComponentsTo.first, nameComponentsTo.second); - } } CreateIndexStatement IndexSpecification() throws ParseException: diff --git a/asterixdb/asterix-lang-common/src/main/java/org/apache/asterix/lang/common/base/Statement.java b/asterixdb/asterix-lang-common/src/main/java/org/apache/asterix/lang/common/base/Statement.java index 612b230..5d8fb69 100644 --- a/asterixdb/asterix-lang-common/src/main/java/org/apache/asterix/lang/common/base/Statement.java +++ b/asterixdb/asterix-lang-common/src/main/java/org/apache/asterix/lang/common/base/Statement.java @@ -18,13 +18,7 @@ */ package org.apache.asterix.lang.common.base; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; - public interface Statement extends ILangExpression { - public static final List<Byte> KINDS = Collections.unmodifiableList(Kind.range(Kind.DATASET_DECL, Kind.RUN)); - /** * get a byte representing the statement kind. * Note: bytes 0x00 - 0x7f are reserved for core asterix statements @@ -32,7 +26,7 @@ * * @return kind byte */ - public byte getKind(); + byte getKind(); /** * get a byte representing the statement category. @@ -40,9 +34,9 @@ * * @return kind byte */ - public byte getCategory(); + byte getCategory(); - public class Category { + class Category { /** no modifications */ public static final byte QUERY = 0x01; /** modify data */ @@ -56,7 +50,7 @@ } } - public class Kind { + class Kind { public static final byte DATASET_DECL = 0x00; public static final byte DATAVERSE_DECL = 0x01; public static final byte DATAVERSE_DROP = 0x02; @@ -91,26 +85,11 @@ public static final byte FUNCTION_DROP = 0x1f; public static final byte COMPACT = 0x20; public static final byte EXTERNAL_DATASET_REFRESH = 0x21; - public static final byte RUN = 0x22; + // 0x22 unused public static final byte EXTENSION = 0x23; public static final byte SUBSCRIBE_FEED = 0x24; private Kind() { - } - - /** - * Generate a list of Bytes from start to end - * - * @param start - * @param end - * @return - */ - private static List<Byte> range(byte start, byte end) { - ArrayList<Byte> bytes = new ArrayList<>(); - for (byte b = start; b <= end; b++) { - bytes.add(b); - } - return bytes; } } } diff --git a/asterixdb/asterix-lang-common/src/main/java/org/apache/asterix/lang/common/statement/RunStatement.java b/asterixdb/asterix-lang-common/src/main/java/org/apache/asterix/lang/common/statement/RunStatement.java deleted file mode 100644 index cee6e77..0000000 --- a/asterixdb/asterix-lang-common/src/main/java/org/apache/asterix/lang/common/statement/RunStatement.java +++ /dev/null @@ -1,86 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.asterix.lang.common.statement; - -import java.util.List; - -import org.apache.asterix.common.exceptions.CompilationException; -import org.apache.asterix.lang.common.base.Statement; -import org.apache.asterix.lang.common.struct.Identifier; -import org.apache.asterix.lang.common.visitor.base.ILangVisitor; - -public class RunStatement implements Statement { - - private String system; - private List<String> parameters; - private final Identifier dataverseNameFrom; - private final Identifier datasetNameFrom; - private final Identifier dataverseNameTo; - private final Identifier datasetNameTo; - - public RunStatement(String system, List<String> parameters, Identifier dataverseNameFrom, - Identifier datasetNameFrom, Identifier dataverseNameTo, Identifier datasetNameTo) { - this.system = system; - this.parameters = parameters; - this.datasetNameFrom = datasetNameFrom; - this.dataverseNameFrom = dataverseNameFrom; - this.datasetNameTo = datasetNameTo; - this.dataverseNameTo = dataverseNameTo; - } - - public String getSystem() { - return system; - } - - public List<String> getParameters() { - return parameters; - } - - public Identifier getDataverseNameFrom() { - return dataverseNameFrom; - } - - public Identifier getDatasetNameFrom() { - return datasetNameFrom; - } - - public Identifier getDataverseNameTo() { - return dataverseNameTo; - } - - public Identifier getDatasetNameTo() { - return datasetNameTo; - } - - @Override - public <R, T> R accept(ILangVisitor<R, T> visitor, T arg) throws CompilationException { - return null; - } - - @Override - public byte getKind() { - return Statement.Kind.RUN; - } - - @Override - public byte getCategory() { - return Category.QUERY; - } - -} diff --git a/asterixdb/asterix-lang-sqlpp/src/main/javacc/SQLPP.jj b/asterixdb/asterix-lang-sqlpp/src/main/javacc/SQLPP.jj index fd5de86..a532a6b 100644 --- a/asterixdb/asterix-lang-sqlpp/src/main/javacc/SQLPP.jj +++ b/asterixdb/asterix-lang-sqlpp/src/main/javacc/SQLPP.jj @@ -135,7 +135,6 @@ import org.apache.asterix.lang.common.statement.NodegroupDecl; import org.apache.asterix.lang.common.statement.Query; import org.apache.asterix.lang.common.statement.RefreshExternalDatasetStatement; -import org.apache.asterix.lang.common.statement.RunStatement; import org.apache.asterix.lang.common.statement.SetStatement; import org.apache.asterix.lang.common.statement.TypeDecl; import org.apache.asterix.lang.common.statement.TypeDropStatement; @@ -390,7 +389,6 @@ | stmt = ExplainStatement() | stmt = Query(false) | stmt = RefreshExternalDatasetStatement() - | stmt = RunStatement() ) { return stmt; @@ -600,27 +598,6 @@ redss.setDataverseName(nameComponents.first); redss.setDatasetName(nameComponents.second); return redss; - } -} - -RunStatement RunStatement() throws ParseException: -{ - String system = null; - String tmp; - ArrayList<String> parameters = new ArrayList<String>(); - Pair<Identifier,Identifier> nameComponentsFrom = null; - Pair<Identifier,Identifier> nameComponentsTo = null; -} -{ - <RUN> system = Identifier()<LEFTPAREN> ( tmp = Identifier() [<COMMA>] - { - parameters.add(tmp); - } - )*<RIGHTPAREN> - <FROM> Dataset() nameComponentsFrom = QualifiedName() - <TO> Dataset() nameComponentsTo = QualifiedName() - { - return new RunStatement(system, parameters, nameComponentsFrom.first, nameComponentsFrom.second, nameComponentsTo.first, nameComponentsTo.second); } } diff --git a/asterixdb/asterix-server/pom.xml b/asterixdb/asterix-server/pom.xml index 109c407..3ae891f 100644 --- a/asterixdb/asterix-server/pom.xml +++ b/asterixdb/asterix-server/pom.xml @@ -492,6 +492,22 @@ </plugins> </build> </profile> + <profile> + <id>asterix-gerrit-integration-tests</id> + <properties> + <test.includes/> + <itest.includes>**/NCServiceExecutionIT.java,**/RecoveryIT.java</itest.includes> + <failIfNoTests>false</failIfNoTests> + </properties> + </profile> + <profile> + <id>asterix-gerrit-verify-no-app</id> + <properties> + <test.includes/> + <itest.excludes>**/NCServiceExecutionIT.java,**/RecoveryIT.java</itest.excludes> + <failIfNoTests>false</failIfNoTests> + </properties> + </profile> </profiles> <dependencies> <dependency> diff --git a/asterixdb/asterix-server/src/test/resources/integrationts/asterix-configuration.xml b/asterixdb/asterix-server/src/test/resources/integrationts/asterix-configuration.xml deleted file mode 100644 index 9583485..0000000 --- a/asterixdb/asterix-server/src/test/resources/integrationts/asterix-configuration.xml +++ /dev/null @@ -1,261 +0,0 @@ -<!-- - ! Licensed to the Apache Software Foundation (ASF) under one - ! or more contributor license agreements. See the NOTICE file - ! distributed with this work for additional information - ! regarding copyright ownership. The ASF licenses this file - ! to you under the Apache License, Version 2.0 (the - ! "License"); you may not use this file except in compliance - ! with the License. You may obtain a copy of the License at - ! - ! http://www.apache.org/licenses/LICENSE-2.0 - ! - ! Unless required by applicable law or agreed to in writing, - ! software distributed under the License is distributed on an - ! "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - ! KIND, either express or implied. See the License for the - ! specific language governing permissions and limitations - ! under the License. - !--> -<asterixConfiguration xmlns="asterixconf"> - - <property> - <name>nc.java.opts</name> - <value>-Xmx4096m -Dnode.Resolver="org.apache.asterix.external.util.IdentitiyResolverFactory"</value> - <description>JVM parameters for each Node Contoller (NC)</description> - </property> - - <property> - <name>cc.java.opts</name> - <value>-Xmx1024m -Dnode.Resolver="org.apache.asterix.external.util.IdentitiyResolverFactory"</value> - <description>JVM parameters for each Cluster Contoller (CC) - </description> - </property> - - <property> - <name>max.wait.active.cluster</name> - <value>60</value> - <description>Maximum wait (in seconds) for a cluster to be ACTIVE (all nodes are available) - before a submitted query/statement can be executed. (Default = 60 seconds) - </description> - </property> - - <property> - <name>storage.buffercache.pagesize</name> - <value>128KB</value> - <description>The page size in bytes for pages in the buffer cache. - (Default = "131072" // 128KB) - </description> - </property> - - <property> - <name>storage.buffercache.size</name> - <value>512MB</value> - <description>The size of memory allocated to the disk buffer cache. - The value should be a multiple of the buffer cache page size(Default - = "536870912" // 512MB) - </description> - </property> - - <property> - <name>storage.buffercache.maxopenfiles</name> - <value>214748364</value> - <description>The maximum number of open files in the buffer cache. - (Default = "214748364") - </description> - </property> - - <property> - <name>storage.memorycomponent.pagesize</name> - <value>128KB</value> - <description>The page size in bytes for pages allocated to memory - components. (Default = "131072" // 128KB) - </description> - </property> - - <property> - <name>storage.memorycomponent.numpages</name> - <value>256</value> - <description>The number of pages to allocate for a memory component. - This budget is shared by all the memory components of the primary - index and all its secondary indexes across all I/O devices on a node. - Note: in-memory components usually has fill factor of 75% since - the pages are 75% full and the remaining 25% is un-utilized. (Default = 256) - </description> - </property> - - <property> - <name>storage.metadata.memorycomponent.numpages</name> - <value>64</value> - <description>The number of pages to allocate for a memory component. - (Default = 64) - </description> - </property> - - <property> - <name>storage.memorycomponent.numcomponents</name> - <value>2</value> - <description>The number of memory components to be used per lsm index. - (Default = 2) - </description> - </property> - - <property> - <name>storage.memorycomponent.globalbudget</name> - <value>1GB</value> - <description>The total size of memory in bytes that the sum of all open memory - components cannot exceed. Consider this as the buffer cache for all memory - components of all indexes in a node. When this budget is fully used, a victim - dataset will be chosen. The chosen dataset must be evicted and closed to make - a space for another dataset. (Default = 512MB) - </description> - </property> - - <property> - <name>storage.lsm.bloomfilter.falsepositiverate</name> - <value>0.01</value> - <description>The maximum acceptable false positive rate for bloom - filters associated with LSM indexes. (Default = "0.01" // 1%) - </description> - </property> - - <property> - <name>txn.log.buffer.numpages</name> - <value>8</value> - <description>The number of in-memory log buffer pages. (Default = "8") - </description> - </property> - - <property> - <name>txn.log.buffer.pagesize</name> - <value>512KB</value> - <description>The size of pages in the in-memory log buffer. (Default = - "524288" // 512KB) - </description> - </property> - - <property> - <name>txn.log.partitionsize</name> - <value>2GB</value> - <description>The maximum size of a log file partition allowed before - rotating the log to the next partition. (Default = "2147483648" // - 2GB) - </description> - </property> - - <property> - <name>txn.log.checkpoint.lsnthreshold</name> - <value>67108864</value> - <description>The size of the window that the maximum LSN is allowed to - be ahead of the checkpoint LSN by. (Default = ""67108864" // 64M) - </description> - </property> - - <property> - <name>txn.log.checkpoint.pollfrequency</name> - <value>120</value> - <description>The time in seconds between that the checkpoint thread - waits between polls. (Default = "120" // 120s) - </description> - </property> - - <property> - <name>txn.log.checkpoint.history</name> - <value>0</value> - <description>The number of old log partition files to keep before - discarding. (Default = "0") - </description> - </property> - - <property> - <name>txn.lock.escalationthreshold</name> - <value>1000</value> - <description>The number of entity level locks that need to be acquired - before the locks are coalesced and escalated into a dataset level - lock. (Default = "1000") - </description> - </property> - - <property> - <name>txn.lock.shrinktimer</name> - <value>5000</value> - <description>The time in milliseconds to wait before deallocating - unused lock manager memory. (Default = "5000" // 5s) - </description> - </property> - - <property> - <name>txn.lock.timeout.waitthreshold</name> - <value>60000</value> - <description>The time in milliseconds to wait before labeling a - transaction which has been waiting for a lock timed-out. (Default = - "60000" // 60s) - </description> - </property> - - <property> - <name>txn.lock.timeout.sweepthreshold</name> - <value>10000</value> - <description>The time in milliseconds the timeout thread waits between - sweeps to detect timed-out transactions. (Default = "10000" // 10s) - </description> - </property> - - <property> - <name>compiler.sortmemory</name> - <value>32MB</value> - <description>The amount of memory in bytes given to sort operations. - (Default = "33554432" // 32MB) - </description> - </property> - - <property> - <name>compiler.joinmemory</name> - <value>32MB</value> - <description>The amount of memory in bytes given to join operations. - (Default = "33554432" // 32MB) - </description> - </property> - - <property> - <name>compiler.groupmemory</name> - <value>32MB</value> - <description>The amount of memory in bytes given to group-by operations. - (Default = "33554432" // 32MB) - </description> - </property> - - <property> - <name>compiler.framesize</name> - <value>128KB</value> - <description>The Hyracks frame size that the compiler configures per - job. (Default = "131072" // 128KB) - </description> - </property> - - <property> - <name>compiler.pregelix.home</name> - <value>~/pregelix</value> - </property> - - <property> - <name>web.port</name> - <value>19001</value> - <description>The port for the ASTERIX web interface. (Default = 19001) - </description> - </property> - - <property> - <name>api.port</name> - <value>19002</value> - <description>The port for the ASTERIX API server. (Default = 19002) - </description> - </property> - - <property> - <name>log.level</name> - <value>INFO</value> - <description>The minimum log level to be displayed. (Default = INFO) - </description> - </property> - -</asterixConfiguration> diff --git a/asterixdb/pom.xml b/asterixdb/pom.xml index 2ff67c6..adab2e4 100644 --- a/asterixdb/pom.xml +++ b/asterixdb/pom.xml @@ -737,6 +737,13 @@ </plugins> </build> </profile> + <profile> + <id>integration-tests-only</id> + <properties> + <test.includes/> + <failIfNoTests>false</failIfNoTests> + </properties> + </profile> </profiles> <modules> diff --git a/hyracks-fullstack/pom.xml b/hyracks-fullstack/pom.xml index a990f0e..339372e 100644 --- a/hyracks-fullstack/pom.xml +++ b/hyracks-fullstack/pom.xml @@ -63,10 +63,9 @@ <skip.testResources>${maven.test.skip}</skip.testResources> <testLog4jConfigFile>${root.dir}/src/test/resources/log4j2-hyracks-test.xml</testLog4jConfigFile> <!-- Definition of tests in various categories which may be excluded --> - <hanging.pregelix.tests>**/pregelix/**/FailureRecovery*.java</hanging.pregelix.tests> <hivesterix.perf.tests>**/hivesterix/perf/PerfTestSuite.java</hivesterix.perf.tests> <global.test.includes>**/*TestSuite.java,**/*Test.java</global.test.includes> - <global.test.excludes>**/Abstract*.java,${hanging.pregelix.tests},${hivesterix.perf.tests}</global.test.excludes> + <global.test.excludes>**/Abstract*.java,${hivesterix.perf.tests}</global.test.excludes> <test.includes>${global.test.includes}</test.includes> <test.excludes>${global.test.excludes}</test.excludes> <!-- Versions under dependencymanagement or used in many projects via properties --> @@ -545,12 +544,6 @@ <profiles> <profile> - <id>hanging-pregelix-tests</id> - <properties> - <hanging.pregelix.tests /> - </properties> - </profile> - <profile> <id>skip-assembly</id> <activation> <file> @@ -667,6 +660,13 @@ <jdk.version>1.8</jdk.version> </properties> </profile> + <profile> + <id>integration-tests-only</id> + <properties> + <test.includes/> + <failIfNoTests>false</failIfNoTests> + </properties> + </profile> </profiles> <modules> -- To view, visit https://asterix-gerrit.ics.uci.edu/2381 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: merged Gerrit-Change-Id: I7d5f789ee6c3ca3ffa41edcc36fa7f494b04924b Gerrit-PatchSet: 5 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Michael Blow <mb...@apache.org> Gerrit-Reviewer: Anon. E. Moose #1000171 Gerrit-Reviewer: Jenkins <jenk...@fulliautomatix.ics.uci.edu> Gerrit-Reviewer: Michael Blow <mb...@apache.org> Gerrit-Reviewer: Murtadha Hubail <mhub...@apache.org> Gerrit-Reviewer: Till Westmann <ti...@apache.org>