clojureverse-ops

borkdude 2021-02-10T15:48:17.001100Z

borkdude 2021-02-10T15:49:39.001600Z

@mitesh ^ does this ring a bell?

borkdude 2021-02-10T15:50:34.002200Z

@rahul080327 suggested I'd ping you. not sure if I was supposed to ;)

👍 1
oxalorg (Mitesh) 2021-02-10T15:53:41.003400Z

Fixed, it's back online! Need to find the time to find the root cause of this, basically we're running out of memory (most probably due to datomic)

borkdude 2021-02-10T15:55:16.004100Z

seems to work again! 🎉 thanks!

1
borkdude 2021-02-10T15:55:48.004600Z

maybe generating static HTML can prevent this problem? it's an archive right?

1
oxalorg (Mitesh) 2021-02-11T11:43:38.005Z

I can't say I haven't thought about it, but at the moment it's too much to port, and is deployed at a few more high volume slack servers. Rendering thread messages etc go back in time and update some old archives too. We also have some code related to querying for stats, showing graphs, etc. So I don't think the benefits outweigh the cost, atleast not at the moment! 🙈

borkdude 2021-02-11T11:44:53.005500Z

I mean, the logs themselves do not change over time? So some things can just be static HTML?

borkdude 2021-02-11T11:45:10.005700Z

> Rendering thread messages etc go back in time and update some old archives too. Ooh, aha..

borkdude 2021-02-11T11:45:22.005900Z

Well, at least nice that you considered it :)

💯 1
oxalorg (Mitesh) 2021-02-11T11:45:56.006100Z

Yeah I think we go back and delete messages too (if we get a delete event). Not a 100% sure about this. But incremental / selective page generation is not a trivial problem to solve 😛

oxalorg (Mitesh) 2021-02-11T11:46:30.006400Z

Also the emojis, they also update for all old messages

borkdude 2021-02-11T11:46:39.006600Z

I thought it was as simple as IRC logs, but it sounds that it's not :)

✔️ 1
plexus 2021-02-12T07:09:45.007200Z

we do honor delete messages, yes. Once logs are one to two weeks old we can generally assume they won't change any more. The original version that I inherited generated static HTML, but it meant that for every small improvement we had to rebuild the whole set going back to 2015. It was also a mess of cobbled together javascript/python tools that nobody wanted to contribute to, se we redid it as a Clojure app. Being backed by a database does give us great flexibility, the only thing I would do differently is not have it be datomic. It's not a good fit for this, and is way too resource hungry for a non-profit project.

💯 1
✔️ 2