Skip to content

Commit ccfb164

Browse files
Merge pull request #198 from skyflowapi/release/25.9.13
Release/25.9.13
2 parents 221171f + 8a2b4e5 commit ccfb164

File tree

3 files changed

+27
-6
lines changed

3 files changed

+27
-6
lines changed

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
if sys.version_info < (3, 7):
88
raise RuntimeError("skyflow requires Python 3.7+")
9-
current_version = '2.1.0b1.dev0+8efd1cd'
9+
current_version = '1.15.4.dev0+ef26f0d'
1010

1111
setup(
1212
name='skyflow',

skyflow/vault/_client.py

Lines changed: 25 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55
import types
66
import requests
77
import asyncio
8+
from urllib3.util.retry import Retry
9+
from requests.adapters import HTTPAdapter
810
from skyflow.vault._insert import getInsertRequestBody, processResponse, convertResponse
911
from skyflow.vault._update import sendUpdateRequests, createUpdateResponseBody
1012
from skyflow.vault._config import Configuration, ConnectionConfig, DeleteOptions, DetokenizeOptions, GetOptions, InsertOptions, UpdateOptions, QueryOptions
@@ -36,6 +38,18 @@ def __init__(self, config: Configuration):
3638
raise SkyflowError(SkyflowErrorCodes.INVALID_INPUT, SkyflowErrorMessages.TOKEN_PROVIDER_ERROR.value % (
3739
str(type(config.tokenProvider))), interface=interface)
3840

41+
retry_strategy = Retry(
42+
total=3,
43+
connect=5,
44+
backoff_factor=0.5,
45+
status_forcelist=[500, 502, 503, 504],
46+
raise_on_status=True,
47+
)
48+
49+
self.session = requests.Session()
50+
adapter = HTTPAdapter(pool_connections=1, pool_maxsize=20, pool_block=False, max_retries=retry_strategy)
51+
self.session.mount("https://", adapter)
52+
3953
self.vaultID = config.vaultID
4054
self.vaultURL = config.vaultURL.rstrip('/')
4155
self.tokenProvider = config.tokenProvider
@@ -45,7 +59,6 @@ def __init__(self, config: Configuration):
4559
def insert(self, records: dict, options: InsertOptions = InsertOptions()):
4660
interface = InterfaceName.INSERT.value
4761
log_info(InfoMessages.INSERT_TRIGGERED.value, interface=interface)
48-
4962
self._checkConfig(interface)
5063

5164
jsonBody = getInsertRequestBody(records, options)
@@ -54,11 +67,19 @@ def insert(self, records: dict, options: InsertOptions = InsertOptions()):
5467
self.storedToken, self.tokenProvider, interface)
5568
headers = {
5669
"Authorization": "Bearer " + self.storedToken,
57-
"sky-metadata": json.dumps(getMetrics())
70+
"sky-metadata": json.dumps(getMetrics()),
71+
# "User-Agent": 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36'
5872
}
59-
60-
response = requests.post(requestURL, data=jsonBody, headers=headers)
73+
# response = requests.post(requestURL, data=jsonBody, headers=headers)
74+
response = self.session.post(
75+
requestURL,
76+
data=jsonBody,
77+
headers=headers,
78+
# timeout=(5, 300),
79+
)
80+
print(">>> raw response: ", response.history)
6181
processedResponse = processResponse(response)
82+
print(">>> processedResponse local: ", processedResponse)
6283
result, partial = convertResponse(records, processedResponse, options)
6384
if partial:
6485
log_error(SkyflowErrorMessages.BATCH_INSERT_PARTIAL_SUCCESS.value, interface)

skyflow/version.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
SDK_VERSION = '2.1.0b1.dev0+8efd1cd'
1+
SDK_VERSION = '1.15.4.dev0+ef26f0d'

0 commit comments

Comments
 (0)