https://dagster.io/ logo
Title
m

Michel Rouly

06/29/2021, 3:07 PM
Just ran into a new error this morning on k8s Dagster. Using the default k8s postgres DB and the s3 io manager. Just wiped them both out (the postgres volume and the S3 prefix) and deployed fresh, still seeing it the first time I trigger a run. It seems like it's an issue with Dagit talking to the Dagster user deployment service, but I'm not entirely sure... Error deets will be in thread, salient message:
Message: Attempted to deserialize class "EventLogEntry" which is not in the whitelist. This error can occur due to version skew, verify processes are running expected versions.
Message: Event logs invalid for run id e2a63b3d-db61-4cfd-8dba-69f20e4e5eed

Path: 

Locations: 

Stack Trace:
  File "/usr/local/lib/python3.7/site-packages/rx/core/observablebase.py", line 67, in set_disposable
    subscriber = self._subscribe_core(auto_detach_observer)
  File "/usr/local/lib/python3.7/site-packages/rx/core/anonymousobservable.py", line 20, in _subscribe_core
    return self._subscribe(observer)
  File "/usr/local/lib/python3.7/site-packages/dagster_graphql/implementation/pipeline_run_storage.py", line 11, in __call__
    events = self.instance.logs_after(self.run_id, self.after_cursor)
  File "/usr/local/lib/python3.7/site-packages/dagster/core/instance/__init__.py", line 1023, in logs_after
    return self._event_storage.get_logs_for_run(run_id, cursor=cursor, of_type=of_type)
  File "/usr/local/lib/python3.7/site-packages/dagster/core/storage/event_log/sql_event_log.py", line 200, in get_logs_for_run
    events_by_id = self.get_logs_for_run_by_log_id(run_id, cursor, of_type)
  File "/usr/local/lib/python3.7/site-packages/dagster/core/storage/event_log/sql_event_log.py", line 179, in get_logs_for_run_by_log_id
    raise DagsterEventLogInvalidForRun(run_id=run_id) from err

The above exception was the direct cause of the following exception:

Message: Attempted to deserialize class "EventLogEntry" which is not in the whitelist. This error can occur due to version skew, verify processes are running expected versions.
Descent path: <root:dict>

Stack Trace:
  File "/usr/local/lib/python3.7/site-packages/dagster/core/storage/event_log/sql_event_log.py", line 176, in get_logs_for_run_by_log_id
    deserialize_json_to_dagster_namedtuple(json_str), "event", EventRecord
  File "/usr/local/lib/python3.7/site-packages/dagster/serdes/serdes.py", line 265, in deserialize_json_to_dagster_namedtuple
    check.str_param(json_str, "json_str"), whitelist_map=_WHITELIST_MAP
  File "/usr/local/lib/python3.7/site-packages/dagster/serdes/serdes.py", line 277, in _deserialize_json
    return _unpack_value(value, whitelist_map=whitelist_map, descent_path=_root(value))
  File "/usr/local/lib/python3.7/site-packages/dagster/serdes/serdes.py", line 308, in _unpack_value
    f'Attempted to deserialize class "{klass_name}" which is not in the whitelist. '
Dagit and user-deployment are on
0.11.14
going to try rolling forward to 0.11.15, but I wish I knew what was causing this
d

daniel

06/29/2021, 3:10 PM
Hi - the most likely cause here is that your dagster package is on an earlier version than 0.11.14 - reinstalling your dagit and making sure to do an upgrade of the dagster package should fix this. We actually just shipped a change in 0.11.15 that should make this version skew much harder to happen (dagit 0.11.15 is pinned to dagster 0.11.15), so updating would also be an option.
m

Michel Rouly

06/29/2021, 3:10 PM
Nice! Sounds like rolling forward is the plan.
:dagstir: 1
Forgot to update, rolling forward to 0.11.15 totally addressed the problem.
🙏 1