Marcus Christie created AIRAVATA-3695:
-----------------------------------------

             Summary: 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


{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