[ 
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)

Reply via email to