mirror of https://github.com/tikv/client-java.git
				
				
				
			Co-authored-by: iosmanthus <dengliming@pingcap.com>
This commit is contained in:
		
							parent
							
								
									64beacfb9c
								
							
						
					
					
						commit
						191cea0182
					
				|  | @ -88,6 +88,14 @@ The following includes ThreadPool related parameters, which can be passed in thr | ||||||
| - a PKCS#8 private key file in PEM format. e.g. /home/tidb/client-key.pem. | - a PKCS#8 private key file in PEM format. e.g. /home/tidb/client-key.pem. | ||||||
| - default: null | - default: null | ||||||
| 
 | 
 | ||||||
|  | #### tikv.tls.reload_interval | ||||||
|  | - The interval in seconds to poll the change of TLS context, if a change is detected, the TLS context will be rebuilded. | ||||||
|  | - default: `"10s"`, `"0s"` means disable TLS context reload. | ||||||
|  | 
 | ||||||
|  | #### tikv.conn.recycle_time | ||||||
|  | - After a TLS context reloading, the old connections will be forced to shutdown after `tikv.conn.recycle_time` to prevent channel leak. | ||||||
|  | - default: `"60s"`. | ||||||
|  | 
 | ||||||
| #### tikv.rawkv.read_timeout_in_ms | #### tikv.rawkv.read_timeout_in_ms | ||||||
| - RawKV read timeout in milliseconds. This parameter controls the timeout of `get` `getKeyTTL`. | - RawKV read timeout in milliseconds. This parameter controls the timeout of `get` `getKeyTTL`. | ||||||
| - default: 2000 (2 seconds) | - default: 2000 (2 seconds) | ||||||
|  |  | ||||||
|  | @ -49,3 +49,52 @@ public class Main { | ||||||
|   } |   } | ||||||
| } | } | ||||||
| ``` | ``` | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | ## API V2 | ||||||
|  | With TiKV version >= 6.1.0, we release a new feature called "TiKV API V2" which provides a new raw key-value storage format allowing the coexistence of RawKV and TxnKV. Please refer to [v6.10 release notes](https://docs.pingcap.com/tidb/stable/release-6.1.0#ease-of-use) for detail. | ||||||
|  | 
 | ||||||
|  | To enable the API V2 mode, users need to specify the API version of the client. | ||||||
|  | 
 | ||||||
|  | ```java | ||||||
|  | // import ... | ||||||
|  | import org.tikv.common.TiConfiguration.ApiVersion; | ||||||
|  | 
 | ||||||
|  | public class Main { | ||||||
|  |   public static void main() { | ||||||
|  |     TiConfiguration conf = TiConfiguration.createRawDefault("127.0.0.1:2379"); | ||||||
|  |     conf.setApiVersion(ApiVersion.V2); | ||||||
|  |     try(TiSession session = TiSession.create(conf)) { | ||||||
|  |       try(RawKVClient client = session.createRawClient()) { | ||||||
|  |         // The client will read and write date in the format of API V2, which is | ||||||
|  |         // transparent to the users. | ||||||
|  |         client.put(ByteString.copyFromUtf8("hello"), ByteString.copyFromUtf8("world")); | ||||||
|  |         // other client operations. | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | ### Compatibility | ||||||
|  | 
 | ||||||
|  | The V2 Client should not access the cluster other than V2, this requires users to [enable the API V2](https://docs.pingcap.com/tidb/stable/tikv-configuration-file#api-version-new-in-v610) for the cluster: | ||||||
|  | 
 | ||||||
|  | ```toml | ||||||
|  | [storage] | ||||||
|  | # The V2 cluster must enable ttl for RawKV explicitly | ||||||
|  | enable-ttl = true | ||||||
|  | api-version = 2 | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | If V2 client accesses a V1 cluster or V1 cluster accesses a V2 cluster, the requests will be denied by the cluster. You can check the compatibility via the following matrix. | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | |                       | V1 Server | V1TTL Server | V2 Server | | ||||||
|  | | --------------------- | --------- | ------------ | --------- | | ||||||
|  | | V1 RawClient          | Raw       | Raw          | Error     | | ||||||
|  | | V1 RawClient with TTL | Error     | Raw          | Error     | | ||||||
|  | | V1 TxnClient          | Txn       | Error        | Error     | | ||||||
|  | | V1 TiDB               | TiDB Data | Error        | TiDB Data | | ||||||
|  | | V2 RawClient          | Error     | Error        | Raw       | | ||||||
|  | | V2 TxnClient          | Error     | Error        | Txn       | | ||||||
		Loading…
	
		Reference in New Issue