AmbiguousTimeoutException when params missed in query

Using SDK 3.3

    <dependency>
        <groupId>com.couchbase.client</groupId>
        <artifactId>java-client</artifactId>
        <version>3.3.3</version>
    </dependency>

Got an com.couchbase.client.core.error.AmbiguousTimeoutException when a parametrized n1ql was executed without passing the params. This was a bug in our application but the troubleshooting was made greatly difficult by the fact that instead of giving a parameter missing error the query timed out after the 75s n1ql timeout limit without any hint on the underlying issue.

   String query = "SELECT t.workflow.name, t.status " +
                "FROM bucket1 t " +
                "WHERE t.env == $env " +
                "AND t.createdTs >= $start " +
                "AND t.createdTs <= $end";
    List<Record> data = cluster.query(query, queryOptions()).rowsAs(Record.class);
   // We missed providing the parameters as given below
   //List<Record> data = cluster.query(query, queryOptions().parameters(param)).rowsAs(Record.class);
1 Like