@mint@dcc@graf@splitshockvirus This is entirely plausible. Quoteposts are another thing entirely, but as I recall, the reactions arrived before FSE had support for them and they sort of sat there, inert. They didn't generate notifications.
> Object validator rejects activities of unknown type,
Object types and Activity types are different, but you can dig through the database for old posts and see people finding EmojiReactions federating before they existed. Maybe this has changed.
I had to clear some of them from the DB because they started breaking some scripts I used to detect bots. (This was admittedly brittle design, but I had hard-coded the activity types way back when; this was emergency code written to cope with the Gabpocalypse.) There were some remarks lain made about adding new ActivityPub verbs (something like "People think you can't add new ActivityPub verbs, but you really can.") and that line managed to stick with me but no information on whether there was an accompanying blog post or any elaboration remain in my head.
> on a slow instance with little/no users (<100 active) HDD speed (90-100MB/s r/w) is fine.
It depends more on how many remote accounts have local followers and how many local accounts have remote followers than on the number of local accounts, but since small instances can run fine on shit-tier VMs with less than a gig of RAM, I'd say this is correct.
> the problem is the design of the pleroma database is just so bad. @p will agree with me and can explain it in maybe a more elegant way
Well, I wouldn't agree that it's bad, but there are some tradeoffs that were made for the sake of correctness/flexibility and efficiency was on the other end. For example, the indexes are bloated because of the URLs being used as keys, the URLs are used as keys because the raw AP JSON blobs are treated as canonical.
This gives a lot of advantages: the FE can just deal with AP objects, the backend just has to ship AP objects around between servers and occasionally send them to the FE. There are no transformation problems to debug because there are no transformations, and debugging is easier in general because what you keep in the DB matches what you put on the wire, learning how the protocol works and learning how the DB is structured are nearly the same thing.
The downside is that, you know, instead of looking up a 64-bit int in the DB, you're looking up 'https://poa.st/objects/78a0e635-cc57-4d91-a550-715790ce7acc', and there's non-zero overhead for that, especially in terms of on-disk representations for indexes, and that eventually piles up, you do more seeks because the data is bigger, etc. Indexes are taken off the JSON blobs directly (well, JSONB, but it's still got non-zero overhead) so there's a lot of packing/unpacking of fields, and because the data is kept as-is, there are a lot of queries that use COALESCE() and CASE/WHEN that you wouldn't need otherwise. But that is one of the reasons Pleroma has such great compatibility, even forward-compatibility in a lot of cases: when EmojiReact happened, instances that didn't support it only needed frontend changes to support the new Activity type and since the backend is relatively agnostic¹, adding frontend support magically made EmojiReact activities from the past appear. Mastodon can't do that sort of thing (though it doesn't really have to, because it's the majority of the network and decides what everyone *else* has to support).
¹ Ironically, given the software was named for a Gnostic concept.
Difficult to test because it was created when the box was down, but luckily, we had an opportunity to do an experiment with some control: one instance was doing it and I DM'd the admin and it stopped after your patch was applied.
I think the spread was low because it was a dev branch and the patch was out almost as soon as the merge happened.
As far as a human-powered explanation of what's going on, I usually post that on the SPC alt, @p . Unfortunately, because of journos scraping, SPC is no longer available to the public so, now that I think about it, you have to have an alt to read the posts there. It is good to have an alt regardless, but there should probably be a way to get at the updates without logging into anything.
The upside is that the hardware problem might finally be solved.
This isn't a service, it's a physical machine on a rack at a datacenter. I didn't construct an email alert system or sign up for someone's email alert system or pay any money to pingability or whatever. I have the IPMI monitoring system from the other screenshot on SPC, and then I have the dashboard I built for network monitoring (and also where most of the IRC windows are). I check these things more often than I check my email. mushi_dash.png
> service on their lifecycle controller (Dell) and outputs the data from the iDrac.
Yeah, I already have freeipmi installed, it's how I get the hardware logs, it's where the bmc-watchdog comes from (to enable the hardware watchdog), etc. The other screenshot with all the fans and temperatures (CPUs and intake and exhaust and disks) and the amperage drawn per power supply and the voltage of the current coming through the power supply and the wattage consumed by the system.
I'm aware there's a closed-source version from the manufacturer. I'm saying I have access to the hardware logs, so it's not a question of how to get them, it's a question of why this didn't show up. Anything breaks, I can tell, but nothing shows up here: why? If we assume the problem was a flaky PSU, it's conceivable that it could send a spike down the line and this might cause problems that a simple interruption (where the hardware has enough battery to record the log entry) doesn't cause. I hope that's the case anyway: I don't know how to account for it otherwise.
> In linux you can even make a simple script that you can output the hardware status
Yes, I have that, it's what I used to produce the other screenshot, the third panel. It's also what I use to get the logs, and they don't have anything recorded in them. They say things like "Power interrupted" and the timestamp is after I file the ticket asking them to power-cycle the box.
And that's about FSE specifically rather than CPUs in general. I don't think anyone can say too much to me about FSE specifically, but CPUs are fabulously complicated nowadays so anyone that knows anything will usually know some things I do not.
Contention for the memory bus is the biggest performance hit on $current_year CPUs and aside from that, the biggest performance bottlenecks for Pleroma are, in order, disk I/O and network I/O. The CPUs on the box mostly sit idle, meaning that more hardware threads wouldn't accomplish anything but heating the machine up.
I suspect that it's faster with less NUMA-wrangling, but have not benchmarked it. I just know that on this workload, I could probably disable half the physical cores and still have no trouble.
> interesting amount of misinfo sticking around from two decades prior
Arthur Whitney's microsecond trading bots still run with only one core enabled, and there was another hyperthreading security problem last year or the year before.
Because the box was flaky, I abandoned plans to sell hosting. This turned out to be a good thing: the benefit of the VMs all being operated by either me or people that I know personally is that I don't have to worry so much about anyone trying to do something shady to compromise the box. So most of those problems don't apply.
But what I do have is measurement, right, like I can see that it rarely maxes out any of the cores. It is at least not slower without hyperthreading, because there are idle cores and most of the cores don't even approach 100%. And there's the statistic, right, 90% of the time is spent on SpecEx while waiting for the memory bus, and even if I only half-believe it, I can measure. (Also I have a lot of thoughts on the size of icache and mostly isolated tests around them.)
I am interested in your thoughts on this. Don't take this the wrong way, but "misinfo sticking around" seems like you are curious whether my thoughts are wrong or not, which is an evaluation of a thing: I'm more interested in what your thoughts are, that's the thing and the evaluation of the thing is a degree removed.
> that's where I found the full address since you never disclosed it.
Yeah, getting "pbuh" by luck, it makes me wanna ensure I can use it for *something*.
> (which still is the only adapter that correctly works with HTTP proxies; I think Gun and Finch completely spaz out with them, but the former might work fine with SOCKS proxy instead).
I do not know why, but some languages seem to lend themselves to having a half-dozen implementations of HTTP with a different set of broken/missing features.
You don't see anything in ryona.agency logs? Basically, those were the only two instances that I could think of off the top of my head that had both Tor and clearnet. I tried poking a Mitra service, I think it might be easier to work with Mitra than Honk for something like this (or just use your Pleroma patches).
> best you'll get is a duplicate profile and activities, and nothing would federate straight to onion because of the same HTTP signatures.
Yeah, I tried the Tor one first, but Honk wanted https://...onion, that's why I tried ryona.agency.
> https being hardcoded even in AP objects/actors makes it a pain in the ass.
Accurate. The stupid "https everywhere" meme claims more time. (Incidentally, one of the first rules of HTTP is that you do not construct URLs, you follow links. Nobody does it that way, but this problem would not exist if everyone did.)
> Did anything get received?
I see occasional errors that it couldn't fetch, e.g., https://ryonagujouss6tp6tpuxdjonaetk24b4ksekvkktnwxutq2m3mhhu5qd.onion/.well-known/webfinger?resource=acct:mint@ryonagujouss6tp6tpuxdjonaetk24b4ksekvkktnwxutq2m3mhhu5qd.onion , and I see some that look like webfinger logs: "2024/01/13 10:24:21 finger lick: acct:p@pbuhwjjhrzcvrghtfqlwqlgabuzc7jnkqv4swekxjvv7pgubd7jjoiqd.onion". It's probably sending back a bunch of (bad) HTTPs URLs that you can't actually fetch. After I got it to make a request by tracing it down a ways, I grepped the codebase for "https" and there are a few dozen at least, so they'd all need to be replaced with a decision. (The fedilist crawler had an easier time with this: instead of "Get these URLs", the logic is higher-level so the "https" only needed to be replaced in one place.)
> Did anything get received? The only request I see in logs is to the user profile.
I don't think anything came back; I can't see anyone. I tried following some people from the cleartext addresses but it's probably sending you HTTPS URLs to send the "Accept" activities to.
@mint You'd asked something about TorHonk but I cannot find the thread on SPC and I don't know if it has federated to FSE. Can you do something that makes the last thing you asked federate?
BOFH of freespeechextremist.com, and former admin. The usual alt if FSE is down: @p@shitposter.club, and others. I am no longer the admin. FSE has no admins now. Welcome to the FSE Autonomous Zone.I'm not angry with you, I'm just disappointed.I am physically in Los Angeles but I exist in a permanent state of 3 a.m.I have dropped a bytebeat album, feel free to DM me for a download code or a link to a tarball: https://finitecell.bandcamp.com/album/villain . There is a chiptunes album there, too.Revolver is coming: https://blog.freespeechextremist.com/blog/revolver-kickoff.html