You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@phoenix.apache.org by Tulasi Paradarami <tu...@gmail.com> on 2017/01/19 22:35:17 UTC

Timeline consistency using PQS

Hi,

Does PQS support HBase's timeline consistency (HBASE-10070)?

Looking at the connection properties implementation within Avatica, I see
that following are defined: ["transactionIsolation", "schema", "readOnly",
"dirty", "autoCommit", "catalog"] but there's isn't a property defined for
setting consistency.

org.apache.calcite.avatica.ConnectionPropertiesImpl.java:
  @JsonCreator
  public ConnectionPropertiesImpl(
      @JsonProperty("autoCommit") Boolean autoCommit,
      @JsonProperty("readOnly") Boolean readOnly,
      @JsonProperty("transactionIsolation") Integer transactionIsolation,
      @JsonProperty("catalog") String catalog,
      @JsonProperty("schema") String schema) {
    this.autoCommit = autoCommit;
    this.readOnly = readOnly;
    this.transactionIsolation = transactionIsolation;
    this.catalog = catalog;
    this.schema = schema;
  }

Re: Timeline consistency using PQS

Posted by Josh Elser <el...@apache.org>.
Tulasi,

Any property which you can provide in the `Properties` object when 
instantiating the PhoenixDriver (outside of PQS), you can pass into PQS 
via the same `Properties` object when instantiating the thin Driver.

The OpenConnectionRequest[1] is the RPC mechanism which passes along 
this information.

- Josh

[1] 
http://calcite.apache.org/avatica/docs/protobuf_reference.html#openconnectionrequest

Tulasi Paradarami wrote:
> Could someone clarify how this property is used by Phoenix:
> phoenix.connection.consistency
> If I set it in hbase-site.xml, does phoenix utilize it for every query
> (even queries from PQS)?
>
> It's not documented on the website but it's defined in QueryServices.java:
> // consistency configuration setting
> public static final String CONSISTENCY_ATTRIB =
> "phoenix.connection.consistency";
>
> And used in PhoenixConnection.java
> this.consistency = JDBCUtil.getConsistencyLevel(url, this.info
> <http://this.info>,
> this.services.getProps().get("phoenix.connection.consistency",
> QueryServicesOptions.DEFAULT_CONSISTENCY_LEVEL));
>
>
>
> On Thu, Jan 19, 2017 at 2:35 PM, Tulasi Paradarami
> <tulasi.krishna.p@gmail.com <ma...@gmail.com>> wrote:
>
>     Hi,
>
>     Does PQS support HBase's timeline consistency (HBASE-10070)?
>
>     Looking at the connection properties implementation within Avatica,
>     I see that following are defined: ["transactionIsolation", "schema",
>     "readOnly", "dirty", "autoCommit", "catalog"] but there's isn't a
>     property defined for setting consistency.
>
>     org.apache.calcite.avatica.ConnectionPropertiesImpl.java:
>        @JsonCreator
>        public ConnectionPropertiesImpl(
>            @JsonProperty("autoCommit") Boolean autoCommit,
>            @JsonProperty("readOnly") Boolean readOnly,
>            @JsonProperty("transactionIsolation") Integer
>     transactionIsolation,
>            @JsonProperty("catalog") String catalog,
>            @JsonProperty("schema") String schema) {
>          this.autoCommit = autoCommit;
>          this.readOnly = readOnly;
>          this.transactionIsolation = transactionIsolation;
>          this.catalog = catalog;
>          this.schema = schema;
>        }
>
>

Re: Timeline consistency using PQS

Posted by Tulasi Paradarami <tu...@gmail.com>.
Could someone clarify how this property is used by Phoenix:
phoenix.connection.consistency
If I set it in hbase-site.xml, does phoenix utilize it for every query
(even queries from PQS)?

It's not documented on the website but it's defined in QueryServices.java:
// consistency configuration setting
public static final String CONSISTENCY_ATTRIB =
"phoenix.connection.consistency";

And used in PhoenixConnection.java
this.consistency = JDBCUtil.getConsistencyLevel(url, this.info,
this.services.getProps().get("phoenix.connection.consistency",
QueryServicesOptions.DEFAULT_CONSISTENCY_LEVEL));



On Thu, Jan 19, 2017 at 2:35 PM, Tulasi Paradarami <
tulasi.krishna.p@gmail.com> wrote:

> Hi,
>
> Does PQS support HBase's timeline consistency (HBASE-10070)?
>
> Looking at the connection properties implementation within Avatica, I see
> that following are defined: ["transactionIsolation", "schema", "readOnly",
> "dirty", "autoCommit", "catalog"] but there's isn't a property defined for
> setting consistency.
>
> org.apache.calcite.avatica.ConnectionPropertiesImpl.java:
>   @JsonCreator
>   public ConnectionPropertiesImpl(
>       @JsonProperty("autoCommit") Boolean autoCommit,
>       @JsonProperty("readOnly") Boolean readOnly,
>       @JsonProperty("transactionIsolation") Integer transactionIsolation,
>       @JsonProperty("catalog") String catalog,
>       @JsonProperty("schema") String schema) {
>     this.autoCommit = autoCommit;
>     this.readOnly = readOnly;
>     this.transactionIsolation = transactionIsolation;
>     this.catalog = catalog;
>     this.schema = schema;
>   }
>
>

Re: Timeline consistency using PQS

Posted by Tulasi Paradarami <tu...@gmail.com>.
Could someone clarify how this property is used by Phoenix:
phoenix.connection.consistency
If I set it in hbase-site.xml, does phoenix utilize it for every query
(even queries from PQS)?

It's not documented on the website but it's defined in QueryServices.java:
// consistency configuration setting
public static final String CONSISTENCY_ATTRIB =
"phoenix.connection.consistency";

And used in PhoenixConnection.java
this.consistency = JDBCUtil.getConsistencyLevel(url, this.info,
this.services.getProps().get("phoenix.connection.consistency",
QueryServicesOptions.DEFAULT_CONSISTENCY_LEVEL));



On Thu, Jan 19, 2017 at 2:35 PM, Tulasi Paradarami <
tulasi.krishna.p@gmail.com> wrote:

> Hi,
>
> Does PQS support HBase's timeline consistency (HBASE-10070)?
>
> Looking at the connection properties implementation within Avatica, I see
> that following are defined: ["transactionIsolation", "schema", "readOnly",
> "dirty", "autoCommit", "catalog"] but there's isn't a property defined for
> setting consistency.
>
> org.apache.calcite.avatica.ConnectionPropertiesImpl.java:
>   @JsonCreator
>   public ConnectionPropertiesImpl(
>       @JsonProperty("autoCommit") Boolean autoCommit,
>       @JsonProperty("readOnly") Boolean readOnly,
>       @JsonProperty("transactionIsolation") Integer transactionIsolation,
>       @JsonProperty("catalog") String catalog,
>       @JsonProperty("schema") String schema) {
>     this.autoCommit = autoCommit;
>     this.readOnly = readOnly;
>     this.transactionIsolation = transactionIsolation;
>     this.catalog = catalog;
>     this.schema = schema;
>   }
>
>