Community update 2021-02

Hi all, it's Ian from Matillion's Customer Success team here! Just wanted to share a look back at the most discussed topics in the Community so far this year, and a look forward to one of the new features in Matillion ETL version 1.51.

 

 

Among the most popular topics in the bubble chart above, Orchestration Jobs and APIs are a core part of the new Manage Error Reporting feature.

 

An obvious target for this would be a microservice API integration for error handling. AWS users could implement it via API Gateway and Lambda for example like this:

 

 

The message “${detailed_error}” will show up literally as-is in the test, but will resolve to a real error message at runtime.

 

Once you tick “Project Enable” and OK the dialog, you should immediately start to see hits building up in your CloudWatch metrics every time a job in that project hits an error.

 

 

Hopefully you’re not hitting as many errors as me :slight_smile:

 

Looking forward to hearing observations and comments on this new feature.

 

Ian

 

Hi Ian,

even though we are only using it for few days now, I'm already a huge fan of the new Manage Error Reporting feature. It's a great addition to the product! Nevertheless, I have some remarks and improvement suggestions:

 

Working with templates

If you use a predefined Payload Template and then change this template, the changes are not propagated to the Manage Error Reporting feature. Instead, the payload template is set to custom and it shows the template contents before the last change. This is not consistent to the Webhook Post Component which always uses the latest template version in the component. Steps to reproduce:

 

1) Project -> Manage Webhook Payloads -> Create a new Payload test.json

2) Project -> Manage Error Reporting -> Set up error reporting with Payload Template set to test.json

3) Project -> Manage Webhook Payloads -> Edit payload test.json with any change

4) Project -> Manage Error Reporting -> Payload is set to [Custom] and the Payload shows the contents of test.json before the change

 

Expected behaviour: In Step 4) Manage Error Reporting has Payload Template still set to test.json and the latest version is used.

 

Distinguish between scheduled runs and manual job executions

Our main use case for this new feature is to monitor the jobs in our PROD environment. I have set up a Webhook endpoint in a newly created MS Teams channel where all error reports are published. I really like the fact that all our team members see the errors and people can respond to a specific message and thus the others see that someone is already working on a specific issue. What I can tell from the first days, this process works very good for us.

 

I actually want to see these notifications only for our scheduled batch jobs. And I only want to have error reporting enabled only for scheduled jobs. I think if you run a job manually, you will also do the monitoring at that time and you don’t need the notification like we use it. We also see this if we deploy something to our PROD environment and then start a test run (which may fail). My idea is to make the error reporting configurable with options like these: “[x] Monitor Scheduled jobs, [ ] Monitor manual job runs”.

 

I will add this to the ideas portal as well, but maybe the community could also comment here.

 

Possible bug with error messages and iterators

If you implement an Iterator component and call an Orchestration job with different parameters, the job might fail only for parts of the input while other input data might cause successfull job runs. If I use the Manage Error Reporting feature here, the only error message I see is "X Iterations generated". IMO, the message should be generated by the executed orchestration job.

 

I'm curious what other community members think about the new feature and about our experiences and suggestions.

 

Michael

 

Hi @Michael

Apologies for the delayed reply on this. In regard to the unexpected behaviours you mentioned, you're right and we'll get those looked into :)

One question we had on keeping the pre-defined payload templates in sync, what behaviour would you expect here? Options we can see are:

  1. Pre-defined payload templates are read only in the error handling config, so the user has to explicitly click on "custom" to customise a template, and updating a pre-defined payload template can only be done using the "Manage Webhook Payloads" menu option
  2. Users can edit a non-custom payload template in the error handling config, and if they do, we automatically convert that payload into a custom template (i.e. it breaks the sync with the pre-defined template)
  3. Users can edit a non-custom payload template in the error handling config, and if they do, we automatically update the pre-defined payload template

We thought option 1 would be clearest in terms of being explicit (rather than automatic) actions to what is or isn't being updated/kept in sync, but wondered what your thoughts are?

Many thanks!

Sarah

Matillion Product Team

Hi Sarah,

 

I also think option 1 would be best. This would be also consistent with other components like the S3 Load Component and its Stage selection: You can either select a predefined Stage there or select Custom to define a new one (but this does not change the existing Stage definitions).

 

Michael

I agree with @Michael​ as it pertains to option 1.

Thanks @Michael@Bryan​ for confirming, we'll get that scheduled into the backlog :)

Many thanks

Sarah