Search in sources :

Example 31 with JobId

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

the class QueryTranslator method asyncCreateAndRunJob.

private void asyncCreateAndRunJob(IHyracksClientConnection hcc, IStatementCompiler compiler, IMetadataLocker locker, ResultDelivery resultDelivery, String clientContextId, IStatementExecutorContext ctx, ResultSetId resultSetId, MutableBoolean printed) {
    Mutable<JobId> jobId = new MutableObject<>(JobId.INVALID);
    try {
        createAndRunJob(hcc, jobId, compiler, locker, resultDelivery, id -> {
            final ResultHandle handle = new ResultHandle(id, resultSetId);
            ResultUtil.printStatus(sessionOutput, AbstractQueryApiServlet.ResultStatus.RUNNING);
            ResultUtil.printResultHandle(sessionOutput, handle);
            synchronized (printed) {
                printed.setTrue();
                printed.notify();
            }
        }, clientContextId, ctx);
    } catch (Exception e) {
        if (JobId.INVALID.equals(jobId.getValue())) {
            // compilation failed
            ResultUtil.printStatus(sessionOutput, AbstractQueryApiServlet.ResultStatus.FAILED);
            ResultUtil.printError(sessionOutput.out(), e);
        } else {
            GlobalConfig.ASTERIX_LOGGER.log(Level.SEVERE, resultDelivery.name() + " job with id " + jobId.getValue() + " " + "failed", e);
        }
    } finally {
        synchronized (printed) {
            if (printed.isFalse()) {
                printed.setTrue();
                printed.notify();
            }
        }
    }
}
Also used : ResultHandle(org.apache.asterix.app.result.ResultHandle) JobId(org.apache.hyracks.api.job.JobId) ACIDException(org.apache.asterix.common.exceptions.ACIDException) MetadataException(org.apache.asterix.metadata.MetadataException) AlgebricksException(org.apache.hyracks.algebricks.common.exceptions.AlgebricksException) HyracksDataException(org.apache.hyracks.api.exceptions.HyracksDataException) CompilationException(org.apache.asterix.common.exceptions.CompilationException) IOException(java.io.IOException) RemoteException(java.rmi.RemoteException) AsterixException(org.apache.asterix.common.exceptions.AsterixException) MutableObject(org.apache.commons.lang3.mutable.MutableObject)

Example 32 with JobId

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

the class GlobalRecoveryManager method executeHyracksJob.

private void executeHyracksJob(JobSpecification spec) throws Exception {
    spec.setMaxReattempts(0);
    JobId jobId = hcc.startJob(spec);
    hcc.waitForCompletion(jobId);
}
Also used : JobId(org.apache.hyracks.api.job.JobId)

Example 33 with JobId

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

the class TestNodeController method init.

public void init() throws Exception {
    try {
        File outdir = new File(PATH_ACTUAL);
        outdir.mkdirs();
        // remove library directory
        TestLibrarian.removeLibraryDir();
        ExecutionTestUtil.setUp(cleanupOnStart, testConfigFileName == null ? TEST_CONFIG_FILE_NAME : testConfigFileName, ExecutionTestUtil.integrationUtil, runHDFS);
    } catch (Throwable th) {
        th.printStackTrace();
        throw th;
    }
    jobletCtx = Mockito.mock(IHyracksJobletContext.class);
    Mockito.when(jobletCtx.getServiceContext()).thenReturn(ExecutionTestUtil.integrationUtil.ncs[0].getContext());
    Mockito.when(jobletCtx.getJobId()).thenAnswer(new Answer<JobId>() {

        @Override
        public JobId answer(InvocationOnMock invocation) throws Throwable {
            return jobId;
        }
    });
}
Also used : InvocationOnMock(org.mockito.invocation.InvocationOnMock) IHyracksJobletContext(org.apache.hyracks.api.context.IHyracksJobletContext) File(java.io.File) JobId(org.apache.hyracks.api.job.JobId)

Example 34 with JobId

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

the class StartTasksWork method getOrCreateLocalJoblet.

private Joblet getOrCreateLocalJoblet(DeploymentId deploymentId, JobId jobId, INCServiceContext appCtx, byte[] acgBytes) throws HyracksException {
    Map<JobId, Joblet> jobletMap = ncs.getJobletMap();
    Joblet ji = jobletMap.get(jobId);
    if (ji == null) {
        ActivityClusterGraph acg = ncs.getActivityClusterGraph(jobId);
        if (acg == null) {
            if (acgBytes == null) {
                throw HyracksException.create(ErrorCode.ERROR_FINDING_DISTRIBUTED_JOB, jobId);
            }
            acg = (ActivityClusterGraph) DeploymentUtils.deserialize(acgBytes, deploymentId, appCtx);
        }
        ji = new Joblet(ncs, deploymentId, jobId, appCtx, acg);
        jobletMap.put(jobId, ji);
    }
    return ji;
}
Also used : ActivityClusterGraph(org.apache.hyracks.api.job.ActivityClusterGraph) JobId(org.apache.hyracks.api.job.JobId) Joblet(org.apache.hyracks.control.nc.Joblet)

Example 35 with JobId

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

the class NotifyTaskFailureWork method run.

@Override
public void run() {
    try {
        JobId jobId = task.getJobletContext().getJobId();
        IDatasetPartitionManager dpm = ncs.getDatasetPartitionManager();
        if (dpm != null) {
            dpm.abortReader(jobId);
        }
        ncs.getClusterController().notifyTaskFailure(jobId, task.getTaskAttemptId(), ncs.getId(), exceptions);
    //exceptions.get(0).printStackTrace();
    } catch (Exception e) {
        e.printStackTrace();
    }
    task.getJoblet().removeTask(task);
}
Also used : IDatasetPartitionManager(org.apache.hyracks.api.dataset.IDatasetPartitionManager) JobId(org.apache.hyracks.api.job.JobId)

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