Description of your use case: Payload Attributes for tasks and data entries have inherent length restrictions in the JPA View which cause the whole application to stall if an event contains a payload attribute that is too long.
Current Behaviour
When, for example, a task is created with a payload attribute that is long, let's say 1000 characters, then Polyflow cannot handle the event because of an exception when writing to the database. I think the documentation suggests a length of 255 for the value columns in task attributes and data entry attributes. We have already changes this to 512 on our side which is very close to the limit of the primary key in the table (id, path, value).
The exception results in an infinite retry-loop which prevents any other event from being handled (at least it is this way when using kafka messaging for transferring the events)
Wanted Behaviour
Of course we do not want to lose the message so we don't want to ignore it. We would suggest to ignore or truncate payload attributes that are too long for the database and log a warning. The attribute would still be in the payload field in the plf_task table but would just not be in the plf_task_payload_attributes.
Possible Workarounds
Increase size to maximum of PK (limited fix)
Don't send long attributes (can be done by accident)
Scenario
Current Behaviour
When, for example, a task is created with a payload attribute that is long, let's say 1000 characters, then Polyflow cannot handle the event because of an exception when writing to the database. I think the documentation suggests a length of 255 for the value columns in task attributes and data entry attributes. We have already changes this to 512 on our side which is very close to the limit of the primary key in the table (id, path, value). The exception results in an infinite retry-loop which prevents any other event from being handled (at least it is this way when using kafka messaging for transferring the events)
Wanted Behaviour
Of course we do not want to lose the message so we don't want to ignore it. We would suggest to ignore or truncate payload attributes that are too long for the database and log a warning. The attribute would still be in the payload field in the plf_task table but would just not be in the plf_task_payload_attributes.
Possible Workarounds