Java 类com.datastax.driver.core.exceptions.InvalidQueryException 实例源码

项目:AAF    文件:CassBatch.java   
public ResultSet executeQuery(String cql, String extra) {
    if(isDryRun() && !cql.startsWith("SELECT")) {
        if(extra!=null)env.info().log("Would query" + extra + ": " + cql);
    } else {
        if(extra!=null)env.info().log("query" + extra + ": " + cql);
        try {
            return session.execute(cql);
        } catch (InvalidQueryException e) {
            if(extra==null) {
                env.info().log("query: " + cql);
            }
            throw e;
        }
    } 
    return null;
}
项目:brein-time-utilities    文件:CassandraIntervalCollectionPersistor.java   
protected void createKeySpace() {
    try {
        if (LOGGER.isTraceEnabled()) {
            LOGGER.trace("Checking for key-space: " + this.keySpace);
        }

        getSession().execute("USE " + this.keySpace);
    } catch (final InvalidQueryException e) {
        if (LOGGER.isTraceEnabled()) {
            LOGGER.trace("Creating key-space: " + this.keySpace, e);
        } else if (LOGGER.isInfoEnabled()) {
            LOGGER.info("Creating key-space: " + this.keySpace);
        }

        getSession().execute("CREATE KEYSPACE " + this.keySpace + " with replication = " + this.replicator);
        getSession().execute("USE " + this.keySpace);
    }
}
项目:storm-cassandra-cql    文件:CassandraCqlMapState.java   
protected void checkCassandraException(Exception e) {
    _mexceptions.incr();
    if (e instanceof AlreadyExistsException ||
            e instanceof AuthenticationException ||
            e instanceof DriverException ||
            e instanceof DriverInternalError ||
            e instanceof InvalidConfigurationInQueryException ||
            e instanceof InvalidQueryException ||
            e instanceof InvalidTypeException ||
            e instanceof QueryExecutionException ||
            e instanceof QueryTimeoutException ||
            e instanceof QueryValidationException ||
            e instanceof ReadTimeoutException ||
            e instanceof SyntaxError ||
            e instanceof TraceRetrievalException ||
            e instanceof TruncateException ||
            e instanceof UnauthorizedException ||
            e instanceof UnavailableException ||
            e instanceof ReadTimeoutException ||
            e instanceof WriteTimeoutException) {
        throw new ReportedFailedException(e);
    } else {
        throw new RuntimeException(e);
    }
}
项目:henicea    文件:MigrationClientTest.java   
@Test
public void runMigration_shouldStopOnFailure() throws Exception {
    String invalidMigrationStatement = "invalid migration";

    when(session.execute(invalidMigrationStatement)).thenThrow(new InvalidQueryException("unit test"));

    try {
        client.runMigration(new Migration("001_initial_migration.cql", invalidMigrationStatement));
        fail("Excepted exception");
    } catch (InvalidQueryException ignored) {
    }

    verify(session, times(1)).execute(invalidMigrationStatement);

    ArgumentCaptor<BuiltStatement> captor = ArgumentCaptor.forClass(BuiltStatement.class);
    verify(session, times(2)).execute(captor.capture());
    assertThat(captor.getAllValues())
            .hasSize(2)
            .extracting(BuiltStatement::toString)
            .has(containsSubstr("UPDATE test.migrations SET status='FAILED'"), atIndex(1))
            .has(containsSubstr("reason='unit test'"), atIndex(1))
            .has(containsSubstr("IF status IN ('APPLYING','FAILED')"), atIndex(1));
}
项目:scylla-tools-java    文件:ViewTest.java   
@Test
public void testCountersTable() throws Throwable
{
    createTable("CREATE TABLE %s (" +
                "k int PRIMARY KEY, " +
                "count counter)");

    execute("USE " + keyspace());
    executeNet(protocolVersion, "USE " + keyspace());

    try
    {
        createView("mv_counter", "CREATE MATERIALIZED VIEW %s AS SELECT * FROM %%s WHERE count IS NOT NULL AND k IS NOT NULL PRIMARY KEY (count,k)");
        Assert.fail("MV on counter should fail");
    }
    catch (InvalidQueryException e)
    {
    }
}
项目:scylla-tools-java    文件:ViewSchemaTest.java   
@Test
public void testDropTableWithMV() throws Throwable
{
    createTable("CREATE TABLE %s (" +
            "a int," +
            "b int," +
            "c int," +
            "d int," +
            "PRIMARY KEY (a, b, c))");

    executeNet(protocolVersion, "USE " + keyspace());

    createView(keyspace() + ".mv1",
               "CREATE MATERIALIZED VIEW %s AS SELECT * FROM %%s WHERE b IS NOT NULL AND c IS NOT NULL PRIMARY KEY (a, b, c)");

    try
    {
        executeNet(protocolVersion, "DROP TABLE " + keyspace() + ".mv1");
        Assert.fail();
    }
    catch (InvalidQueryException e)
    {
        Assert.assertEquals("Cannot use DROP TABLE on Materialized View", e.getMessage());
    }
}
项目:Troilus    文件:KeyByAccountColumns.java   
@Override
public CompletableFuture<ImmutableSet<? extends Batchable<?>>> onWrite(WriteQueryData queryData) {

    // this interceptor does not support where condition based queries
    if (!queryData.getWhereConditions().isEmpty()) {
        throw new InvalidQueryException("where condition based queries are not supported");
    }

    if (queryData.hasKey(ACCOUNT_ID) && queryData.hasValueToMutate(KEY) && queryData.hasSetValuesToAddOrSet(EMAIL_IDX)) {
        List<Write> writes = Lists.newArrayList();
        for (TupleValue tupleValue : queryData.getSetValuesToAddOrSet(EMAIL_IDX)) {
            writes.add(keyByEmailDao.writeWithKey(KeyByEmailColumns.EMAIL, tupleValue.getString(0), KeyByEmailColumns.CREATED, tupleValue.getLong(1))
                                    .value(KeyByEmailColumns.KEY, queryData.getValueToMutate(KEY))
                                    .value(KeyByEmailColumns.ACCOUNT_ID, queryData.getKey(ACCOUNT_ID))
                                    .withConsistency(ConsistencyLevel.QUORUM));
        }
        return CompletableFuture.completedFuture(ImmutableSet.copyOf(writes));

    } else {
        return CompletableFuture.completedFuture(ImmutableSet.of());
    }
}
项目:hawkular-metrics    文件:NamespaceOverrideMapper.java   
private Set<String> getTenants() {
    Set<String> tenants = new HashSet<>();
    ResultSet resultset = session.execute("SELECT * FROM system_schema.keyspaces WHERE keyspace_name = 'hawkular_metrics';");
    if (!resultset.iterator().hasNext()) {
        return tenants;
    }

    try {
        // An invalid query exception will occur if the table does not exists.
        // If the table does not exist, then no tenants have been stored yet so we just return the empty tenant set.
        ResultSet resultSet = session.execute("SELECT DISTINCT tenant_id,type from hawkular_metrics.metrics_idx;");

        Iterator<Row> ri = resultSet.iterator();
        while (ri.hasNext()) {
            Row row = ri.next();
            String tenant = row.getString("tenant_id");
            if (!tenant.startsWith("_") && !tenant.contains(":")) {
                tenants.add(tenant);
            }
        }
    } catch (InvalidQueryException iqe) {
        log.warn(iqe);
    }
    return tenants;
}
项目:Rhombus    文件:ConnectionManagerITCase.java   
@Test
public void testDropKeyspace() throws Exception {
    // Set up a connection manager and build the cluster and keyspace
    ConnectionManager cm = getConnectionManager();
    CKeyspaceDefinition definition = JsonUtil.objectFromJsonResource(CKeyspaceDefinition.class
            , this.getClass().getClassLoader(), "CKeyspaceTestData.js");
    assertNotNull(definition);
    cm.buildKeyspace(definition, false);

    // Drop the keyspace
    cm.dropKeyspace(definition.getName());

    // Make sure it is really dropped
    Session session = cm.getEmptySession();
    boolean caught = false;
    try {
        session.execute("USE " + definition.getName() + ";");
    } catch(InvalidQueryException e) {
        caught = true;
    }
    session.close();
    assertTrue(caught);

    cm.teardown();
}
项目:simulacron    文件:ErrorResultIntegrationTest.java   
@Test
public void testShouldReturnInvalidResult() throws Exception {
  String message = "This is an invalid result";
  server.prime(when(query).then(invalid(message)));

  thrown.expect(InvalidQueryException.class);
  thrown.expectMessage(message);
  query();
}
项目:Lagerta    文件:CassandraHelperEx.java   
/**
 * Checks if Cassandra keyspace absence error occurred.
 *
 * @param e Exception to check.
 * @return {@code true} in case of keyspace absence error.
 */
public static boolean isKeyspaceAbsenceError(Throwable e) {
    if (CassandraHelper.isKeyspaceAbsenceError(e)) {
        return true;
    }
    while (e != null) {
        if (e instanceof InvalidQueryException && KEYSPACE_EXIST_ERROR3.matcher(e.getMessage()).matches()) {
            return true;
        }
        e = e.getCause();
    }
    return false;
}
项目:semiot-platform    文件:ResponseOrError.java   
@Override
public void onError(Throwable e) {
  logger.warn(e.getMessage(), e);
  if (e instanceof InvalidQueryException) {
    response.resume(Response.status(Response.Status.BAD_REQUEST).build());
  }
  response.resume(e);
}
项目:cassandra-cf-service-boshrelease    文件:CassandraAdminService.java   
private void deleteKeySpace(String keySpace) throws CassandraServiceException {
  LOGGER.info("Deleting KeySpace " + keySpace);
  try {
    session.execute("DROP KEYSPACE " + keySpace);
  } catch (InvalidQueryException e) {
    throw new CassandraServiceException("keyspace " + keySpace + " doesn't exists", e);
  }
}
项目:ignite    文件:CassandraHelper.java   
/**
 * Checks if Cassandra keyspace absence error occur.
 *
 * @param e Exception to check.
 * @return {@code true} in case of keyspace absence error.
 */
public static boolean isKeyspaceAbsenceError(Throwable e) {
    while (e != null) {
        if (e instanceof InvalidQueryException &&
            (KEYSPACE_EXIST_ERROR1.matcher(e.getMessage()).matches() ||
                KEYSPACE_EXIST_ERROR2.matcher(e.getMessage()).matches()))
            return true;

        e = e.getCause();
    }

    return false;
}
项目:ignite    文件:CassandraHelper.java   
/**
 * Checks if Cassandra table absence error occur.
 *
 * @param e Exception to check.
 * @return {@code true} in case of table absence error.
 */
public static boolean isTableAbsenceError(Throwable e) {
    while (e != null) {
        if (e instanceof InvalidQueryException &&
            (TABLE_EXIST_ERROR1.matcher(e.getMessage()).matches() ||
                KEYSPACE_EXIST_ERROR1.matcher(e.getMessage()).matches() ||
                KEYSPACE_EXIST_ERROR2.matcher(e.getMessage()).matches()))
            return true;

        if (e instanceof NoHostAvailableException && ((NoHostAvailableException) e).getErrors() != null) {
            NoHostAvailableException ex = (NoHostAvailableException)e;

            for (Map.Entry<InetSocketAddress, Throwable> entry : ex.getErrors().entrySet()) {
                //noinspection ThrowableResultOfMethodCallIgnored
                Throwable error = entry.getValue();

                if (error instanceof DriverException &&
                    (error.getMessage().contains(TABLE_EXIST_ERROR2) ||
                         KEYSPACE_EXIST_ERROR3.matcher(error.getMessage()).matches()))
                    return true;
            }
        }

        e = e.getCause();
    }

    return false;
}
项目:ignite    文件:CassandraHelper.java   
/**
 * Checks if Cassandra error occur because of prepared statement created in one session was used in another session.
 *
 * @param e Exception to check.
 * @return {@code true} in case of invalid usage of prepared statement.
 */
public static boolean isPreparedStatementClusterError(Throwable e) {
    while (e != null) {
        if (e instanceof InvalidQueryException && e.getMessage().contains(PREP_STATEMENT_CLUSTER_INSTANCE_ERROR))
            return true;

        e = e.getCause();
    }

    return false;
}
项目:scylla-tools-java    文件:UFTest.java   
@Test
public void testFunctionExecutionExceptionNet() throws Throwable
{
    createTable("CREATE TABLE %s (key int primary key, dval double)");
    execute("INSERT INTO %s (key, dval) VALUES (?, ?)", 1, 1d);

    String fName = createFunction(KEYSPACE_PER_TEST, "double",
                                  "CREATE OR REPLACE FUNCTION %s(val double) " +
                                  "RETURNS NULL ON NULL INPUT " +
                                  "RETURNS double " +
                                  "LANGUAGE JAVA\n" +
                                  "AS 'throw new RuntimeException();'");

    for (int version : PROTOCOL_VERSIONS)
    {
        try
        {
            assertRowsNet(version,
                          executeNet(version, "SELECT " + fName + "(dval) FROM %s WHERE key = 1"));
            Assert.fail();
        }
        catch (com.datastax.driver.core.exceptions.FunctionExecutionException fee)
        {
            // Java driver neither throws FunctionExecutionException nor does it set the exception code correctly
            Assert.assertTrue(version >= Server.VERSION_4);
        }
        catch (InvalidQueryException e)
        {
            Assert.assertTrue(version < Server.VERSION_4);
        }
    }
}
项目:scylla-tools-java    文件:BatchTests.java   
@Test(expected = InvalidQueryException.class)
public void testOversizedBatch()
{
    int SIZE_FOR_FAILURE = 2500;
    BatchStatement b = new BatchStatement(BatchStatement.Type.UNLOGGED);
    for (int i = 0; i < SIZE_FOR_FAILURE; i++)
    {
        b.add(noncounter.bind(i, "foobar"));
    }
    session.execute(b);
}
项目:stratio-cassandra-test    文件:UDTIndexing.java   
@Test(expected = InvalidQueryException.class)
public void testUDTinternalThatFails() {

    CassandraUtilsSelect select = cassandraUtils.filter(match("addres.point", "Paris"));
    select.count();
    assertTrue("Selecting a type that is no matched must return an Exception", true);
}
项目:stratio-cassandra-test    文件:UDTIndexing.java   
@Test(expected = InvalidQueryException.class)
public void testUDToverUDTThatFails() {

    CassandraUtilsSelect select = cassandraUtils.filter(range("addres.point.inexistent").lower(-1.0).upper(-3.0));
    select.count();
    assertTrue("Selecting a inexistent type inside udt inside udt must return an Exception", true);
}
项目:Troilus    文件:KeyByAccountColumns.java   
@Override
public CompletableFuture<ImmutableSet<? extends Batchable<?>>> onDelete(DeleteQueryData queryData) {

    // this interceptor does not support where condition based queries
    if (!queryData.getWhereConditions().isEmpty()) {
        throw new InvalidQueryException("where condition based queries are not supported");
    }

    // resolve dependent records
    return keyByAccountDao.readWithKey(queryData.getKey())
                          .withConsistency(ConsistencyLevel.QUORUM)
                          .executeAsync()
                          .thenApply(optionalRecord -> optionalRecord.map(record -> getDeletions(record)).orElse(ImmutableSet.of()));
}
项目:Troilus    文件:DBSession.java   
/**
 * @param statement  te statement to execute in an async manner
 * @return the resultset future
 */
public ListenableFuture<ResultSet> executeAsync(Statement statement) {
    try {
        return getSession().executeAsync(statement);
    } catch (InvalidQueryException | DriverInternalError e) {
        cleanUp();
        LOG.warn("could not execute statement", e);
        return Futures.immediateFailedFuture(e);
    }
}
项目:kaa    文件:EndpointSpecificConfigurationMigration.java   
private void alterEndpointProfileTable() {
  try {
    cassandraSession.execute("ALTER TABLE ep_profile ADD eps_cf_hash blob;");
  } catch (InvalidQueryException ex) {
    LOG.warn("Failed to alter ep_profile table: {}", ex.getMessage());
  }
}
项目:c-star-path-j    文件:CqlStructuredDataSupportSystemTest.java   
private void dropKeyspaceIfExists(Session localSession) {
    try {
        localSession.execute("drop keyspace " + TEST_KEYSPACE);
    } catch (InvalidQueryException ignored) {
        // doesn't exist
    }
}
项目:atlas-deer    文件:TestCassandraPersistenceModule.java   
public void tearDown() {
    try {
        Session session = cassandraService.getCluster().connect();
        CassandraInit.truncate(session, context);
    } catch (InvalidQueryException | ConnectionException e) {
        log.warn("failed to truncate {}", keyspace);
    }
}
项目:Docussandra    文件:PreparedStatementFactory.java   
/**
     * Gets a prepared statement. Could be new, or from the cache.
     *
     * @param query The query to get the statement for.
     * @param session The session to create the statement in.
     * @return a PreparedStatement to use.
     */
    public static PreparedStatement getPreparedStatement(String query, Session session)
    {
//        if (!established)
//        {
//            establishCache();
//        }
        //StopWatch sw = new StopWatch();
        //sw.start();
        if (query == null || query.trim().equals(""))
        {
            throw new IllegalArgumentException("Query must be populated.");
        }
        if (session == null)
        {
            throw new IllegalArgumentException("Session cannot be null.");
        }
        query = query.trim();
        Cache c = CacheFactory.getCache("preparedStatements");
        Element e = null;
//        synchronized (LOCK)
        //{
        e = c.get(query);
        if (e == null || e.getObjectValue() == null)
        {
            logger.debug("Creating new Prepared Statement for: " + query);
            try
            {
                e = new Element(query, session.prepare(query));
                c.put(e);
            } catch (InvalidQueryException ex)
            {
                logger.error("Serious problem when attempting to prepare query: "
                        + query + " This is likely a fatal application problem.", ex);
                throw ex;//this wasn't getting logged for some reason, so we will manually log ^^
            }
        } else
        {
            if (logger.isTraceEnabled())
            {
                PreparedStatement ps = (PreparedStatement) e.getObjectValue();
                logger.trace("Pulling PreparedStatement from Cache: " + ps.getQueryString());
            }
        }
        //}
        //sw.stop();
        //logger.debug("Time to fetch prepared statement (" + query + "): " + sw.getTime());
        return (PreparedStatement) e.getObjectValue();

    }
项目:cassandra-kmean    文件:BatchTests.java   
@Test(expected = InvalidQueryException.class)
public void testMixedInCounterBatch()
{
   sendBatch(BatchStatement.Type.COUNTER, true, true);
}
项目:cassandra-kmean    文件:BatchTests.java   
@Test(expected = InvalidQueryException.class)
public void testMixedInLoggedBatch()
{
    sendBatch(BatchStatement.Type.LOGGED, true, true);
}
项目:cassandra-kmean    文件:BatchTests.java   
@Test(expected = InvalidQueryException.class)
public void testMixedInUnLoggedBatch()
{
    sendBatch(BatchStatement.Type.UNLOGGED, true, true);
}
项目:cassandra-kmean    文件:BatchTests.java   
@Test(expected = InvalidQueryException.class)
public void testNonCounterInCounterBatch()
{
    sendBatch(BatchStatement.Type.COUNTER, false, true);
}
项目:cassandra-kmean    文件:BatchTests.java   
@Test(expected = InvalidQueryException.class)
public void testCounterInLoggedBatch()
{
    sendBatch(BatchStatement.Type.LOGGED, true, false);
}
项目:scylla-tools-java    文件:BatchTests.java   
@Test(expected = InvalidQueryException.class)
public void testMixedInCounterBatch()
{
   sendBatch(BatchStatement.Type.COUNTER, true, true);
}
项目:scylla-tools-java    文件:BatchTests.java   
@Test(expected = InvalidQueryException.class)
public void testMixedInLoggedBatch()
{
    sendBatch(BatchStatement.Type.LOGGED, true, true);
}
项目:scylla-tools-java    文件:BatchTests.java   
@Test(expected = InvalidQueryException.class)
public void testMixedInUnLoggedBatch()
{
    sendBatch(BatchStatement.Type.UNLOGGED, true, true);
}
项目:scylla-tools-java    文件:BatchTests.java   
@Test(expected = InvalidQueryException.class)
public void testNonCounterInCounterBatch()
{
    sendBatch(BatchStatement.Type.COUNTER, false, true);
}
项目:scylla-tools-java    文件:BatchTests.java   
@Test(expected = InvalidQueryException.class)
public void testCounterInLoggedBatch()
{
    sendBatch(BatchStatement.Type.LOGGED, true, false);
}
项目:stratio-cassandra-test    文件:MatchTest.java   
@Test(expected = InvalidQueryException.class)
public void matchQueryBlobTest3() {
    int n = cassandraUtils.query(match("blob_1", "3E0A161")).count();
    assertEquals("Expected 0 results!", 0, n);
}
项目:stratio-cassandra-test    文件:MatchTest.java   
@Test(expected = InvalidQueryException.class)
public void matchQueryBlobTest4() {
    int n = cassandraUtils.query(match("blob_1", "3E0A1")).count();
    assertEquals("Expected 0 results!", 0, n);
}
项目:stratio-cassandra-test    文件:MatchTest.java   
@Test(expected = InvalidQueryException.class)
public void matchQueryBooleanTest5() {
    int n = cassandraUtils.query(match("boolean_1", "else")).count();
    assertEquals("Expected 0 results!", 0, n);
}