Search in sources :

Example 1 with ExecutionException

use of cn.edu.tsinghua.iginx.exceptions.ExecutionException in project iotdb-benchmark by thulab.

the class IginX method insertOneBatch.

@Override
public Status insertOneBatch(Batch batch) throws DBConnectException {
    List<String> paths = new ArrayList<>();
    List<DataType> types = new ArrayList<>();
    buildPathsAndTypesFromSchema(batch.getDeviceSchema(), paths, types);
    int size = batch.getRecords().size();
    long[] timestamps = new long[size];
    Object[] values = new Object[size];
    for (int i = 0; i < size; i++) {
        Record record = batch.getRecords().get(i);
        timestamps[i] = record.getTimestamp();
        int colSize = record.getRecordDataValue().size();
        Object[] rowValue = new Object[colSize];
        for (int j = 0; j < colSize; j++) {
            Object value = record.getRecordDataValue().get(j);
            if (value instanceof String)
                value = ((String) value).getBytes();
            rowValue[j] = value;
        }
        values[i] = rowValue;
    }
    try {
        session.insertRowRecords(paths, timestamps, values, types, null);
        return new Status(true);
    } catch (SessionException | ExecutionException e) {
        return new Status(false, 0, e, e.toString());
    }
}
Also used : Status(cn.edu.tsinghua.iotdb.benchmark.measurement.Status) ArrayList(java.util.ArrayList) SessionException(cn.edu.tsinghua.iginx.exceptions.SessionException) DataType(cn.edu.tsinghua.iginx.thrift.DataType) Record(cn.edu.tsinghua.iotdb.benchmark.entity.Record) ExecutionException(cn.edu.tsinghua.iginx.exceptions.ExecutionException)

Example 2 with ExecutionException

use of cn.edu.tsinghua.iginx.exceptions.ExecutionException in project iotdb-benchmark by thulab.

the class IginX method cleanup.

@Override
public void cleanup() throws TsdbException {
    try {
        session.deleteColumn(FULL_PATHS);
        LOGGER.info("Finish clean data!");
    } catch (SessionException | ExecutionException e) {
        LOGGER.warn("Clear Data failed because ", e);
        throw new TsdbException(e);
    }
}
Also used : TsdbException(cn.edu.tsinghua.iotdb.benchmark.tsdb.TsdbException) SessionException(cn.edu.tsinghua.iginx.exceptions.SessionException) ExecutionException(cn.edu.tsinghua.iginx.exceptions.ExecutionException)

Example 3 with ExecutionException

use of cn.edu.tsinghua.iginx.exceptions.ExecutionException in project IginX by thulab.

the class StatementExecutor method process.

private void process(RequestContext ctx) throws ExecutionException, PhysicalException {
    List<LogicalGenerator> generatorList = generatorMap.get(ctx.getStatement().getType());
    for (LogicalGenerator generator : generatorList) {
        before(ctx, preLogicalProcessors);
        Operator root = generator.generate(ctx);
        after(ctx, postLogicalProcessors);
        if (constraintManager.check(root) && checker.check(root)) {
            before(ctx, prePhysicalProcessors);
            RowStream stream = engine.execute(root);
            after(ctx, postPhysicalProcessors);
            setResult(ctx, stream);
            return;
        }
    }
    throw new ExecutionException("Execute Error: can not construct a legal logical tree.");
}
Also used : Operator(cn.edu.tsinghua.iginx.engine.shared.operator.Operator) RowStream(cn.edu.tsinghua.iginx.engine.shared.data.read.RowStream) ExecutionException(cn.edu.tsinghua.iginx.exceptions.ExecutionException)

Example 4 with ExecutionException

use of cn.edu.tsinghua.iginx.exceptions.ExecutionException in project IginX by thulab.

the class IginxClient method processSql.

private static void processSql(String sql) {
    try {
        SessionExecuteSqlResult res = session.executeSql(sql);
        String parseErrorMsg = res.getParseErrorMsg();
        if (parseErrorMsg != null && !parseErrorMsg.equals("")) {
            if (sql.startsWith("show")) {
                System.out.println("unsupported command");
            } else {
                System.out.println(res.getParseErrorMsg());
            }
            return;
        }
        if (res.isQuery()) {
            res.print(true, timestampPrecision);
        } else if (res.getSqlType() == SqlType.ShowTimeSeries) {
            res.print(false, "");
        } else if (res.getSqlType() == SqlType.ShowClusterInfo) {
            res.print(false, "");
        } else if (res.getSqlType() == SqlType.GetReplicaNum) {
            System.out.println(res.getReplicaNum());
            System.out.println("success");
        } else if (res.getSqlType() == SqlType.CountPoints) {
            System.out.println(res.getPointsNum());
            System.out.println("success");
        } else {
            System.out.println("success");
        }
    } catch (SessionException | ExecutionException e) {
        System.out.println(e.getMessage());
    } catch (Exception e) {
        System.out.println("encounter error when executing sql statement.");
    }
}
Also used : SessionExecuteSqlResult(cn.edu.tsinghua.iginx.session.SessionExecuteSqlResult) SessionException(cn.edu.tsinghua.iginx.exceptions.SessionException) ExecutionException(cn.edu.tsinghua.iginx.exceptions.ExecutionException) SessionException(cn.edu.tsinghua.iginx.exceptions.SessionException) ParseException(org.apache.commons.cli.ParseException) UserInterruptException(org.jline.reader.UserInterruptException) ExecutionException(cn.edu.tsinghua.iginx.exceptions.ExecutionException)

Example 5 with ExecutionException

use of cn.edu.tsinghua.iginx.exceptions.ExecutionException in project IginX by thulab.

the class QueryClientImpl method downsampleQuery.

private IginXTable downsampleQuery(DownsampleQuery query) throws IginXException {
    List<String> measurements = new ArrayList<>(query.getMeasurements());
    DownsampleQueryReq req = new DownsampleQueryReq(sessionId, MeasurementUtils.mergeAndSortMeasurements(measurements), query.getStartTime(), query.getEndTime(), query.getAggregateType(), query.getPrecision());
    DownsampleQueryResp resp;
    synchronized (iginXClient) {
        iginXClient.checkIsClosed();
        try {
            resp = client.downsampleQuery(req);
            RpcUtils.verifySuccess(resp.status);
        } catch (TException | ExecutionException e) {
            throw new IginXException("downsample query failure: ", e);
        }
    }
    return buildIginXTable(resp.getQueryDataSet(), resp.getPaths(), resp.getDataTypeList());
}
Also used : TException(org.apache.thrift.TException) IginXException(cn.edu.tsinghua.iginx.session_v2.exception.IginXException) DownsampleQueryReq(cn.edu.tsinghua.iginx.thrift.DownsampleQueryReq) ArrayList(java.util.ArrayList) DownsampleQueryResp(cn.edu.tsinghua.iginx.thrift.DownsampleQueryResp) ExecutionException(cn.edu.tsinghua.iginx.exceptions.ExecutionException)

Aggregations

ExecutionException (cn.edu.tsinghua.iginx.exceptions.ExecutionException)25 IginXException (cn.edu.tsinghua.iginx.session_v2.exception.IginXException)17 TException (org.apache.thrift.TException)17 ArrayList (java.util.ArrayList)11 Status (cn.edu.tsinghua.iginx.thrift.Status)9 SessionException (cn.edu.tsinghua.iginx.exceptions.SessionException)6 SessionExecuteSqlResult (cn.edu.tsinghua.iginx.session.SessionExecuteSqlResult)3 DataType (cn.edu.tsinghua.iginx.thrift.DataType)3 User (cn.edu.tsinghua.iginx.session_v2.domain.User)2 Point (cn.edu.tsinghua.iginx.session_v2.write.Point)2 AuthType (cn.edu.tsinghua.iginx.thrift.AuthType)2 GetUserReq (cn.edu.tsinghua.iginx.thrift.GetUserReq)2 GetUserResp (cn.edu.tsinghua.iginx.thrift.GetUserResp)2 UpdateUserReq (cn.edu.tsinghua.iginx.thrift.UpdateUserReq)2 UserType (cn.edu.tsinghua.iginx.thrift.UserType)2 Bitmap (cn.edu.tsinghua.iginx.utils.Bitmap)2 ByteBuffer (java.nio.ByteBuffer)2 RowStream (cn.edu.tsinghua.iginx.engine.shared.data.read.RowStream)1 Operator (cn.edu.tsinghua.iginx.engine.shared.operator.Operator)1 Metric (cn.edu.tsinghua.iginx.rest.bean.Metric)1