Skip Navigation

User banner
Posts
127
Comments
598
Joined
2 yr. ago

  • Let the servers keep crashing, tell everyone to add new instances to help with performance, which puts 1500 rows into the database tables that used to have 50 rows and invokes a massive federation 1-vote-1-https overhead... causing more crashing... all the while ignoring the SQL design of machine-generated ORM statements and counting logic hidden in the background triggers.

    ... keep users off your sever as a method of scaling by crashing. It's one of the more interesting experiences I've had this year! And I spent all of February and March with the release of GPT-4... which was also interesting!

  • It is complicated. It's surely a damned-if-do damned-if-don't situation. It doesn't sound like you had all that much in terms of local users, communities, posts, comments - so at least that's in your favor.

  • I haven't looked around at alternatives.

    Lemmy has a lot of front-end app development going on and I think that's one of the big strengths. The API can be bloated with a lot of duplicate data in JSON responses but it is usable.

  • Lemmy is pretty immature as code to actually run in production. It may be well over 4 years old, but the whole thing seems to have very little in the way of information that a server operator can look at to check the health and problems under the covers. It also doesn't deal with unrecognized data very well and hides a lot of errors in a log where the messages are often not very much of a hint what is going on.

    Lemmy surely is unique, as I almost never see people using it actually criticize the code for quality assurance and testing. More often than not, I see people cheering and defending it. I've had to look through this experience and code as it is more run like an art project or a music band than any serious focus on data integrity or performance concern.

  • if it were me right now with Lemmy 0.18.4, I'd take the server offline, do a PostgreSQL dump file - keep a copy, then hand-edit the sequence numbers in the dump file - and do a restore.

    you probably only had a few users, so I would set user to 100, person id can be higher because of federation - but jump ahead to 10000 maybe. Post and comment set ahead to 10000 ... and community set ahead to 10000 because that gets federated

    the PostgreSQL sequence numbers should only get used on newly created objects here-forward.

  • Right now lemmy backend only supports a single 'subscribed' list, that would be like a music player only having a single playlist. I know people are using multiple logins just to have more flexibility in managing their lists.

  • GitHub issue about this topic: https://github.com/LemmyNet/lemmy/issues/3782

    Some of it might be avoided by tweaking the PostgreSQL database with higher key values after the new install, but the whole situation isn't really planned for or recognized in the code

  • You really have blind faith that federation even works, when I've been validating data and highlighting that delivery is not reliable when it has so much overhead it crashes servers.

  • This basically shuts my idea down

    it's not very difficult to modify the code for something like this.... and closing off registration wont' let anyone else login and create new content form your istance.

    Personally the load on the major servers by having one more instance that subscribes to everything is why I think people should back off from creating more than the 1500 instances Lemmy network already has. Delivery of every single vote, comment, post 24 hours a day just so one person can read content for an hour or two a day.

    That makes sense for email systems where all that content doesn't have to be sent, but for Lemmy it's a huge amount of overhead.

  • ok, I'm going to delete this post. People actually aren't discussing privacy and are just debating if they think Lemmy needs Multi-Reddit. And I just want to get the code finished. I am probably moving ahead on the code with ZERO sharing of any existing data.

  • dismissing client-side techniques as nonsense without seeming to understand why they were being discussed in the first place.

    I'm the one who started a post about a server-side solution that entirely is based on Reddit's code for a server-side solution. YOU are the one coming along with this wild idea that a server change isn't needed at all. yet, you have not demonstrated this wild claim you made!

    I’m not interested in any multireddit feature that reduces sub privacy. I’d consider it a net loss for lemmy.

    It does NOT require it. I will repeat it: IT IS NOT REQUIRED! It is a sub-feature that facilities better openness that I am suggesting be added as part of the core feature I'm developing.

    On Reddit, multi-reddits personal in nature.

    10 years ago Reddit announced it as entirely not being personal! That sharing them was the whole point. I again question if you even understand what multi-reddit is!

  • shouldn’t require relaxing privacy constraints in any case.

    It isn't at all essential to the feature.

    I have already coded it so that it does NOT require sharing of anyone's data, at all. No way shape or form. I'm proposing it as a discussion topic because it's easy to implement and goes along with the whole spirit of a public forum where people share their public stuff. That people might actually want an easy way to help others out...

    But, it's easier for me just to avoid any privacy topic entirely and not allow sharing of anything. Just build the whole design with opt-in only empty list.

  • I’m suggesting that multireddits are a “local” function. Theu are so local that they’re possible without server-side support at all,

    Again, how? If I want a blend of 50 different communities, how can Reddit or Lemmy do that without 50 API calls if you do not add server-side MultiReddit code?

    50 API calls is the overhead and nonsense that is being avoided here....

  • It could also be a filtered view based on the subscribed/all feed which provides a single API call that can return material from multiple communities.

    "that can return material from multiple communities" - that's exactly how Reddit does multi-reddit, what feature do you think multi-reddit is?

  • But it should definitely be off by default and have a clear warning when you try to enable it.

    I was afraid people would say that. The easier way is to just not touch it at all, as adding new code to opt in/opt out is more Rust code programming that is in rare supply with developers.

    The easiest solution is to avoid it and not introduce sharing of personal communities at all. Which was what I was afraid this discussion would yield. So we start fresh with empty MultiPass lists and build them up from scratch.]

  • the amount of low-effort drive by comments and off-topic posts communities gets just because they are similarly named is bad enough as it is.

    which is why I actually want it.

    I think a well-cultivated list of quality communities that people share is a means to escape the heavy amount of noise that grew out of the explosion in the number of low-effort barely-any-moderation instances.

    Another way to look at this feature is really simple: multiple subscribe lists, the ability to organize what you subscribe to into your cultivated groups. I don't see why anyone thinks a limitation of having only one community list per login is beneficial in organizing the duplicate choices all over the place.

  • why does a multi-reddit need multiple instances to collaborate to create the feed?

    by "create the feed", I assume you mean "provide posts" when API call post/list is called?

    content is replicated in all federated instances. You only need to use the local copy and merge all the communities of the multi-reddit.

    Yes, that is what MultiPass would do, query the local PostgreSQL database. Right now Lemmy only allows this for a single Subscribe/Follow list per user... you have to create 3 different logins if you want 3 different lists of communities. For example, a "games" list, "music" list, "news" list.... Plus, the current design does not accommodate logged-out users, they have no way to list multiple communities (other than "All", local or merged remote+local).

  • Multi-reddits as they exist on Reddit itself could be implemented entirely client-side, the server side stuff just syncs the behavior of multiple client apps.

    Can you explain how? As the only way I can see this is if you did 50 different API requests for all 50 subreddits, merged the results, and then sorted them again by the desired order.

  • Why does the concept of a multi-reddit need to extend outside of the user’s instance?

    it doesn't need to. But why would you not want it when communities are multi-instance?

    perhaps I made a mistake introducing the privacy concern first. As now the whole topic seems to negate the very reason so many people have requested MultiReddit on Lemmy. The privacy issue isn't even essential, I just wanted to have a discussion about it as a general topic. I'm already building the code so that it can be done entirely without anyone sharing their personal subscribed list.

  • Lemmy Server Performance @lemmy.ml

    Lemmy Server Performance, PostgreSQL log_min_duration_statement - can big servers share logs? value 2500ms targeting "slow queries"

    Juke Box - share music @sh.itjust.works

    Intro / Me and You and a Dog Named Boo

    Lemmy App Development @lemm.ee

    JavaScript API client, HideCommunity - disabled?

    Lemmy Support @lemmy.ml

    join-lemmy.org home page error EDIT: Back up now after 20 minutes or so

    Autistic Adults @lemmy.ml

    "Terrence Andrew Davis (December 15, 1969 – August 11, 2018) was an American programmer who created and designed TempleOS, a public domain operating system. Its development was an extremely complex"

    Lemmy App Development @lemm.ee

    Lemmy API testing code to exercise every feature/call

    Lemmy Server Performance @lemmy.ml

    Code to Stress Test Lemmy for performance

    Autistic Adults @lemmy.ml

    I did not realize just the kind of culture and “Rock Star” attitude and really got worked up over a problem someone else encountered

    Autistic Spectrum Experiences @lemmy.ml

    Autism adult, over age 50, and year 2023 economics/inflation/expectations

    Juke Box - share music @sh.itjust.works

    !steely: Everything Must Go

    lemmy.ml meta @lemmy.ml

    Non Rhetorical question: Is lemmy.ml the lead developers instance? why did you ignore June 4, 2023 GitHub issue 2910?

    Lemmy Server Performance @lemmy.ml

    How lemmy.ca took on finding why PostgreSQL was at 100% CPU and crashing the Lemmy website this past weekend. PostgreSQL auto_explain

    Lemmy Server Performance @lemmy.ml

    Lemmy Server optimization of PostgreSQL by focusing on community ownership of a post - and visibility of a post in a single control field. Also local flag transition to instance_id field, with value 1

    Lemmy App Development @lemm.ee

    I"m confused where I can get list of moderators for a Community - CommunityModeratorView

    Lemmy Server Performance @lemmy.ml

    Lemmy Server Performance - is this Rust code reading the entire table of all site languages? Does it need to?

    Lemmy Server Performance @lemmy.ml

    Lemmy Server Performance, two birds with one stone, mass deletes of content: Account Delete, Community Delete, User Ban - moving these operations to a linear queue and add undo support / grace period

    Rust Programming @lemmy.ml

    Lemmy Rust code needs help, Diesel ORM quick change, adding a select field to SiteAggregates::read

    Lemmy Server Performance @lemmy.ml

    Lemmy Server and language choices on every individual comment, many rows in the database per-community, per-site, etc. Overheard of a comment INSERT SQL

    Lemmy Server Performance @lemmy.ml

    REQUEST community review of Lemmy Server Performance on Post Votes, Comment Votes - the most frequent database writes. Optimize?

    Lemmy Wish list @lemmy.ml

    Lemmy convention for linking individual posts and comments include the username of post/comment creator, giving people credit in the URL itself