Search in sources :

Example 86 with Unmarshaller

use of javax.xml.bind.Unmarshaller in project voltdb by VoltDB.

the class CatalogPasswordScrambler method getDeployment.

public static DeploymentType getDeployment(File sourceFH) {
    try {
        JAXBContext jc = JAXBContext.newInstance("org.voltdb.compiler.deploymentfile");
        // This schema shot the sheriff.
        SchemaFactory sf = SchemaFactory.newInstance(javax.xml.XMLConstants.W3C_XML_SCHEMA_NS_URI);
        Schema schema = sf.newSchema(DependencyPair.class.getResource("compiler/DeploymentFileSchema.xsd"));
        Unmarshaller unmarshaller = jc.createUnmarshaller();
        unmarshaller.setSchema(schema);
        @SuppressWarnings("unchecked") JAXBElement<DeploymentType> result = (JAXBElement<DeploymentType>) unmarshaller.unmarshal(sourceFH);
        DeploymentType deployment = result.getValue();
        return deployment;
    } catch (JAXBException e) {
        // Convert some linked exceptions to more friendly errors.
        if (e.getLinkedException() instanceof java.io.FileNotFoundException) {
            System.err.println(e.getLinkedException().getMessage());
            return null;
        } else if (e.getLinkedException() instanceof org.xml.sax.SAXParseException) {
            System.err.println("Error schema validating deployment.xml file. " + e.getLinkedException().getMessage());
            return null;
        } else {
            throw new RuntimeException(e);
        }
    } catch (SAXException e) {
        System.err.println("Error schema validating deployment.xml file. " + e.getMessage());
        return null;
    }
}
Also used : SchemaFactory(javax.xml.validation.SchemaFactory) Schema(javax.xml.validation.Schema) JAXBException(javax.xml.bind.JAXBException) JAXBContext(javax.xml.bind.JAXBContext) JAXBElement(javax.xml.bind.JAXBElement) DeploymentType(org.voltdb.compiler.deploymentfile.DeploymentType) SAXException(org.xml.sax.SAXException) Unmarshaller(javax.xml.bind.Unmarshaller) DependencyPair(org.voltdb.DependencyPair)

Example 87 with Unmarshaller

use of javax.xml.bind.Unmarshaller in project zm-mailbox by Zimbra.

the class JaxbUtil method elementToJaxbUsingByteArray.

/**
     * This appears to be safe but is fairly slow.
     * Note that this method does NOT support Zimbra's greater flexibility
     * for Xml structure.  Something similar to {@link fixupStructureForJaxb}
     * will be needed to add such support.
     */
@Deprecated
@SuppressWarnings("unchecked")
public static <T> T elementToJaxbUsingByteArray(Element e) throws ServiceException {
    try {
        Unmarshaller unmarshaller = getContext().createUnmarshaller();
        org.dom4j.Element rootElem = e.toXML();
        return (T) unmarshaller.unmarshal(new ByteArrayInputStream(rootElem.asXML().getBytes(Charsets.UTF_8)));
    } catch (JAXBException ex) {
        throw ServiceException.FAILURE("Unable to unmarshal response for " + e.getName(), ex);
    }
}
Also used : ByteArrayInputStream(java.io.ByteArrayInputStream) JAXBException(javax.xml.bind.JAXBException) Unmarshaller(javax.xml.bind.Unmarshaller)

Example 88 with Unmarshaller

use of javax.xml.bind.Unmarshaller in project asterixdb by apache.

the class AbstractSpatialIndexExperiment3PIdxLoadBuilder method doBuild.

@Override
protected void doBuild(Experiment e) throws Exception {
    SequentialActionList execs = new SequentialActionList();
    String clusterConfigPath = localExperimentRoot.resolve(LSMExperimentConstants.CONFIG_DIR).resolve(clusterConfigFileName).toString();
    String asterixConfigPath = localExperimentRoot.resolve(LSMExperimentConstants.CONFIG_DIR).resolve(LSMExperimentConstants.ASTERIX_CONFIGURATION).toString();
    //stop/delete/create instance
    execs.add(new StopAsterixManagixAction(managixHomePath, ASTERIX_INSTANCE_NAME));
    execs.add(new DeleteAsterixManagixAction(managixHomePath, ASTERIX_INSTANCE_NAME));
    execs.add(new SleepAction(30000));
    execs.add(new CreateAsterixManagixAction(managixHomePath, ASTERIX_INSTANCE_NAME, clusterConfigPath, asterixConfigPath));
    //ddl statements
    execs.add(new SleepAction(15000));
    // TODO: implement retry handler
    execs.add(new RunAQLFileAction(httpClient, restHost, restPort, localExperimentRoot.resolve(LSMExperimentConstants.AQL_DIR).resolve(LSMExperimentConstants.BASE_TYPES)));
    doBuildDDL(execs);
    //prepare io state action in NC node(s)
    Map<String, List<String>> dgenPairs = readDatagenPairs(localExperimentRoot.resolve(LSMExperimentConstants.DGEN_DIR).resolve(dgenFileName));
    final Set<String> ncHosts = new HashSet<>();
    for (List<String> ncHostList : dgenPairs.values()) {
        for (String ncHost : ncHostList) {
            ncHosts.add(ncHost.split(":")[0]);
        }
    }
    if (statFile != null) {
        ParallelActionSet ioCountActions = new ParallelActionSet();
        for (String ncHost : ncHosts) {
            ioCountActions.add(new AbstractRemoteExecutableAction(ncHost, username, sshKeyLocation) {

                @Override
                protected String getCommand() {
                    String cmd = "screen -d -m sh -c \"sar -b -u 1 > " + statFile + "\"";
                    return cmd;
                }
            });
        }
        execs.add(ioCountActions);
    }
    //prepare post ls action
    SequentialActionList postLSAction = new SequentialActionList();
    File file = new File(clusterConfigPath);
    JAXBContext ctx = JAXBContext.newInstance(Cluster.class);
    Unmarshaller unmarshaller = ctx.createUnmarshaller();
    final Cluster cluster = (Cluster) unmarshaller.unmarshal(file);
    String[] storageRoots = cluster.getIodevices().split(",");
    for (String ncHost : ncHosts) {
        for (final String sRoot : storageRoots) {
            lsAction.add(new AbstractRemoteExecutableAction(ncHost, username, sshKeyLocation) {

                @Override
                protected String getCommand() {
                    return "ls -Rl " + sRoot;
                }
            });
            postLSAction.add(new AbstractRemoteExecutableAction(ncHost, username, sshKeyLocation) {

                @Override
                protected String getCommand() {
                    return "ls -Rl " + sRoot;
                }
            });
        }
    }
    //---------- main experiment body begins -----------
    //load data into pidx 
    execs.add(new TimedAction(new RunAQLFileAction(httpClient, restHost, restPort, localExperimentRoot.resolve(LSMExperimentConstants.AQL_DIR).resolve(loadAQLFilePath))));
    //kill io state action
    if (statFile != null) {
        ParallelActionSet ioCountKillActions = new ParallelActionSet();
        for (String ncHost : ncHosts) {
            ioCountKillActions.add(new AbstractRemoteExecutableAction(ncHost, username, sshKeyLocation) {

                @Override
                protected String getCommand() {
                    String cmd = "screen -X -S `screen -list | grep Detached | awk '{print $1}'` quit";
                    return cmd;
                }
            });
        }
        execs.add(ioCountKillActions);
    }
    //total record count
    execs.add(new SleepAction(10000));
    if (countFileName != null) {
        execs.add(new RunAQLFileAction(httpClient, restHost, restPort, localExperimentRoot.resolve(LSMExperimentConstants.AQL_DIR).resolve(countFileName)));
    }
    //add ls action
    execs.add(postLSAction);
    //kill asterix cc and nc
    ParallelActionSet killCmds = new ParallelActionSet();
    for (String ncHost : ncHosts) {
        killCmds.add(new RemoteAsterixDriverKill(ncHost, username, sshKeyLocation));
    }
    killCmds.add(new RemoteAsterixDriverKill(restHost, username, sshKeyLocation));
    execs.add(killCmds);
    //stop asterix instance
    execs.add(new StopAsterixManagixAction(managixHomePath, ASTERIX_INSTANCE_NAME));
    //prepare to collect io state by putting the state file into asterix log dir
    if (statFile != null) {
        ParallelActionSet collectIOActions = new ParallelActionSet();
        for (String ncHost : ncHosts) {
            collectIOActions.add(new AbstractRemoteExecutableAction(ncHost, username, sshKeyLocation) {

                @Override
                protected String getCommand() {
                    String cmd = "cp " + statFile + " " + cluster.getLogDir();
                    return cmd;
                }
            });
        }
        execs.add(collectIOActions);
    }
    //collect cc and nc logs
    execs.add(new LogAsterixManagixAction(managixHomePath, ASTERIX_INSTANCE_NAME, localExperimentRoot.resolve(LSMExperimentConstants.LOG_DIR + "-" + logDirSuffix).resolve(getName()).toString()));
    e.addBody(execs);
}
Also used : DeleteAsterixManagixAction(org.apache.asterix.experiment.action.derived.ManagixActions.DeleteAsterixManagixAction) StopAsterixManagixAction(org.apache.asterix.experiment.action.derived.ManagixActions.StopAsterixManagixAction) Cluster(org.apache.asterix.event.schema.cluster.Cluster) JAXBContext(javax.xml.bind.JAXBContext) TimedAction(org.apache.asterix.experiment.action.derived.TimedAction) SleepAction(org.apache.asterix.experiment.action.derived.SleepAction) LogAsterixManagixAction(org.apache.asterix.experiment.action.derived.ManagixActions.LogAsterixManagixAction) AbstractRemoteExecutableAction(org.apache.asterix.experiment.action.derived.AbstractRemoteExecutableAction) ParallelActionSet(org.apache.asterix.experiment.action.base.ParallelActionSet) RemoteAsterixDriverKill(org.apache.asterix.experiment.action.derived.RemoteAsterixDriverKill) SequentialActionList(org.apache.asterix.experiment.action.base.SequentialActionList) RunAQLFileAction(org.apache.asterix.experiment.action.derived.RunAQLFileAction) ArrayList(java.util.ArrayList) SequentialActionList(org.apache.asterix.experiment.action.base.SequentialActionList) List(java.util.List) Unmarshaller(javax.xml.bind.Unmarshaller) File(java.io.File) CreateAsterixManagixAction(org.apache.asterix.experiment.action.derived.ManagixActions.CreateAsterixManagixAction) HashSet(java.util.HashSet)

Example 89 with Unmarshaller

use of javax.xml.bind.Unmarshaller in project asterixdb by apache.

the class AbstractSpatialIndexExperiment3SIdxCreateAndQueryBuilder method doBuild.

@Override
protected void doBuild(Experiment e) throws Exception {
    SequentialActionList execs = new SequentialActionList();
    String clusterConfigPath = localExperimentRoot.resolve(LSMExperimentConstants.CONFIG_DIR).resolve(clusterConfigFileName).toString();
    String asterixConfigPath = localExperimentRoot.resolve(LSMExperimentConstants.CONFIG_DIR).resolve(LSMExperimentConstants.ASTERIX_CONFIGURATION).toString();
    //start asterix instance
    execs.add(new StartAsterixManagixAction(managixHomePath, ASTERIX_INSTANCE_NAME));
    execs.add(new SleepAction(30000));
    //prepare io state action in NC node(s)
    Map<String, List<String>> dgenPairs = readDatagenPairs(localExperimentRoot.resolve(LSMExperimentConstants.DGEN_DIR).resolve(dgenFileName));
    final Set<String> ncHosts = new HashSet<>();
    for (List<String> ncHostList : dgenPairs.values()) {
        for (String ncHost : ncHostList) {
            ncHosts.add(ncHost.split(":")[0]);
        }
    }
    if (statFile != null) {
        ParallelActionSet ioCountActions = new ParallelActionSet();
        for (String ncHost : ncHosts) {
            ioCountActions.add(new AbstractRemoteExecutableAction(ncHost, username, sshKeyLocation) {

                @Override
                protected String getCommand() {
                    String cmd = "screen -d -m sh -c \"sar -b -u 1 > " + statFile + "\"";
                    return cmd;
                }
            });
        }
        execs.add(ioCountActions);
    }
    //prepare post ls action
    SequentialActionList postLSAction = new SequentialActionList();
    File file = new File(clusterConfigPath);
    JAXBContext ctx = JAXBContext.newInstance(Cluster.class);
    Unmarshaller unmarshaller = ctx.createUnmarshaller();
    final Cluster cluster = (Cluster) unmarshaller.unmarshal(file);
    String[] storageRoots = cluster.getIodevices().split(",");
    for (String ncHost : ncHosts) {
        for (final String sRoot : storageRoots) {
            lsAction.add(new AbstractRemoteExecutableAction(ncHost, username, sshKeyLocation) {

                @Override
                protected String getCommand() {
                    return "ls -Rl " + sRoot;
                }
            });
            postLSAction.add(new AbstractRemoteExecutableAction(ncHost, username, sshKeyLocation) {

                @Override
                protected String getCommand() {
                    return "ls -Rl " + sRoot;
                }
            });
        }
    }
    try {
        outputFilePath = openStreetMapFilePath.substring(0, openStreetMapFilePath.lastIndexOf(File.separator)) + File.separator + "QueryGenResult-" + getName() + "-" + Inet4Address.getLocalHost().getHostAddress() + ".txt";
        outputFos = ExperimentProfilerUtils.openOutputFile(outputFilePath);
    } catch (Exception e1) {
        e1.printStackTrace();
        return;
    }
    //delete all existing secondary indexes if any
    execs.add(new RunAQLStringAction(httpClient, restHost, restPort, "use dataverse experiments; drop index Tweets.dhbtreeLocation;", outputFos));
    execs.add(new RunAQLStringAction(httpClient, restHost, restPort, "use dataverse experiments; drop index Tweets.dhvbtreeLocation;", outputFos));
    execs.add(new RunAQLStringAction(httpClient, restHost, restPort, "use dataverse experiments; drop index Tweets.rtreeLocation;", outputFos));
    execs.add(new RunAQLStringAction(httpClient, restHost, restPort, "use dataverse experiments; drop index Tweets.shbtreeLocation;", outputFos));
    execs.add(new RunAQLStringAction(httpClient, restHost, restPort, "use dataverse experiments; drop index Tweets.sifLocation;", outputFos));
    //create secondary index 
    execs.add(new TimedAction(new RunAQLFileAction(httpClient, restHost, restPort, localExperimentRoot.resolve(LSMExperimentConstants.AQL_DIR).resolve(createAQLFilePath), outputFos), outputFos));
    //run count query for cleaning up OS buffer cache
    if (countFileName != null) {
        execs.add(new RunAQLFileAction(httpClient, restHost, restPort, localExperimentRoot.resolve(LSMExperimentConstants.AQL_DIR).resolve(countFileName), outputFos));
    }
    //run cache warm-up queries: run CACHE_WARM_UP_QUERY_COUNT select queries
    br = new BufferedReader(new FileReader(querySeedFilePath));
    radiusIter = 0;
    for (int i = 0; i < CACHE_WARM_UP_QUERY_COUNT; i++) {
        execs.add(getSelectQuery(isIndexOnlyPlan));
    }
    radiusIter = 0;
    //run queries for measurement: run SELECT_QUERY_COUNT select queries
    for (int i = 0; i < SELECT_QUERY_COUNT; i++) {
        execs.add(getSelectQuery(isIndexOnlyPlan));
    }
    radiusIter = 0;
    //run queries for measurement: run JOIN_QUERY_COUNT join queries
    for (int i = 0; i < JOIN_QUERY_COUNT; i++) {
        execs.add(getJoinQuery(isIndexOnlyPlan));
    }
    //---------- main experiment body ends -----------
    //kill io state action
    //        if (statFile != null) {
    //            ParallelActionSet ioCountKillActions = new ParallelActionSet();
    //            for (String ncHost : ncHosts) {
    //                ioCountKillActions.add(new AbstractRemoteExecutableAction(ncHost, username, sshKeyLocation) {
    //
    //                    @Override
    //                    protected String getCommand() {
    //                        String cmd = "screen -X -S `screen -list | grep Detached | awk '{print $1}'` quit";
    //                        return cmd;
    //                    }
    //                });
    //            }
    //            execs.add(ioCountKillActions);
    //        }
    //add ls action
    execs.add(postLSAction);
    //kill asterix cc and nc
    ParallelActionSet killCmds = new ParallelActionSet();
    for (String ncHost : ncHosts) {
        killCmds.add(new RemoteAsterixDriverKill(ncHost, username, sshKeyLocation));
    }
    killCmds.add(new RemoteAsterixDriverKill(restHost, username, sshKeyLocation));
    execs.add(killCmds);
    //stop asterix instance
    execs.add(new StopAsterixManagixAction(managixHomePath, ASTERIX_INSTANCE_NAME));
    //prepare to collect io state by putting the state file into asterix log dir
    if (statFile != null) {
        ParallelActionSet collectIOActions = new ParallelActionSet();
        for (String ncHost : ncHosts) {
            collectIOActions.add(new AbstractRemoteExecutableAction(ncHost, username, sshKeyLocation) {

                @Override
                protected String getCommand() {
                    String cmd = "cp " + statFile + " " + cluster.getLogDir();
                    return cmd;
                }
            });
        }
        execs.add(collectIOActions);
    }
    //collect profile information
    //        if (ExperimentProfiler.PROFILE_MODE) {
    //            if (!SpatialIndexProfiler.PROFILE_HOME_DIR.contentEquals(cluster.getLogDir())) {
    //                ParallelActionSet collectProfileInfo = new ParallelActionSet();
    //                for (String ncHost : ncHosts) {
    //                    collectProfileInfo.add(new AbstractRemoteExecutableAction(ncHost, username, sshKeyLocation) {
    //                        @Override
    //                        protected String getCommand() {
    //                            String cmd = "mv " + SpatialIndexProfiler.PROFILE_HOME_DIR + "*.txt " + cluster.getLogDir();
    //                            return cmd;
    //                        }
    //                    });
    //                }
    //                execs.add(collectProfileInfo);
    //            }
    //        }
    //collect cc and nc logs
    execs.add(new LogAsterixManagixAction(managixHomePath, ASTERIX_INSTANCE_NAME, localExperimentRoot.resolve(LSMExperimentConstants.LOG_DIR + "-" + logDirSuffix).resolve(getName()).toString()));
    //get query result file
    final String queryResultFilePath = outputFilePath;
    execs.add(new AbstractRemoteExecutableAction(restHost, username, sshKeyLocation) {

        @Override
        protected String getCommand() {
            String cmd = "mv " + queryResultFilePath + " " + localExperimentRoot.resolve(LSMExperimentConstants.LOG_DIR + "-" + logDirSuffix).resolve(getName()).toString();
            return cmd;
        }
    });
    //close the outputStream
    execs.add(new CloseOutputStreamAction(outputFos));
    e.addBody(execs);
}
Also used : StopAsterixManagixAction(org.apache.asterix.experiment.action.derived.ManagixActions.StopAsterixManagixAction) JAXBContext(javax.xml.bind.JAXBContext) TimedAction(org.apache.asterix.experiment.action.derived.TimedAction) SleepAction(org.apache.asterix.experiment.action.derived.SleepAction) AbstractRemoteExecutableAction(org.apache.asterix.experiment.action.derived.AbstractRemoteExecutableAction) StartAsterixManagixAction(org.apache.asterix.experiment.action.derived.ManagixActions.StartAsterixManagixAction) RunAQLStringAction(org.apache.asterix.experiment.action.derived.RunAQLStringAction) CloseOutputStreamAction(org.apache.asterix.experiment.action.derived.CloseOutputStreamAction) ArrayList(java.util.ArrayList) SequentialActionList(org.apache.asterix.experiment.action.base.SequentialActionList) List(java.util.List) FileReader(java.io.FileReader) Unmarshaller(javax.xml.bind.Unmarshaller) HashSet(java.util.HashSet) Cluster(org.apache.asterix.event.schema.cluster.Cluster) LogAsterixManagixAction(org.apache.asterix.experiment.action.derived.ManagixActions.LogAsterixManagixAction) ParallelActionSet(org.apache.asterix.experiment.action.base.ParallelActionSet) IOException(java.io.IOException) RemoteAsterixDriverKill(org.apache.asterix.experiment.action.derived.RemoteAsterixDriverKill) SequentialActionList(org.apache.asterix.experiment.action.base.SequentialActionList) RunAQLFileAction(org.apache.asterix.experiment.action.derived.RunAQLFileAction) BufferedReader(java.io.BufferedReader) File(java.io.File)

Example 90 with Unmarshaller

use of javax.xml.bind.Unmarshaller in project asterixdb by apache.

the class AbstractLSMBaseExperimentBuilder method doBuild.

@Override
protected void doBuild(Experiment e) throws Exception {
    SequentialActionList execs = new SequentialActionList();
    String clusterConfigPath = localExperimentRoot.resolve(LSMExperimentConstants.CONFIG_DIR).resolve(clusterConfigFileName).toString();
    String asterixConfigPath = localExperimentRoot.resolve(LSMExperimentConstants.CONFIG_DIR).resolve(LSMExperimentConstants.ASTERIX_CONFIGURATION).toString();
    //create instance
    execs.add(new StopAsterixManagixAction(managixHomePath, ASTERIX_INSTANCE_NAME));
    execs.add(new DeleteAsterixManagixAction(managixHomePath, ASTERIX_INSTANCE_NAME));
    execs.add(new SleepAction(30000));
    execs.add(new CreateAsterixManagixAction(managixHomePath, ASTERIX_INSTANCE_NAME, clusterConfigPath, asterixConfigPath));
    //run ddl statements
    execs.add(new SleepAction(15000));
    // TODO: implement retry handler
    execs.add(new RunAQLFileAction(httpClient, restHost, restPort, localExperimentRoot.resolve(LSMExperimentConstants.AQL_DIR).resolve(LSMExperimentConstants.BASE_TYPES)));
    doBuildDDL(execs);
    execs.add(new RunAQLFileAction(httpClient, restHost, restPort, localExperimentRoot.resolve(LSMExperimentConstants.AQL_DIR).resolve(LSMExperimentConstants.BASE_DIR).resolve(ingestFileName)));
    Map<String, List<String>> dgenPairs = readDatagenPairs(localExperimentRoot.resolve(LSMExperimentConstants.DGEN_DIR).resolve(dgenFileName));
    final Set<String> ncHosts = new HashSet<>();
    for (List<String> ncHostList : dgenPairs.values()) {
        for (String ncHost : ncHostList) {
            ncHosts.add(ncHost.split(":")[0]);
        }
    }
    if (statFile != null) {
        ParallelActionSet ioCountActions = new ParallelActionSet();
        for (String ncHost : ncHosts) {
            ioCountActions.add(new AbstractRemoteExecutableAction(ncHost, username, sshKeyLocation) {

                @Override
                protected String getCommand() {
                    String cmd = "screen -d -m sh -c \"sar -b -u 1 > " + statFile + "\"";
                    return cmd;
                }
            });
        }
        execs.add(ioCountActions);
    }
    SequentialActionList postLSAction = new SequentialActionList();
    File file = new File(clusterConfigPath);
    JAXBContext ctx = JAXBContext.newInstance(Cluster.class);
    Unmarshaller unmarshaller = ctx.createUnmarshaller();
    final Cluster cluster = (Cluster) unmarshaller.unmarshal(file);
    String[] storageRoots = cluster.getIodevices().split(",");
    for (String ncHost : ncHosts) {
        for (final String sRoot : storageRoots) {
            lsAction.add(new AbstractRemoteExecutableAction(ncHost, username, sshKeyLocation) {

                @Override
                protected String getCommand() {
                    return "ls -Rl " + sRoot;
                }
            });
            postLSAction.add(new AbstractRemoteExecutableAction(ncHost, username, sshKeyLocation) {

                @Override
                protected String getCommand() {
                    return "ls -Rl " + sRoot;
                }
            });
        }
    }
    // main exp
    doBuildDataGen(execs, dgenPairs);
    //        if (statFile != null) {
    //            ParallelActionSet ioCountKillActions = new ParallelActionSet();
    //            for (String ncHost : ncHosts) {
    //                ioCountKillActions.add(new AbstractRemoteExecutableAction(ncHost, username, sshKeyLocation) {
    //
    //                    @Override
    //                    protected String getCommand() {
    //                        String cmd = "screen -X -S `screen -list | grep Detached | awk '{print $1}'` quit";
    //                        return cmd;
    //                    }
    //                });
    //            }
    //            execs.add(ioCountKillActions);
    //        }
    execs.add(new SleepAction(10000));
    if (countFileName != null) {
        execs.add(new RunAQLFileAction(httpClient, restHost, restPort, localExperimentRoot.resolve(LSMExperimentConstants.AQL_DIR).resolve(countFileName)));
    }
    execs.add(postLSAction);
    doPost(execs);
    ParallelActionSet killCmds = new ParallelActionSet();
    for (String ncHost : ncHosts) {
        killCmds.add(new RemoteAsterixDriverKill(ncHost, username, sshKeyLocation));
    }
    //killCmds.add(new RemoteAsterixDriverKill(restHost, username, sshKeyLocation));
    execs.add(killCmds);
    execs.add(new StopAsterixManagixAction(managixHomePath, ASTERIX_INSTANCE_NAME));
    if (statFile != null) {
        ParallelActionSet collectIOActions = new ParallelActionSet();
        for (String ncHost : ncHosts) {
            collectIOActions.add(new AbstractRemoteExecutableAction(ncHost, username, sshKeyLocation) {

                @Override
                protected String getCommand() {
                    String cmd = "cp " + statFile + " " + cluster.getLogDir();
                    return cmd;
                }
            });
        }
        execs.add(collectIOActions);
    }
    //collect profile information
    //        if (ExperimentProfiler.PROFILE_MODE) {
    //            if (!SpatialIndexProfiler.PROFILE_HOME_DIR.contentEquals(cluster.getLogDir())) {
    //                ParallelActionSet collectProfileInfo = new ParallelActionSet();
    //                for (String ncHost : ncHosts) {
    //                    collectProfileInfo.add(new AbstractRemoteExecutableAction(ncHost, username, sshKeyLocation) {
    //                        @Override
    //                        protected String getCommand() {
    //                            String cmd = "mv " + SpatialIndexProfiler.PROFILE_HOME_DIR + "*.txt " + cluster.getLogDir();
    //                            return cmd;
    //                        }
    //                    });
    //                }
    //                execs.add(collectProfileInfo);
    //            }
    //        }
    execs.add(new LogAsterixManagixAction(managixHomePath, ASTERIX_INSTANCE_NAME, localExperimentRoot.resolve(LSMExperimentConstants.LOG_DIR + "-" + logDirSuffix).resolve(getName()).toString()));
    if (getName().contains("SpatialIndexExperiment2") || getName().contains("SpatialIndexExperiment5")) {
        //get query result file
        SequentialActionList getQueryResultFileActions = new SequentialActionList();
        final String queryResultFilePath = openStreetMapFilePath.substring(0, openStreetMapFilePath.lastIndexOf(File.separator)) + File.separator + "QueryGenResult-*.txt";
        for (final String qgenHost : dgenPairs.keySet()) {
            getQueryResultFileActions.add(new AbstractRemoteExecutableAction(restHost, username, sshKeyLocation) {

                @Override
                protected String getCommand() {
                    String cmd = "scp " + username + "@" + qgenHost + ":" + queryResultFilePath + " " + localExperimentRoot.resolve(LSMExperimentConstants.LOG_DIR + "-" + logDirSuffix).resolve(getName()).toString();
                    return cmd;
                }
            });
        }
        execs.add(getQueryResultFileActions);
    }
    e.addBody(execs);
}
Also used : DeleteAsterixManagixAction(org.apache.asterix.experiment.action.derived.ManagixActions.DeleteAsterixManagixAction) StopAsterixManagixAction(org.apache.asterix.experiment.action.derived.ManagixActions.StopAsterixManagixAction) Cluster(org.apache.asterix.event.schema.cluster.Cluster) JAXBContext(javax.xml.bind.JAXBContext) SleepAction(org.apache.asterix.experiment.action.derived.SleepAction) LogAsterixManagixAction(org.apache.asterix.experiment.action.derived.ManagixActions.LogAsterixManagixAction) AbstractRemoteExecutableAction(org.apache.asterix.experiment.action.derived.AbstractRemoteExecutableAction) ParallelActionSet(org.apache.asterix.experiment.action.base.ParallelActionSet) RemoteAsterixDriverKill(org.apache.asterix.experiment.action.derived.RemoteAsterixDriverKill) SequentialActionList(org.apache.asterix.experiment.action.base.SequentialActionList) RunAQLFileAction(org.apache.asterix.experiment.action.derived.RunAQLFileAction) ArrayList(java.util.ArrayList) SequentialActionList(org.apache.asterix.experiment.action.base.SequentialActionList) List(java.util.List) Unmarshaller(javax.xml.bind.Unmarshaller) File(java.io.File) CreateAsterixManagixAction(org.apache.asterix.experiment.action.derived.ManagixActions.CreateAsterixManagixAction) HashSet(java.util.HashSet)

Aggregations

Unmarshaller (javax.xml.bind.Unmarshaller)292 JAXBContext (javax.xml.bind.JAXBContext)240 JAXBException (javax.xml.bind.JAXBException)97 InputStream (java.io.InputStream)91 Test (org.junit.Test)79 StringReader (java.io.StringReader)40 BaseTest (org.orcid.core.BaseTest)39 V2Convertible (org.orcid.core.version.V2Convertible)39 File (java.io.File)33 InputSource (org.xml.sax.InputSource)22 IOException (java.io.IOException)21 JAXBElement (javax.xml.bind.JAXBElement)18 Marshaller (javax.xml.bind.Marshaller)18 ByteArrayInputStream (java.io.ByteArrayInputStream)17 SAXSource (javax.xml.transform.sax.SAXSource)17 SAXParserFactory (javax.xml.parsers.SAXParserFactory)13 XMLInputFactory (javax.xml.stream.XMLInputFactory)13 XMLStreamException (javax.xml.stream.XMLStreamException)13 XMLStreamReader (javax.xml.stream.XMLStreamReader)13 Schema (javax.xml.validation.Schema)13