diff --git a/README.md b/README.md index 13b80ba..8fc89b9 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # e6data Python Connector -![version](https://img.shields.io/badge/version-2.3.6-blue.svg) +![version](https://img.shields.io/badge/version-2.3.7-blue.svg) ## Introduction diff --git a/docs/zero-downtime/api-reference.md b/docs/zero-downtime/api-reference.md index 8eb054b..35f1427 100644 --- a/docs/zero-downtime/api-reference.md +++ b/docs/zero-downtime/api-reference.md @@ -244,7 +244,7 @@ The `Cursor.metadata` property dynamically selects the appropriate strategy: @property def metadata(self): strategy = _get_query_strategy(self._query_id) if self._query_id else _get_active_strategy() - return _get_grpc_header(engine_ip=self._engine_ip, cluster=self.connection.cluster_uuid, strategy=strategy) + return _get_grpc_header(engine_ip=self._engine_ip, cluster=self.connection.cluster_name, strategy=strategy) ``` ## Error Handling diff --git a/docs/zero-downtime/configuration.md b/docs/zero-downtime/configuration.md index f67f93d..8eb6fca 100644 --- a/docs/zero-downtime/configuration.md +++ b/docs/zero-downtime/configuration.md @@ -121,7 +121,7 @@ connection = Connection( password='your-token', catalog='your-catalog', database='your-database', - cluster_uuid='your-cluster-uuid', + cluster_name='your-cluster-name', secure=True, auto_resume=True ) diff --git a/e6data_python_connector/dialect.py b/e6data_python_connector/dialect.py index 0fa429b..c87d66f 100644 --- a/e6data_python_connector/dialect.py +++ b/e6data_python_connector/dialect.py @@ -210,7 +210,7 @@ class E6dataDialect(default.DefaultDialect): driver = 'e6data' scheme = 'e6data' catalog_name = None - cluster_uuid = None + cluster_name = None secure = False auto_resume = False @@ -226,7 +226,7 @@ def create_connect_args(self, url): if url.query.get("schema"): database = url.query.get("schema") self.catalog_name = url.query.get("catalog") - self.cluster_uuid = url.query.get("cluster-uuid") + self.cluster_name = url.query.get("cluster-name") self.secure = url.query.get("secure") == "true" self.auto_resume = url.query.get("auto-resume", "true") == "true" # default to True if not self.catalog_name: @@ -247,7 +247,7 @@ def create_connect_args(self, url): "password": url.password or None, "database": database, "catalog": self.catalog_name, - "cluster_uuid": self.cluster_uuid, + "cluster_name": self.cluster_name, 'secure': self.secure, 'auto_resume': self.auto_resume, 'grpc_options': grpc_options diff --git a/e6data_python_connector/e6data_grpc.py b/e6data_python_connector/e6data_grpc.py index 298c9f4..7de6a55 100644 --- a/e6data_python_connector/e6data_grpc.py +++ b/e6data_python_connector/e6data_grpc.py @@ -312,10 +312,9 @@ def __init__( port: int, username: str, password: str, - scheme: str = 'e6data', catalog: str = None, database: str = None, - cluster_uuid: str = None, + cluster_name: str = None, secure: bool = False, auto_resume: bool = True, grpc_options: dict = None, @@ -331,14 +330,12 @@ def __init__( Your e6data Email ID password: str Access Token generated in the e6data console - scheme: str - e6data catalog: str Catalog name database: str Database to perform the query on - cluster_uuid: str - Cluster's uuid + cluster_name: str + Cluster's name secure: bool, Optional Flag to use a secure channel for data transfer auto_resume: bool, Optional @@ -358,7 +355,7 @@ def __init__( self.__username = username self.__password = password self.database = database - self.cluster_uuid = cluster_uuid + self.cluster_name = cluster_name self._session_id = None self._host = host self._port = port @@ -508,7 +505,7 @@ def get_session_id(self): try: authenticate_response = self._client.authenticate( authenticate_request, - metadata=_get_grpc_header(cluster=self.cluster_uuid, strategy=active_strategy) + metadata=_get_grpc_header(cluster=self.cluster_name, strategy=active_strategy) ) self._session_id = authenticate_response.sessionId if not self._session_id: @@ -545,7 +542,7 @@ def get_session_id(self): try: authenticate_response = self._client.authenticate( authenticate_request, - metadata=_get_grpc_header(cluster=self.cluster_uuid, strategy=strategy) + metadata=_get_grpc_header(cluster=self.cluster_name, strategy=strategy) ) self._session_id = authenticate_response.sessionId if self._session_id: @@ -584,7 +581,7 @@ def get_session_id(self): user=self.__username, password=self.__password, secure_channel=self._secure_channel, - cluster_uuid=self.cluster_uuid, + cluster_uuid=self.cluster_name, timeout=self.grpc_auto_resume_timeout_seconds ).resume() if status: @@ -711,7 +708,7 @@ def clear(self, query_id, engine_ip=None): ) clear_response = self._client.clear( clear_request, - metadata=_get_grpc_header(engine_ip=engine_ip, cluster=self.cluster_uuid, strategy=_get_active_strategy()) + metadata=_get_grpc_header(engine_ip=engine_ip, cluster=self.cluster_name, strategy=_get_active_strategy()) ) # Check for new strategy in clear response @@ -742,7 +739,7 @@ def query_cancel(self, engine_ip, query_id): ) cancel_response = self._client.cancelQuery( cancel_query_request, - metadata=_get_grpc_header(engine_ip=engine_ip, cluster=self.cluster_uuid, strategy=_get_active_strategy()) + metadata=_get_grpc_header(engine_ip=engine_ip, cluster=self.cluster_name, strategy=_get_active_strategy()) ) # Check for new strategy in cancel response @@ -766,7 +763,7 @@ def dry_run(self, query): ) dry_run_response = self._client.dryRun( dry_run_request, - metadata=_get_grpc_header(cluster=self.cluster_uuid, strategy=_get_active_strategy()) + metadata=_get_grpc_header(cluster=self.cluster_name, strategy=_get_active_strategy()) ) return dry_run_response.dryrunValue @@ -788,7 +785,7 @@ def get_tables(self, catalog, database): ) get_table_response = self._client.getTablesV2( get_table_request, - metadata=_get_grpc_header(cluster=self.cluster_uuid, strategy=_get_active_strategy()) + metadata=_get_grpc_header(cluster=self.cluster_name, strategy=_get_active_strategy()) ) # Check for new strategy in get tables response @@ -816,7 +813,7 @@ def get_columns(self, catalog, database, table): ) get_columns_response = self._client.getColumnsV2( get_columns_request, - metadata=_get_grpc_header(cluster=self.cluster_uuid, strategy=_get_active_strategy()) + metadata=_get_grpc_header(cluster=self.cluster_name, strategy=_get_active_strategy()) ) # Check for new strategy in get columns response @@ -840,7 +837,7 @@ def get_schema_names(self, catalog): ) get_schema_response = self._client.getSchemaNamesV2( get_schema_request, - metadata=_get_grpc_header(cluster=self.cluster_uuid, strategy=_get_active_strategy()) + metadata=_get_grpc_header(cluster=self.cluster_name, strategy=_get_active_strategy()) ) # Check for new strategy in get schema names response @@ -937,7 +934,7 @@ def metadata(self): """ # Use query-specific strategy if available, otherwise use active strategy strategy = _get_query_strategy(self._query_id) if self._query_id else _get_active_strategy() - return _get_grpc_header(engine_ip=self._engine_ip, cluster=self.connection.cluster_uuid, strategy=strategy) + return _get_grpc_header(engine_ip=self._engine_ip, cluster=self.connection.cluster_name, strategy=strategy) @property def arraysize(self): diff --git a/e6data_python_connector/strategy.py b/e6data_python_connector/strategy.py index 0ae76fb..fe40a55 100644 --- a/e6data_python_connector/strategy.py +++ b/e6data_python_connector/strategy.py @@ -190,7 +190,7 @@ def _get_grpc_header(engine_ip=None, cluster=None, strategy=None): if engine_ip: metadata.append(('plannerip', engine_ip)) if cluster: - metadata.append(('cluster-uuid', cluster)) + metadata.append(('cluster-name', cluster)) if strategy: # Normalize strategy to lowercase normalized_strategy = strategy.lower() if isinstance(strategy, str) else strategy diff --git a/setup.py b/setup.py index 82b28dd..f59c570 100644 --- a/setup.py +++ b/setup.py @@ -12,7 +12,7 @@ import setuptools -VERSION = (2, 3, 6,) +VERSION = (2, 3, 7,) def get_long_desc():