https://prefect.io logo
Title
v

Vaikath Job

09/30/2022, 5:36 PM
I think I have come across what looks like a UI bug. Here are the steps to replicate it. Let’s say I have a deployment with some parameter with value numeric value such as 202005. When I go to the edit page page. That parameter seems to get recognized as a timestamp and is displayed as such. I’ve included screenshots to illustrate.
🤔 1
2
j

Jenny

10/01/2022, 1:47 PM
Hey @Vaikath Job - thanks for sharing. If you don't provide type hinting the UI does a best guess attempt at figuring out the type but as you've found that is really hard. I suggest you use type hinting for your parameters so that for edge cases like this you know it will be treated correctly. If you use a type, it should show up in the type column in your first screenshot. You can see more on types here: https://docs.prefect.io/concepts/flows/#parameters
👍 1
As a side note, please don't @ members of the Prefect team - we're all working together to handle questions from members of the community!
👍 1
v

Vaikath Job

10/03/2022, 1:01 PM
Sorry, will be mindful of that going forward.
j

Jenny

10/03/2022, 1:33 PM
No worries! And again - thank you for the feedback and being a helpful part of our community!
m

merlin

10/03/2022, 4:39 PM
Excel flashbacks hit hard. Thanks for highlighting this behavior. Is this only affecting the UI display? If the parameter gets consumed by the flow with an inferred date type that would be pretty annoying.
c

Craig Harshbarger

10/05/2022, 12:09 AM
@Vaikath Job do you mind sharing the flow that produces this? @Jenny I feel like this is a bug.
j

Jenny

10/05/2022, 12:21 AM
Thanks for looking into it further @Craig Harshbarger !
v

Vaikath Job

10/05/2022, 12:26 AM
Is there something specific like a log that you would like me to share? The Prefect instance we’re working with is self-hosted
c

Craig Harshbarger

10/05/2022, 12:29 AM
I’m curious what the flow is that produced that parameters form. We’re converting the parameters from the flow into a json schema. Either a reproducible flow or if you go to the network tab when editing the deployment and share the api response for the deployment in question.
v

Vaikath Job

10/05/2022, 12:08 PM
Will get this to you a little later today
👍 1
Craig, not sure if this is what you need from the network tab. Let me know if you need something else instead.
{
  "id": "a6507acb-9a53-4efe-94d2-8376560b0e42",
  "created": "2022-09-30T17:18:38.535998+00:00",
  "updated": "2022-10-05T18:36:00.937000+00:00",
  "name": "eds-etl-noblock",
  "version": "bff0ab174817a3ee1e0309b7d8b6c55d",
  "description": null,
  "flow_id": "f522a381-28f5-406a-8cc4-11a2301ef372",
  "schedule": null,
  "is_schedule_active": true,
  "infra_overrides": {},
  "parameters": {
    "yos": 2020,
    "file_setting": "pb",
    "base_edb": "Thu Jan 01 202105 00:00:00 GMT-0800 (Pacific Standard Time)",
    "base_fawk": "2021w22",
    "update_edb": "Fri Jan 01 202106 00:00:00 GMT-0800 (Pacific Standard Time)",
    "update_fawk": "2021w26",
    "n_partitions": 100
  },
  "tags": [
    "prefect-demo"
  ],
  "work_queue_name": "win-test",
  "parameter_openapi_schema": {
    "title": "Parameters",
    "type": "object",
    "properties": {
      "yos": {
        "title": "yos"
      },
      "file_setting": {
        "title": "file_setting"
      },
      "base_edb": {
        "title": "base_edb"
      },
      "update_edb": {
        "title": "update_edb"
      },
      "base_fawk": {
        "title": "base_fawk"
      },
      "update_fawk": {
        "title": "update_fawk"
      },
      "n_partitions": {
        "title": "n_partitions"
      }
    },
    "required": [
      "yos",
      "file_setting",
      "base_edb",
      "update_edb",
      "base_fawk",
      "update_fawk",
      "n_partitions"
    ]
  },
  "path": "\\\\secdevp4p\\projectsong\\project_management\\team\\vjob\\prefect2_examples",
  "entrypoint": ".\\eds_etl_flow.py:eds_etl",
  "manifest_path": null,
  "storage_document_id": null,
  "infrastructure_document_id": "79b62051-a47b-4ebf-bad1-253218cf695f"
}
Hmm, I might have made the mistake of saving the deployment (with the incorrect parameter values) before grabbing the response. When I save the deployment with values 202105 and 202106 and navigate to the parameters page everything seems fine. Then when I go back to the edit screen it tries to parse those values as dates. I'm fairly sure (and I can check) that if I provide type hints this will not happen but still it seems like this is not ideal behavior given that I explicitly provided a numeric value in the UI and would not expect it to parse it as a timestamp.
c

Craig Harshbarger

10/06/2022, 1:52 PM
That's what I was looking for. The
parameter_openapi_schema
specifically. The schema has no types which means it should just show text inputs and not do any kind of value parsing/formatting.
@Vaikath Job are you using cloud or local prefect ui?
v

Vaikath Job

10/06/2022, 7:52 PM
local prefect ui
i can try and setup a version that has this problem on cloud if that helps
c

Craig Harshbarger

10/07/2022, 1:21 PM
What version of local? And if you’re not on the latest can you upgrade and see if this issue persists on the latest version? Thank you
v

Vaikath Job

10/09/2022, 5:26 PM
will upgrade and give you an update
👍 1
Looks like this is no longer an issue in 2.5.0. Thanks for the follow up!
c

Craig Harshbarger

10/11/2022, 5:57 PM
You’re welcome!