Analytics Project – August 14, 2021

Attendees: Jonathan Braganza, Glen Gabriel, Benjamin Palko

Transcript

All right. Okay, so recording started. Alright, so I guess we’ll run through this again. So when, okay, so when you run through setup, it creates resources in metabase, and Dynamo. So if you’re just doing a test run, and you need to clear it, to run it again, then you should go and use the metabase sync tool. But with the mme a sync tool, you have to do the same thing with the environment variables, they have to do with the test harness. So you basically clone the running config, and then change to environment variables. So you want to change the region. And you want to change the metabase site URL. So these both need to change from US East one to EU central one, if you’re testing on EU, and whatever the AP region is if you’re wanting to test on AP. So once you get that change, then you can run it, and it will be interacting with the EU resources now. So now, what I want to do is I want to clean the dashboards. So let’s do does it run through the Dynamo table, and it gets all the different IDs and then uses those to delete them out of metaphase. And then it drops those rows from from the Dynamo table. So what we can do is when you developer. So if we look at Dynamo. So see, we did a partial run. So there’s just a couple questions made with like two dashboards or three dashboards. So the problem is, is that it did a partial run on one of these dashboards, there’s like, half of its questions are made. So if we ran through again, it might skip that dashboard, and not fill in all the questions, right. So what we want to do is we want to clean all of this out, reset everything, so there’s nothing there. So then what we do is we go to clean dashboards here. When we run this, we’ll go through working on conversation, analytics, doing interaction summary, interactions.
Moving, this is what you guys were talking about. Right? So the reason it’s partial is because you were debugging, right?
Yeah, because I cancelled the debug session halfway through. Right?
So if that’s the case, and this is this is on the live system, then that basically affects our deadline system, right? It’s not operational, while you’re testing this, okay. Right. So this, this is the one
you would be like nothing, no, dashboards will be showing up right now.
Right? Okay. So which means basically, as it stands, when, when we’re doing these kinds of setup, debugging, right, then we always have to make sure that we complete the run and complete the whole setup and make sure that all the resources that are there are back, basically, yeah.
So now what we can do is we can do exactly that, we can come back here, we can run the setup. And we want to go set up event number three. And now it’s gonna go through and recreate all the dashboards.
Plus, take a minute or two, so we don’t have to watching it. But that’s basically how you do debugging and development on the setup. It’s kind of tedious, but like, that’s the only way we can do it, because it’s, it’s actively creating resources. And it’s kind of like you can mock that out with unit tests. But there’s certain interactions where the unit test don’t always catch it.
So we don’t know. We don’t have a sandbox right at the moment where we can run this and not Next slide.
So we’re actually getting an error here. Unable to find stored field by parameter ID. Field id 519.
can look like the same as what john saw yesterday.
The first Yeah, so yeah, so this is on the field, cram field, so that would be in dashboard. So if we came in your stash or dashboard So that’s actually going to be in here since we’re remapping the prime fields. So it says, unable to find stored field. So that was here. So we’ve been able to find stored field by field reference ID. So that’s right here. So when it’s doing this get field by ID, this is returning No, which is triggering this. So if you look inside, so we’re going through. So for each of the fields in this table, we’re checking if that field ID matches the ID we’re looking for. And if it does, we return it. And we get that, but the thing is, we get this, this table from the pram fields, since the pram field has a reference to both the table and the field. So something’s up where the pram field is referencing a table and an ID in that of a field in that table. But for some reason, it’s not matching up with our stored database. So that’s so to me, that would say that we probably need to rethink our templates in the database.
Okay, so that’s, that’s yet one more topic, then what is the process for risk? I will do reasoning, when you say that.
So right, now, we have to run the database sync tool. So what we do, so for doing the database, it’s pretty simple, you just do number two, download database, download, so it’s done. And then if we want to do dashboards, we had to do download dashboard by ID. So that’s number five. And we have to go through and do it for each of the dashboard ideas. So number two is going to be like
interaction summary. So right now, let me just do a patch. So when we finish, we can look at the changes.
So as you can see, there are changes in the database. It seems like there’s changes to the accounts payable. If we scroll through, there’s other changes to active users view. So we can see that our store database is out of sync right now. And then if we look at the template, the template for this dashboard is actually up to date since like, there’s no depth here. And this is just saying we have different line separators. So I’m not there’s actually no differences. But what we would have to do is go through each dashboard and do that. So I think for our dashboards, it’s two to nine are the IDs for our dashboards right now. And I’m not sure about the Bangalore guys what their dashboard IDs are. But yeah, so you have to do it kind of semi manually, you just have to know the IDS you’re trying to sync. And that’s kind of what I’m trying to fix with the collections is so that you don’t have to know all the IDs, it’ll just look in a certain collection. So like we have a development collection, and it will just sync everything in that collection.
Okay, so just to summarize for my head, you made you made some bug fixes which required now sinking the metabase but while you’re sinking that, doing a metabase sink, like what you’re doing, now you’re finding that it’s not in sync with the Restore database.
Well, I think there’s a couple of things going wrong is that there there were some bugs in the code, but I think there were also there are also some differences in the data store database and what’s like in a lot in the development because When we’re changing dashboards in the dev metabase, like, it’s all figuring it out behind the scenes, like if a new table appears in Athena, it’ll automatically sync, it’ll generate a new table ID for that. And then when you add something to a dashboard, it’ll then get that reference the it’ll reference that table ID. But then that can change and then our but then if we don’t download those changes to the database file, then if we download that template, then it’s going to be referencing a table ID that we don’t have in our store database file. Right. But it’s also if for whatever reason, table IDs or field IDs change, which I have no idea how metabase handles that. So I mean, I think we have to work under the assumption that they do change just randomly.
Right? So which means you always have to repol and resync. And update. Yeah, yes, yeah.
So the safest approach there is, since we’re essentially working with a blackbox metabase is that every time we need to sync changes, we have to sync everything. So all the dashboard template, all the dashboards, we need to pull down into the templates. And at the same time, do the database, just make sure that they’re all in sync, because if they’re all working in our dev metabase, then we can pull them all down, and then they should work. And we can eliminate any of those weird out of sync issues. Right.
Right. Okay. And that’s what you’re doing now?
Yeah. I’m trying to kind of patch up all the little things that aren’t working right now. But, yeah, so there’s kind of those bugs with just in the code, but then also kind of trying to figure out what’s a bug with the code? What is kind of just an issue with the sync with keeping things in sync? Right.
The Good, the good news is, is that you can try it any you and then once you get an email, you can try to an AP, make sure it’s get there too, before we go to
a little bit of public. Yeah, yeah. So we can actually, now that we actually have those regions running, we can test them just to make sure. But I think this kind of shows that we probably need to expand our unit tests a bit on, especially the localizing areas of the code. So yeah, because if the unit tests aren’t catching these sorts of things, then it definitely says that our unit tests aren’t covering enough.
Yeah, for sure.
warning about touching real resources, as long as we’re in depth, and it’s only obviously

Leave a Reply

Your email address will not be published. Required fields are marked *

© 2025 - WordPress Theme by WPEnjoy