Skip to content

[Bug]: Nested objects do not have a message printed about being ignored when not existing in the catalog schema #862

@visch

Description

@visch

Singer SDK Version

0.7.0

Python Version

3.8

Bug scope

Taps (catalog, state, stream maps, etc.)

Operating System

Ubuntu

Description

API response looks like this

{
            "permissionProfileId": "13404852",
            "permissionProfileName": "D Visch",
            "modifiedDateTime": "2022-07-27T00:09:00.4070000Z",
            "modifiedByUsername": "Derek Visch",
            "userCount": "1",
            "settings": {
                "allowAccountManagement": "false",
                "accountManagementGranular": {
                    "allowManageUsers": "False",
                    "allowManageAdmins": "False",
                    "allowManageSharing": "False",
                    "allowManageEnvelopeTransfer": "False",
                    "allowManageAccountSettings": "True",
                    "allowManageReporting": "True",
                    "allowManageAccountSecuritySettings": "False",
                    "allowManageSigningGroups": "False",
                    "allowManageDocumentRetention": "False",
                    "allowManageConnect": "False",
                    "allowViewUsers": "False",
                    "allowManageGroupsButNotUsers": "False",
                    "allowManageStamps": "False"
                }
            }
        }

My schema doesn't include settings.accountManagementGranular.

I would expect the SDK to print
time=2022-07-26 20:57:57 name=tap-docusign level=INFO message=Properties ('_sdc_account_id', '_sdc_base_uri', ' settings.accountManagementGranular') were present in the 'stream_name' stream but not found in catalog schema. Ignoring.

Maybe even all of the nested fields that are missing as well.

This is somewhat related to https://gitlab.com/meltano/sdk/-/issues/192 and #214 . I agree the data should probably be ignored (maybe an option not to ignore it honestly, but that's not the point of this Issue) but we should tell the user that we ignored the data so they know data is being dropped.

In this case we had an API schema that wasn't defined properly, and we only caught this because we knew there should have been data, but there wasn't any data. We should have more help than this from the SDK I think. See docusign/OpenAPI-Specifications#62 for the schema issue we had

Code

time=2022-07-26 20:57:57 name=tap-docusign level=INFO message=Properties ('_sdc_account_id', '_sdc_base_uri') were present in the 'stream_name' stream but not found in catalog schema. Ignoring.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions