kylin-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "wan kun (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (KYLIN-3367) Add the compatibility for new version of hbase
Date Fri, 04 May 2018 09:14:00 GMT

     [ https://issues.apache.org/jira/browse/KYLIN-3367?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

wan kun updated KYLIN-3367:
---------------------------
    Description: 
The Hbase version is 1.4.3. The newly hbase version add some new method in *{{Table}}* and *{{ResultScanner}}* interface.
 So we should add the implementation method.

org.apache.hadoop.hbase.client.ResultScanner.java

 
{code:java}
/**
 * Allow the client to renew the scanner's lease on the server.
 * @return true if the lease was successfully renewed, false otherwise.
 */
boolean renewLease();

/**
 * @return the scan metrics, or {@code null} if we do not enable metrics.
 */
ScanMetrics getScanMetrics();
{code}
{code:java}
org.apache.hadoop.hbase.client.Table.java

/**
 * Set timeout (millisecond) of each operation in this Table instance, will override the value
 * of hbase.client.operation.timeout in configuration.
 * Operation timeout is a top-level restriction that makes sure a blocking method will not
be
 * blocked more than this. In each operation, if rpc request fails because of timeout or
 * other reason, it will retry until success or throw a RetriesExhaustedException. But if
the
 * total time being blocking reach the operation timeout before retries exhausted, it will
break
 * early and throw SocketTimeoutException.
 * @param operationTimeout the total timeout of each operation in millisecond.
 */
public void setOperationTimeout(int operationTimeout);

/**
 * Get timeout (millisecond) of each operation for in Table instance.
 */
public int getOperationTimeout();

/**
 * Get timeout (millisecond) of each rpc request in this Table instance.
 *
 * @returns Currently configured read timeout
 * @deprecated Use getReadRpcTimeout or getWriteRpcTimeout instead
 */
@Deprecated
int getRpcTimeout();

/**
 * Set timeout (millisecond) of each rpc request in operations of this Table instance, will
 * override the value of hbase.rpc.timeout in configuration.
 * If a rpc request waiting too long, it will stop waiting and send a new request to retry
until
 * retries exhausted or operation timeout reached.
 * <p>
 * NOTE: This will set both the read and write timeout settings to the provided value.
 *
 * @param rpcTimeout the timeout of each rpc request in millisecond.
 *
 * @deprecated Use setReadRpcTimeout or setWriteRpcTimeout instead
 */
@Deprecated
void setRpcTimeout(int rpcTimeout);

/**
 * Get timeout (millisecond) of each rpc read request in this Table instance.
 */
int getReadRpcTimeout();

/**
 * Set timeout (millisecond) of each rpc read request in operations of this Table instance,
will
 * override the value of hbase.rpc.read.timeout in configuration.
 * If a rpc read request waiting too long, it will stop waiting and send a new request to
retry
 * until retries exhausted or operation timeout reached.
 *
 * @param readRpcTimeout
 */
void setReadRpcTimeout(int readRpcTimeout);

/**
 * Get timeout (millisecond) of each rpc write request in this Table instance.
 */
int getWriteRpcTimeout();

/**
 * Set timeout (millisecond) of each rpc write request in operations of this Table instance,
will
 * override the value of hbase.rpc.write.timeout in configuration.
 * If a rpc write request waiting too long, it will stop waiting and send a new request to
retry
 * until retries exhausted or operation timeout reached.
 *
 * @param writeRpcTimeout
 */
void setWriteRpcTimeout(int writeRpcTimeout);
{code}
 

  was:
The Hbase version is 1.4.3. The newly hbase version add some new method in *{{Table}}* and *{{ResultScanner}}* interface.
 So we should add the implementation method.

ResultScanner.java

 
{code:java}
/**
 * Allow the client to renew the scanner's lease on the server.
 * @return true if the lease was successfully renewed, false otherwise.
 */
boolean renewLease();

/**
 * @return the scan metrics, or {@code null} if we do not enable metrics.
 */
ScanMetrics getScanMetrics();
{code}
{code:java}
org.apache.hadoop.hbase.client.Table.java

/**
 * Set timeout (millisecond) of each operation in this Table instance, will override the value
 * of hbase.client.operation.timeout in configuration.
 * Operation timeout is a top-level restriction that makes sure a blocking method will not
be
 * blocked more than this. In each operation, if rpc request fails because of timeout or
 * other reason, it will retry until success or throw a RetriesExhaustedException. But if
the
 * total time being blocking reach the operation timeout before retries exhausted, it will
break
 * early and throw SocketTimeoutException.
 * @param operationTimeout the total timeout of each operation in millisecond.
 */
public void setOperationTimeout(int operationTimeout);

/**
 * Get timeout (millisecond) of each operation for in Table instance.
 */
public int getOperationTimeout();

/**
 * Get timeout (millisecond) of each rpc request in this Table instance.
 *
 * @returns Currently configured read timeout
 * @deprecated Use getReadRpcTimeout or getWriteRpcTimeout instead
 */
@Deprecated
int getRpcTimeout();

/**
 * Set timeout (millisecond) of each rpc request in operations of this Table instance, will
 * override the value of hbase.rpc.timeout in configuration.
 * If a rpc request waiting too long, it will stop waiting and send a new request to retry
until
 * retries exhausted or operation timeout reached.
 * <p>
 * NOTE: This will set both the read and write timeout settings to the provided value.
 *
 * @param rpcTimeout the timeout of each rpc request in millisecond.
 *
 * @deprecated Use setReadRpcTimeout or setWriteRpcTimeout instead
 */
@Deprecated
void setRpcTimeout(int rpcTimeout);

/**
 * Get timeout (millisecond) of each rpc read request in this Table instance.
 */
int getReadRpcTimeout();

/**
 * Set timeout (millisecond) of each rpc read request in operations of this Table instance,
will
 * override the value of hbase.rpc.read.timeout in configuration.
 * If a rpc read request waiting too long, it will stop waiting and send a new request to
retry
 * until retries exhausted or operation timeout reached.
 *
 * @param readRpcTimeout
 */
void setReadRpcTimeout(int readRpcTimeout);

/**
 * Get timeout (millisecond) of each rpc write request in this Table instance.
 */
int getWriteRpcTimeout();

/**
 * Set timeout (millisecond) of each rpc write request in operations of this Table instance,
will
 * override the value of hbase.rpc.write.timeout in configuration.
 * If a rpc write request waiting too long, it will stop waiting and send a new request to
retry
 * until retries exhausted or operation timeout reached.
 *
 * @param writeRpcTimeout
 */
void setWriteRpcTimeout(int writeRpcTimeout);
{code}
 


> Add the compatibility for new version of hbase
> ----------------------------------------------
>
>                 Key: KYLIN-3367
>                 URL: https://issues.apache.org/jira/browse/KYLIN-3367
>             Project: Kylin
>          Issue Type: Bug
>          Components: REST Service
>    Affects Versions: v2.4.0
>            Reporter: wan kun
>            Priority: Minor
>
> The Hbase version is 1.4.3. The newly hbase version add some new method in *{{Table}}* and *{{ResultScanner}}* interface.
>  So we should add the implementation method.
> org.apache.hadoop.hbase.client.ResultScanner.java
>  
> {code:java}
> /**
>  * Allow the client to renew the scanner's lease on the server.
>  * @return true if the lease was successfully renewed, false otherwise.
>  */
> boolean renewLease();
> /**
>  * @return the scan metrics, or {@code null} if we do not enable metrics.
>  */
> ScanMetrics getScanMetrics();
> {code}
> {code:java}
> org.apache.hadoop.hbase.client.Table.java
> /**
>  * Set timeout (millisecond) of each operation in this Table instance, will override
the value
>  * of hbase.client.operation.timeout in configuration.
>  * Operation timeout is a top-level restriction that makes sure a blocking method will
not be
>  * blocked more than this. In each operation, if rpc request fails because of timeout
or
>  * other reason, it will retry until success or throw a RetriesExhaustedException. But
if the
>  * total time being blocking reach the operation timeout before retries exhausted, it
will break
>  * early and throw SocketTimeoutException.
>  * @param operationTimeout the total timeout of each operation in millisecond.
>  */
> public void setOperationTimeout(int operationTimeout);
> /**
>  * Get timeout (millisecond) of each operation for in Table instance.
>  */
> public int getOperationTimeout();
> /**
>  * Get timeout (millisecond) of each rpc request in this Table instance.
>  *
>  * @returns Currently configured read timeout
>  * @deprecated Use getReadRpcTimeout or getWriteRpcTimeout instead
>  */
> @Deprecated
> int getRpcTimeout();
> /**
>  * Set timeout (millisecond) of each rpc request in operations of this Table instance,
will
>  * override the value of hbase.rpc.timeout in configuration.
>  * If a rpc request waiting too long, it will stop waiting and send a new request to
retry until
>  * retries exhausted or operation timeout reached.
>  * <p>
>  * NOTE: This will set both the read and write timeout settings to the provided value.
>  *
>  * @param rpcTimeout the timeout of each rpc request in millisecond.
>  *
>  * @deprecated Use setReadRpcTimeout or setWriteRpcTimeout instead
>  */
> @Deprecated
> void setRpcTimeout(int rpcTimeout);
> /**
>  * Get timeout (millisecond) of each rpc read request in this Table instance.
>  */
> int getReadRpcTimeout();
> /**
>  * Set timeout (millisecond) of each rpc read request in operations of this Table instance,
will
>  * override the value of hbase.rpc.read.timeout in configuration.
>  * If a rpc read request waiting too long, it will stop waiting and send a new request
to retry
>  * until retries exhausted or operation timeout reached.
>  *
>  * @param readRpcTimeout
>  */
> void setReadRpcTimeout(int readRpcTimeout);
> /**
>  * Get timeout (millisecond) of each rpc write request in this Table instance.
>  */
> int getWriteRpcTimeout();
> /**
>  * Set timeout (millisecond) of each rpc write request in operations of this Table instance,
will
>  * override the value of hbase.rpc.write.timeout in configuration.
>  * If a rpc write request waiting too long, it will stop waiting and send a new request
to retry
>  * until retries exhausted or operation timeout reached.
>  *
>  * @param writeRpcTimeout
>  */
> void setWriteRpcTimeout(int writeRpcTimeout);
> {code}
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Mime
View raw message