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;
> }
>
>