Search in sources :

Example 51 with JobId

use of org.apache.hyracks.api.job.JobId in project asterixdb by apache.

the class AbstractIntegrationTest method runTest.

protected void runTest(JobSpecification spec) throws Exception {
    JobId jobId = executeTest(spec);
    hcc.waitForCompletion(jobId);
}
Also used : JobId(org.apache.hyracks.api.job.JobId)

Example 52 with JobId

use of org.apache.hyracks.api.job.JobId in project asterixdb by apache.

the class AbstractMultiNCIntegrationTest method runTest.

protected void runTest(JobSpecification spec) throws Exception {
    if (LOGGER.isLoggable(Level.INFO)) {
        LOGGER.info(spec.toJSON().asText());
    }
    JobId jobId = hcc.startJob(spec, EnumSet.of(JobFlag.PROFILE_RUNTIME));
    if (LOGGER.isLoggable(Level.INFO)) {
        LOGGER.info(jobId.toString());
    }
    int nReaders = 1;
    FrameManager resultDisplayFrameMgr = new FrameManager(spec.getFrameSize());
    VSizeFrame resultFrame = new VSizeFrame(resultDisplayFrameMgr);
    IFrameTupleAccessor frameTupleAccessor = new ResultFrameTupleAccessor();
    if (!spec.getResultSetIds().isEmpty()) {
        IHyracksDataset hyracksDataset = new HyracksDataset(hcc, spec.getFrameSize(), nReaders);
        IHyracksDatasetReader reader = hyracksDataset.createReader(jobId, spec.getResultSetIds().get(0));
        ObjectMapper om = new ObjectMapper();
        ArrayNode resultRecords = om.createArrayNode();
        ByteBufferInputStream bbis = new ByteBufferInputStream();
        int readSize = reader.read(resultFrame);
        while (readSize > 0) {
            try {
                frameTupleAccessor.reset(resultFrame.getBuffer());
                for (int tIndex = 0; tIndex < frameTupleAccessor.getTupleCount(); tIndex++) {
                    int start = frameTupleAccessor.getTupleStartOffset(tIndex);
                    int length = frameTupleAccessor.getTupleEndOffset(tIndex) - start;
                    bbis.setByteBuffer(resultFrame.getBuffer(), start);
                    byte[] recordBytes = new byte[length];
                    bbis.read(recordBytes, 0, length);
                    resultRecords.add(new String(recordBytes, 0, length));
                }
            } finally {
                try {
                    bbis.close();
                } catch (IOException e) {
                    throw new HyracksDataException(e);
                }
            }
            readSize = reader.read(resultFrame);
        }
    }
    hcc.waitForCompletion(jobId);
    dumpOutputFiles();
}
Also used : ByteBufferInputStream(org.apache.hyracks.dataflow.common.comm.util.ByteBufferInputStream) IOException(java.io.IOException) VSizeFrame(org.apache.hyracks.api.comm.VSizeFrame) HyracksDataException(org.apache.hyracks.api.exceptions.HyracksDataException) HyracksDataset(org.apache.hyracks.client.dataset.HyracksDataset) IHyracksDataset(org.apache.hyracks.api.dataset.IHyracksDataset) IFrameTupleAccessor(org.apache.hyracks.api.comm.IFrameTupleAccessor) FrameManager(org.apache.hyracks.control.nc.resources.memory.FrameManager) ResultFrameTupleAccessor(org.apache.hyracks.dataflow.common.comm.io.ResultFrameTupleAccessor) IHyracksDatasetReader(org.apache.hyracks.api.dataset.IHyracksDatasetReader) ArrayNode(com.fasterxml.jackson.databind.node.ArrayNode) IHyracksDataset(org.apache.hyracks.api.dataset.IHyracksDataset) JobId(org.apache.hyracks.api.job.JobId) ObjectMapper(com.fasterxml.jackson.databind.ObjectMapper)

Example 53 with JobId

use of org.apache.hyracks.api.job.JobId in project asterixdb by apache.

the class SleepOperatorDescriptor method cancelAfterWaitForCompletion.

private void cancelAfterWaitForCompletion(JobSpecification spec) throws Exception {
    JobId jobId = startJob(spec);
    // A thread for canceling the job.
    Thread thread = new Thread(() -> {
        try {
            synchronized (this) {
                // Make sure waitForCompletion be called first.
                this.wait(500);
            }
            cancelJob(jobId);
        } catch (Exception e) {
            e.printStackTrace();
        }
    });
    // Cancels the job.
    thread.start();
    // Checks the resulting Exception.
    boolean exceptionMatched = false;
    try {
        waitForCompletion(jobId);
    } catch (Exception e) {
        exceptionMatched = true;
        Assert.assertTrue(e instanceof HyracksException);
        HyracksException hyracksException = (HyracksException) e;
        Assert.assertTrue(hyracksException.getErrorCode() == ErrorCode.JOB_CANCELED);
    } finally {
        Assert.assertTrue(exceptionMatched);
    }
    thread.join();
}
Also used : HyracksException(org.apache.hyracks.api.exceptions.HyracksException) JobId(org.apache.hyracks.api.job.JobId) HyracksDataException(org.apache.hyracks.api.exceptions.HyracksDataException) HyracksException(org.apache.hyracks.api.exceptions.HyracksException)

Example 54 with JobId

use of org.apache.hyracks.api.job.JobId in project asterixdb by apache.

the class SleepOperatorDescriptor method cancelWithoutWait.

private void cancelWithoutWait(JobSpecification spec) throws Exception {
    JobId jobId = startJob(spec);
    cancelJob(jobId);
}
Also used : JobId(org.apache.hyracks.api.job.JobId)

Example 55 with JobId

use of org.apache.hyracks.api.job.JobId in project asterixdb by apache.

the class JobStatusAPIIntegrationTest method testJobRun.

@Test
public void testJobRun() throws Exception {
    JobId jId = startJob();
    ObjectNode res = getJobRun(jId);
    Assert.assertTrue(res.has("result"));
    ObjectNode jobRun = (ObjectNode) res.get("result");
    Assert.assertTrue(jobRun.has("job-id"));
    Assert.assertTrue(JobId.parse(jobRun.get("job-id").asText()).equals(jId));
    checkActivityCluster(jobRun);
    stopJob(jId);
    Assert.assertEquals("TERMINATED", getJobStatus(jId));
}
Also used : ObjectNode(com.fasterxml.jackson.databind.node.ObjectNode) JobId(org.apache.hyracks.api.job.JobId) Test(org.junit.Test)

Aggregations

JobId (org.apache.hyracks.api.job.JobId)57 JobSpecification (org.apache.hyracks.api.job.JobSpecification)17 IHyracksClientConnection (org.apache.hyracks.api.client.IHyracksClientConnection)13 HyracksConnection (org.apache.hyracks.api.client.HyracksConnection)11 HyracksException (org.apache.hyracks.api.exceptions.HyracksException)10 CmdLineParser (org.kohsuke.args4j.CmdLineParser)9 Test (org.junit.Test)5 IOException (java.io.IOException)4 ArrayList (java.util.ArrayList)4 HashSet (java.util.HashSet)4 Map (java.util.Map)4 NodeControllerState (org.apache.hyracks.control.cc.NodeControllerState)4 INodeManager (org.apache.hyracks.control.cc.cluster.INodeManager)4 Joblet (org.apache.hyracks.control.nc.Joblet)4 ObjectNode (com.fasterxml.jackson.databind.node.ObjectNode)3 HashMap (java.util.HashMap)3 HyracksDataException (org.apache.hyracks.api.exceptions.HyracksDataException)3 ObjectMapper (com.fasterxml.jackson.databind.ObjectMapper)2 InvocationTargetException (java.lang.reflect.InvocationTargetException)2 RemoteException (java.rmi.RemoteException)2