6 ms·
Yes, sorry! We're investigating, but my current theory is we got overloaded because I relaxed some of our anti-crawler protections a few days ago. (The reason
by dang 11mo ago
Yes, sorry! We're investigating, but my current theory is we got overloaded because I relaxed some of our anti-crawler protections a few days ago.
(The reason I did that is that the anti-crawler protections also unfortunately hit some legit users, and we don't want to block legit users. However, it seems that I turned the knobs down too far.)
In this case, we also had a secondary failure: PagerDuty woke me up at 5:24am, I checked HN and it seemed fine, so I told PagerDuty the problem was resolved. But the problem wasn't resolved - at that point I was just sleeping through it.
I'll add more as we find out more, but it probably won't be till later this afternoon PST.
Edit: later than I expected, but for those still following, the main things I've learned are (1) pkill wasn't able to kill SBCL this time - we have a script that does that when HN stops responding, but it didn't work, so we'll revise the script; and (2) how to get PagerDuty not to let you go back to sleep if your site is actually still down.
- shmeeed 11mo agoLooking forward to the post mortem. :)
- michelsedgh 11mo agodang
- shmeeed 11mo agoIn my defense, I was commenting at 0 min, since then he made several updates explaining the situation.
- dang 11mo agoYes sorry! Normally I put in "[editing - bear with me...]" or some such.
- michelsedgh 11mo agoI was just trolling, thanks for ur work
- echelon 11mo agoI didn't realize you were carrying the pager too! Kudos!
- malwrar 11mo agoI feel such a sense of kinship for anyone who carries a pager, almost 7 years at my current role doing it. Super cool that dang is among our number :)
- geocrasher 11mo agoYep, have been on constant "pager duty" for 2+ years, although I have more help now and I get paged 1-3 times a week instead of per night. Still, carry my lappy everywhere I go. Bought an ARM Windows laptop to get that 20hr battery life so I could worry less during my travels. You know, fancy things like going get food or going grocery shopping.
- malwrar 11mo agoRough shift, my worst was every other week and my boss prior to hiring me was 24/7 just like you. I just carry a backpack with a few batteries + my work laptop, fortunately only a few really bad stories but hooooo boy me and that backpack have seen some fun times.
- idontwantthis 11mo agoDo you carry a literal pager? We use the PagerDuty app.
- geocrasher 11mo agoMy organization is, for now, using OpsGenie. My pager noise: https://www.soundjay.com/transportation/sounds/train-crossing-bell-train-crossing-fast-01.mp3 https://www.soundjay.com/transportation/sounds/train-crossin... That will not only wake the dead, it'll wake me no matter how asleep I am.
- Rooster61 11mo agoNo apology needed. We all needed to stop procrastinating anyways :)
- shlomo_z 11mo agoCrazy that Dang literally manages HN in his sleep! We all knew that but I haven't seen any confirmation before this.
- dang 11mo agofailing to manage HN in my sleep is more like it
- jonny_eh 11mo agoYour sleep is more important than our work distraction.
- seemaze 11mo agoI was curiously productive this morning..
- koakuma-chan 11mo agoI took a shower for the first time in one week
- arnavpraneet 11mo agocame back just in time for me to spend the first hour of my work
- commandersaki 11mo agoDo you have nightmares of failing to manage HN when you sleep too?
- altairprime 11mo agoDecades ago I had to write a Perl script to auth to the site for proper downtime checking. Some things never change :) Good luck with the triage.
- bicepjai 11mo agoEven after providing firebase endpoint, crawlers come to the site ?
- busymom0 11mo agoUnfortunately, the firebase API is very bad as they even acknowledge that in their github page.
- Bender 11mo agoMost crawlers have no concept of what that is. They will follow links to this site and then follow links out of this site even after being told not to [1]. The majority of crawlers follow zero rules, RFC's, etc... The few platforms that do follow standards and rules are akin to a law abiding citizen in Mos Eisley. [1] - rel="nofollow"
- dang 11mo agoOh my god. It's the crawlopalypse.
- collinmanderson 11mo agoYes. It's hard to explain the experience of hosting a website since 2023. A crazy amount of really dumb bots loading every url on the website in a full headless browser, with default Chrome user-agent string. All different ip addresses, various countries and ASNs. These crawlers are completely automated and simply crawl _everything_ and don't care at all if there's value in what they're crawling or if there's duplicate content, etc. There's no attempt at efficiency, just blindly crawl the entire internet 24/7. Every page load (1 per second or more?) is from a different ip address.
- irishcoffee 11mo ago> The reason I did that is that the anti-crawler protections also unfortunately hit some legit users How does this happen?
- Bender 11mo agoHow does this happen? Not the person you are asking. Bot operators have an incentive to make crawlers look as much like a human as possible so they do not get blocked. Some of them fail miserably and some nearly succeed. That makes it trivial to accidentally block a real person. I am personally fine with that given I do not pay for this site and have no SLA or contract with it.
- arccy 11mo agosome humans also try their best to make themselves look like bots...
- Imustaskforhelp 11mo agobeep boop.
- slater 11mo agoYou're absolutely right!
- ZuoCen_Liu 11mo agolol
- ohhnoodont 11mo agoLast week if you are using a VPN + a browser that limits fingerprinting, you were likely to see error messages accessing HN.
- pjc50 11mo agoEvery filter process has false positives and false negatives, especially when crawlers are trying to fake their status.
- nottorp 11mo agoCan't speak for others, but I'm sure i'll be pretty fine if no one gets woken up if HN is down... Of course, they'd better restore service after they wake up naturally, because I need my HN dose. But it's not worth losing sleep over it.
- neilv 11mo agoMaybe it would be fine if ops alerts were silenced during normal US sleeping hours? HN is important, but unlikely much harm could be done before morning. (Source: Lost a lot of sleep at one place, enough to realize that sleep interruption and deficit has significant costs.)
- andy_ppp 11mo agoI’d love to know more about what running a site like HN involves, would be great to get a write up of what it’s like running something like this at this scale (and what kind of traffic you guys get)!
- alwa 11mo agoI can’t put my finger on anything within the last decade, but I seem to recall it running in something close to its current form on a single core on a single server for a long time: https://news.ycombinator.com/item?id=5229522 https://news.ycombinator.com/item?id=5229522 Re: traffic, dang said (2022): https://news.ycombinator.com/item?id=33454140 https://news.ycombinator.com/item?id=33454140 I took it as a good reminder that the hard part is the human part: that high-overhead features and UI fripperies are nice but not necessary (or sufficient) to keep a community healthy and vibrant over the decades. (And on the subject of the human side, if you didn’t catch Anna Wiener’s 2019 profile, it’s here: https://www.newyorker.com/news/letter-from-silicon-valley/the-lonely-work-of-moderating-hacker-news https://www.newyorker.com/news/letter-from-silicon-valley/th... )
- tempest_ 11mo agoThe other reality is that as much as this industry is up its ass about scalability you can run a very very busy site on a single machine now a days. A lot of people out here designing their blogs like its 1989.
- andy_ppp 11mo agoThis is completely wrong, everyone knows you should rewrite everything in microservices immediately :-D
- ilamont 11mo agoFrom dang's 2022 comment about traffic: The most interesting number is the 1300 submissions because that hasn't grown since 2011 - it just fluctuates. Everything else has been growing more or less linearly for a long time, which is how we like it. I find that surprising, as 2011-2022 covers an exponential rise in SEO spam and "growth hackers" attempting to drive traffic and links. Or was 1,300 the number of non-flagged submissions?
- tsoukase 11mo agoDuring the last week my IP was banned for unknown reason. Glad to hear it might not be a problem from my side.
- dang 11mo agoYes, sorry! This is the problem - we don't want to block legit users, but if we loosen the bolts, we get flooded. If you browse HN while logged in, that should immunize you against this happening. Also, if it does happen again, you can unban your IP as described at https://news.ycombinator.com/newsfaq.html https://news.ycombinator.com/newsfaq.html. But you have to do that from a different IP address, of course. If those things don't work, email hn@ycombinator.com and we'll get it sorted.
- tsoukase 11mo agoThanks. It is so easy to change the IP using mobile that the unbanning is little hassle.
- showcaseearth 11mo agoShort lived and driven by good intentions– all's good. Thanks again for keeping this thing going!
- racl101 11mo agodang!
- giancarlostoro 11mo agoThe transparency is deeply appreciated by me and others. We don't pay to keep HN on, so we cannot complain. Thank you and the rest of the team for all you do to give us a corner of the internet that is quite 'different' from the rest of the wild west that is the web.
- Imustaskforhelp 11mo agoI was personally worried if there was some major outage of the whole world or something the first time hackernews didnt work because I didnt expect hackernews to go down but rather, something even more catastrophic than aws going down must happen (because we see major cloud outage posts) https://downforeveryoneorjustme.com/hacker-news https://downforeveryoneorjustme.com/hacker-news This website had many instances of reports, the last I saw were 52 reports in only a short frame of time, the maximum reports on this are 118 it seems. > In this case, though, we had a secondary failure: PagerDuty woke me up at 5:24am, I checked HN and it seemed fine, so I told PagerDuty the problem was resolved. But the problem wasn't resolved - at that point I was just sleeping through it. Its okay I suppose, have you figured out who is crawling hackernews so much tho, was it a ddos attack or an AI company trying to get data, doesn't hackernews support an api and I am sure that there are datasets for it too so Its interesting why they might crawl but we all know the reasons why as they have been discussed here.
- maxloh 11mo agoFrankly, I don't understand why someone would even try to crawl Hacker News. There is an official dump which doesn't even require parsing HTML at all: https://console.cloud.google.com/marketplace/details/y-combinator/hacker-news?pli=1 https://console.cloud.google.com/marketplace/details/y-combi...
- dang 11mo agoThese are not, er, experienced crawlers. https://www.youtube.com/watch?v=Sbpl3ywNlpA#t=56s https://www.youtube.com/watch?v=Sbpl3ywNlpA#t=56s
- mmooss 11mo agoIn a situation like this one, good crisis leadership is essential. dang, HN will help you with tips from vast collected experience (please chip in): 1. Blame: The first thing to do is to point the finger. That doesn't mean analysing the technical issue, which can delay this step and limit your options, but figuring out who is politically easiest to blame. Often, that's the new guy, but outside contractors and vendors without good connections are also a common solution. Even if you are technically responsible for hiring them, you can always push them under the bus with a little skill. This small sacrifice helps unify, focus, and motivate the rest of the team. 2. Emotion: Inject your emotion into the situation and make that the implicit, but indisputable priority. Particularly, outrage and anger - This is completely _____. These people are utterly _____ (I'd use all caps, but that's not allowed on HN). Make sure everyone's attention is over their shoulder, on your emotion, and infect the team with it. Threats are an effective tool here - this is a crisis, and anyone who is calm is not emotionally engaged. Otherwise, they won't care enough about this problem - without you driving them, they probably wouldn't care much at all. Anyway, you don't have time for niceties like empathy or even basic respect. 3. Speed: Respnsiveness to stakeholders is very important. People need answers now. Give them answers they want to hear, outcomes they will be comfortable with. Don't worry if different groups hear different things. Your team will find a way to make it all work - that's their job. 4. Communication: Good communication is essential. Make sure you clearly tell your team what they should be doing; repeat it several times to prevent misunderstanding. Especially people with experience can have minds of their own; keep them on track. The situation is a crisis so you can't take any risks; stay on top of them and everything they do, and give input if you're not certain they are doing exactly what you would be doing. 5. Victimhood: Find a way to turn the tables: Make it about you, and how you're the victim here, and feed the fire with more outrage. With this and outrage, nobody will undermine the team by challenging your ideas or authority, which is the most essential component of a successful outcome. Remember, without you this all falls apart. Have I missed anything?
- yearolinuxdsktp 11mo agoEngagement: make sure that every member of the team is either on the incident bridge or has dropped what they are doing to watch you diagnose the problem. The more eyes on the problem, the more awareness of the pain will be absorbed by all. If members need to leave to get food or put children to bed, tell them to order delivery and to ask their spouse to do their job. Demonstrate human touch by allowing them to turn off camera while they are eating. Comprehensiveness: propose extreme, sweeping solutions, such as a lights-out restart of all services, shutting down all incoming requests, and restoring everything to yesterday's backup. This demonstrates that you are ready to address the problem in a maximally comprehensive way. If someone suggests a config change rollback, or a roll-forward patch, ask them why are gambling company time with localized changes, and ask them why are they willing to gamble company time on technical analysis? Root Cause Analysis Meeting: spend the entire meeting time rehashing the events, pointing fingers and assigning blame. Be sure to mention how the incident could've been over sooner if you just restarted and rolled back every single thing. Be sure to demonstrate out-of-the-box thinking by discussing unrealistic grandiose solutions. When the time is up, run the meeting over by 30 minutes and force all to stay while realistic solution ideas are finally discussed in overtime. This makes it clear to the team that nothing is more important than this incident's RCA--their time surely is not. If someone asks to tap out to pick their kids up after school, remind them that they are making enough money to call them an Uber. Alerting: be sure to identify anything remotely resembling leading indicators, and add Critical-level wake-you-up alerts with sensitive thresholds for those indicator. Database exceeding 50% CPU? Critical! Filesystem queue length exceeding 5? Critical! Heap usage over 50%? Critical! 100 errors in one minute on a 100000 requests per minute service? Critical! Single log line indicating DNS resolution failure anywhere in the system? Critical! (What if AWS's DNS is down again?) Service requests rate 10% higher than typical peak? Critical! If anyone objects to such critical alerts, ask them why do they want to be responsible for not preventing the next incident?
- 8cvor6j844qw_d6 11mo ago> anti-crawler protections Sometimes I could not open the comment section, receiving a blank page with "... We're sorry" or something along these lines when opening from new private window. It works when opening normally. Logging in on the private window seems to resolve the issue. Can you take a look on this if possible?
- dang 11mo agoBest to email your IP address to hn@ycombinator.com so we can see if it's blocked.
- xandrius 11mo agoHey dang, don't worry. It's just a site for reading articles and reacting to them. Enjoy your deserved sleep and if for a couple of hours it's down, so be it. Thanks for your continued service!
- powvans 11mo ago100% Though I will say, HN is a pretty great source of information about major outages like the recent AWS and Cloudflare issues. I had a moment this morning where I thought, oh, is there a larger issue and then, oh, HN is down, huh, the next option is so far down my list that it's going to take me a moment to think of it. I hope that serves as a testament to how great this site and the community is. Thanks for all your hard work keeping it that way!
- derrida 11mo ago> huh, the next option is so far down my list that it's going to take me a moment to think of it. Option 4: take your grab bag with the tcp over IP shortwave radio, sextant and head for pre-cached month supply of food in the hills.
- walrus01 11mo agoJust out of curiosity, if HN is still running on one physical system, what does a daily or weekly traffic chart look like for the switch port facing it?
- stmw 11mo agodang - just to say, we've all done it...
- QuantumNomad_ 11mo ago> the anti-crawler protections also unfortunately hit some legit users, and we don't want to block legit users Was the blocking returning “Sorry.” instead of any page content? A couple of days ago there was a few hours where when I’d go to HN I could load the main page as a non-logged in user. But if I tried to log in I would get “Sorry.” instead. I also got the sorry message if I tried to click on user profiles of other people and a few other pages. I am assuming that the reason I could see the front page itself and discussions on posts on the front page is that they were in a shared cache for non-logged in users, but that when I clicked on some pages like some random user pages those were not in cache and hit the origin server and it blocked those with “Sorry.” like it did for log-in attempts. I also tried to go to the unblock IP page, but that one also returned “Sorry.” For a while I was scratching my head wondering if I had gotten some malware on one of my computers that was aggressively making requests to HN, and that I had become IP banned because of that. Since I think my actual request rate from browsing and commenting should be pretty average. I read HN a lot, but not that much :p Later in the day, or the next day, things were back to normal and I could log in again. Presumably after those anti-crawler protections had been relaxed again.
- dang 11mo ago> Was the blocking returning “Sorry.” > Presumably after those anti-crawler protections had been relaxed again Yup and yup. Apologies for the inconvenience! If it happens again you're welcome to email us at hn@ycombinator.com with your IP and we'll unblock it for you.
- rldjbpin 11mo ago> The reason I did that is that the anti-crawler protections also unfortunately hit some legit users, and we don't want to block legit users. it is a shame that it needs to be this way. as a lurker who doesn't stay logged in nor use incognito mode, i have seen "Sorry" page way too often, even when opening the "past" page from the homepage. truly hope you find a solution that reduces friction for all. personally, it is back to "Sorry" situation for now. PS: for others facing a similar situation, it all disappears after logging in, which has been the most reliable solution thus far.
- dang 11mo agoYes, and I'm sorry. We do our best but it's both a hard problem and a moving target.
- _shadi 11mo ago> anti-crawler protections what type of protections are used on HN? rate-limiting? ip range blacklist?