Skip to content

Breaking change from SkySpark 3.0.27 to 3.0.28 #108

@jdechalendar

Description

@jdechalendar

The following snippet

session = pyhaystack.connect(
  implementation="skyspark",
  uri=SKYSPARK_URL,
  username=SKYSPARK_USERID,
  password=SKYSPARK_PWD,
  project=PROJECT,
  grid_format=hszinc.MODE_JSON,
)

print(session.find_entity("site"))
print(session.find_entity("site").result)

produces the following output

  <FindEntityOperation failed>
Traceback (most recent call last):
  File "test.py", line 31, in <module>
    print(session.find_entity("site").result)
  File "/home/jdechale/.venv/py38/lib64/python3.8/site-packages/pyhaystack/util/state.py", line 100, in result
    self._result.reraise()
  File "/home/jdechale/.venv/py38/lib64/python3.8/site-packages/pyhaystack/util/asyncexc.py", line 29, in reraise
    reraise(*self._exc_info)
  File "/home/jdechale/.venv/py38/lib64/python3.8/site-packages/six.py", line 703, in reraise
    raise value
  File "/home/jdechale/.venv/py38/lib64/python3.8/site-packages/pyhaystack/client/ops/entity.py", line 66, in _on_read
    entity_id = entity_ref.name
AttributeError: 'dict' object has no attribute 'name'

with a skyspark server running 3.0.28 but was working with 3.0.27.

If I remove the grid_format argument (which I am guessing defaults to zinc for the skyspark implementation), then the issue disappears. For our application, parsing json was much faster than zinc, so we would prefer to keep that.

I'd be happy to do a bit more digging to try to resolve this, but it would be great to get a few pointers. It looks like entity_ref here is not expected to be a dict.

Does someone have thoughts on what is happening here?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions