Open
Description
As we have separate enclaves for different projects, we need to have mechanisms for copying data from one enclave to another.
- A concrete example might be a study/program that ends, but some users want to keep on collecting data using the open access study
- A second example is copying over data from the CanBikeCO server while transitioning to NREL OpenPATH
The second example has actually occurred, and I copied over the data using a combination of bin/debug/extract_timeline_for_day_range_and_user.py
and bin/debug/load_multi_timeline_for_range.py
The data was copied over correctly, and the user confirmed that it was displayed correctly.
However, data collected after the migration is not processed correctly and always remains in draft
mode.
On investigating further, this is because the CLEAN_AND_RESAMPLE
stage fails with the following error
2023-01-14T06:16:40.952Z 2023-01-14 06:16:40,952:DEBUG:140037033350976:get_entry_at_ts query = {'user_id': [redacted], 'metadata.key': 'background/filtered_location', 'data.ts': 1672435958.12}
2023-01-14T06:16:41.521Z 2023-01-14 06:16:41,521:DEBUG:140037033350976:get_entry_at_ts result = None
2023-01-14T06:16:41.522Z 2023-01-14 06:16:41,521:ERROR:140037033350976:Found error 'NoneType' object is not iterable while processing trip Entry({'_id': ObjectId('63b1db470f8d9992c7b4455f'), 'user_id': [redacted], 'metadata': {'key': 'segmentation/raw_trip', 'platform': 'server', 'write_ts': 1672600391.668694, 'time_zone': 'America/Los_Angeles', 'write_local_dt': {'year': 2023, 'month': 1, 'day': 1, 'hour': 11, 'minute': 13, 'second': 11, 'weekday': 6, 'timezone': 'America/Los_Angeles'}, 'write_fmt_time': '2023-01-01T11:13:11.668694-08:00'}, 'data': {'source': 'DwellSegmentationTimeFilter', 'start_ts': 1672586043.121, 'start_local_dt': {'year': 2023, 'month': 1, 'day': 1, 'hour': 8, 'minute': 14, 'second': 3, 'weekday': 6, 'timezone': 'America/Denver'}, 'start_fmt_time': '2023-01-01T08:14:03.121000-07:00', 'start_place': ObjectId('63af64b6aef87808843e480c'), 'start_loc': {'type': 'Point', '
coordinates': [-104.9209856, 39.9478752]}, 'end_ts': 1672588188.026, 'end_local_dt': {'year': 2023, 'month': 1, 'day': 1, 'hour': 8, 'minute': 49, 'second': 48, 'weekday': 6, 'timezone': 'America/Denver'}, 'end_fmt_time': '2023-01-01T08:49:48.026000-07:00', 'end_place': ObjectId('63b1db470f8d9992c7b44560'), 'end_loc': {'type': 'Point', 'coordinates': [-105.056373, 40.0321814]}, 'duration': 2144.9049999713898, 'distance': 14863.150328118767}})
2023-01-14T06:16:41.522Z Traceback (most recent call last):
2023-01-14T06:16:41.522Z File "/usr/src/app/emission/analysis/intake/cleaning/clean_and_resample.py", line 121, in save_cleaned_segments_for_timeline
2023-01-14T06:16:41.522Z filtered_trip = get_filtered_trip(ts, trip)
2023-01-14T06:16:41.522Z File "/usr/src/app/emission/analysis/intake/cleaning/clean_and_resample.py", line 187, in get_filtered_trip
2023-01-14T06:16:41.522Z (filtered_section_entry, point_list) = get_filtered_section(filtered_trip_entry, section)
2023-01-14T06:16:41.522Z File "/usr/src/app/emission/analysis/intake/cleaning/clean_and_resample.py", line 292, in get_filtered_section
2023-01-14T06:16:41.522Z with_speeds_df = get_filtered_points(section, filtered_section_data)
2023-01-14T06:16:41.522Z File "/usr/src/app/emission/analysis/intake/cleaning/clean_and_resample.py", line 391,
in get_filtered_points
2023-01-14T06:16:41.522Z filtered_loc_df = _add_start_point(filtered_loc_df, raw_start_place, ts, section.data.sensed_mode)
2023-01-14T06:16:41.522Z File "/usr/src/app/emission/analysis/intake/cleaning/clean_and_resample.py", line 562, in _add_start_point
2023-01-14T06:16:41.522Z raw_start_place_enter_loc_entry = _get_raw_place_enter_loc_entry(ts, raw_start_place)
2023-01-14T06:16:41.522Z File "/usr/src/app/emission/analysis/intake/cleaning/clean_and_resample.py", line 696, in _get_raw_place_enter_loc_entry
2023-01-14T06:16:41.522Z raw_place.data.enter_ts))
2023-01-14T06:16:41.522Z File "/usr/src/app/emission/core/wrapper/wrapperbase.py", line 42, in __init__
2023-01-14T06:16:41.522Z super(WrapperBase, self).__init__(*args, **kwargs)
2023-01-14T06:16:41.522Z File "/root/miniconda-4.12.0/envs/emission/lib/python3.7/site-packages/attrdict/dictionary.py", line 17, in __init__
2023-01-14T06:16:41.522Z super(AttrDict, self).__init__(*args, **kwargs)
2023-01-14T06:16:41.522Z TypeError: 'NoneType' object is not iterable
We need to see why the start point is not available
Metadata
Metadata
Assignees
Labels
No labels