Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

h2o python : On latest master(nightly) when there is a version mismatch get AttributeError: Attribute cloud_internal_timezone cannot be set on H2OCluster (= ‘America/Denver’) ` #12171

Closed
exalate-issue-sync bot opened this issue May 13, 2023 · 2 comments

Comments

@exalate-issue-sync
Copy link

move the version check to earlier in the init function.

on - http://h2o-release.s3.amazonaws.com/h2o/master/4196/index.html
when use an older python client like - pip install http://h2o-release.s3.amazonaws.com/h2o/rel-wheeler/4/Python/h2o-3.16.0.4-py2.py3-none-any.whl

{code:java}
h2o.init(strict_version_check=False)
Checking whether there is an H2O instance running at http://localhost:54321.

AttributeError Traceback (most recent call last)
in ()
----> 1 h2o.init(strict_version_check=False)

/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/h2o/h2o.py in init(url, ip, port, https, insecure, username, password, cookies, proxy, start_h2o, nthreads, ice_root, enable_assertions, max_mem_size, min_mem_size, strict_version_check, ignore_config, extra_classpath, **kwargs)
251 auth=auth, proxy=proxy,cookies=cookies, verbose=True,
252 _msgs=("Checking whether there is an H2O instance running at {url}",
--> 253 "connected.", "not found."))
254 except H2OConnectionError:
255 # Backward compatibility: in init() port parameter really meant "baseport" when starting a local server...

/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/h2o/backend/connection.py in open(server, url, ip, port, https, auth, verify_ssl_certificates, proxy, cookies, verbose, _msgs)
316 conn._stage = 1
317 conn._timeout = 3.0
--> 318 conn._cluster = conn._test_connection(retries, messages=_msgs)
319 # If a server is unable to respond within 1s, it should be considered a bug. However we disable this
320 # setting for now, for no good reason other than to ignore all those bugs :(

/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/h2o/backend/connection.py in _test_connection(self, max_retries, messages)
558 raise H2OServerError("Local server was unable to start")
559 try:
--> 560 cld = self.request("GET /3/Cloud")
561 if cld.consensus and cld.cloud_healthy:
562 self._print(" " + messages[1])

/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/h2o/backend/connection.py in request(self, endpoint, data, json, filename, save_to)
400 auth=self._auth, verify=self._verify_ssl_cert, proxies=self._proxies)
401 self._log_end_transaction(start_time, resp)
--> 402 return self._process_response(resp, save_to)
403
404 except (requests.exceptions.ConnectionError, requests.exceptions.HTTPError) as e:

/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/h2o/backend/connection.py in _process_response(response, save_to)
711 if content_type == "application/json":
712 try:
--> 713 data = response.json(object_pairs_hook=H2OResponse)
714 except (JSONDecodeError, requests.exceptions.ContentDecodingError) as e:
715 raise H2OServerError("Malformed JSON from server (%s):\n%s" % (str(e), response.text))

/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/requests/models.py in json(self, **kwargs)
856 try:
857 return complexjson.loads(
--> 858 self.content.decode(encoding), **kwargs
859 )
860 except UnicodeDecodeError:

/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/json/init.py in loads(s, encoding, cls, object_hook, parse_float, parse_int, parse_constant, object_pairs_hook, **kw)
365 if parse_constant is not None:
366 kw['parse_constant'] = parse_constant
--> 367 return cls(**kw).decode(s)

/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/json/decoder.py in decode(self, s, _w)
337
338 """
--> 339 obj, end = self.raw_decode(s, idx=_w(s, 0).end())
340 end = _w(s, end).end()
341 if end != len(s):

/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/json/decoder.py in raw_decode(self, s, idx)
353 """
354 try:
--> 355 obj, end = self.scan_once(s, idx)
356 except StopIteration as err:
357 raise JSONDecodeError("Expecting value", s, err.value) from None

/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/h2o/backend/connection.py in new(cls, keyvals)
828 schema = v
829 break
--> 830 if schema == "CloudV3": return H2OCluster.from_kvs(keyvals)
831 if schema == "H2OErrorV3": return H2OErrorV3(keyvals)
832 if schema == "H2OModelBuilderErrorV3": return H2OModelBuilderErrorV3(keyvals)

/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/h2o/backend/cluster.py in from_kvs(keyvals)
45 obj._props[k] = v
46 else:
---> 47 raise AttributeError("Attribute %s cannot be set on H2OCluster (= %r)" % (k, v))
48 return obj
49

AttributeError: Attribute cloud_internal_timezone cannot be set on H2OCluster (= 'America/Denver')

{code}

@exalate-issue-sync
Copy link
Author

Nidhi Mehta commented: this happens when the h2o python version on client and server do not match(or strict version check is set to false)

@hasithjp
Copy link
Member

JIRA Issue Migration Info

Jira Issue: PUBDEV-5300
Assignee: Sebastien Poirier
Reporter: Nidhi Mehta
State: Resolved
Fix Version: 3.34.0.1
Attachments: N/A
Development PRs: Available

Linked PRs from JIRA

#5578

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant