[
https://issues.apache.org/jira/browse/AIRAVATA-3695?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Marcus Christie resolved AIRAVATA-3695.
---------------------------------------
Resolution: Fixed
> new optional list Thrift property causes error in thrift_utils if not present
> in request
> ----------------------------------------------------------------------------------------
>
> Key: AIRAVATA-3695
> URL: https://issues.apache.org/jira/browse/AIRAVATA-3695
> Project: Airavata
> Issue Type: Bug
> Components: Django Portal
> Reporter: Marcus Christie
> Assignee: Marcus Christie
> Priority: Major
>
> {code}
> [2023-04-19 20:59:43,639 django_airavata.apps.api.exceptions:63 ERROR] API
> exception
> Traceback (most recent call last):
> File
> "/Users/machrist/Airavata/django/django_airavata_gateway/venv/lib/python3.10/site-packages/rest_framework/views.py",
> line 506, in dispatch
> response = handler(request, *args, **kwargs)
> File
> "/Users/machrist/Airavata/django/django_airavata_gateway/venv/lib/python3.10/site-packages/rest_framework/mixins.py",
> line 68, in update
> self.perform_update(serializer)
> File
> "/Users/machrist/Airavata/django/django_airavata_gateway/django_airavata/apps/api/views.py",
> line 225, in perform_update
> experiment = serializer.save(
> File
> "/Users/machrist/Airavata/django/django_airavata_gateway/venv/lib/python3.10/site-packages/rest_framework/serializers.py",
> line 200, in save
> self.instance = self.update(self.instance, validated_data)
> File
> "/Users/machrist/Airavata/django/django_airavata_gateway/django_airavata/apps/api/thrift_utils.py",
> line 148, in update
> return self.create(validated_data)
> File
> "/Users/machrist/Airavata/django/django_airavata_gateway/django_airavata/apps/api/thrift_utils.py",
> line 144, in create
> params = self.process_nested_fields(validated_data)
> File
> "/Users/machrist/Airavata/django/django_airavata_gateway/django_airavata/apps/api/thrift_utils.py",
> line 139, in process_nested_fields
> params[field_name] = serializer.create(
> File
> "/Users/machrist/Airavata/django/django_airavata_gateway/django_airavata/apps/api/thrift_utils.py",
> line 144, in create
> params = self.process_nested_fields(validated_data)
> File
> "/Users/machrist/Airavata/django/django_airavata_gateway/django_airavata/apps/api/thrift_utils.py",
> line 129, in process_nested_fields
> if (params[field_name] is not None or
> KeyError: 'autoScheduledCompResourceSchedulingList'
> {code}
> thrift_utils.py assumes that every field will be present even when the field
> is optional/nullable.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)