rki-covid-api icon indicating copy to clipboard operation
rki-covid-api copied to clipboard

Error 500 for Germany and States endpoints

Open kaolick opened this issue 1 year ago • 18 comments

At least the following endpoints are currently not working and throw a 500 error:

  • https://api.corona-zahlen.org/germany
  • https://api.corona-zahlen.org/states

kaolick avatar Aug 04 '22 09:08 kaolick

Can confirm :/

DSDV avatar Aug 04 '22 15:08 DSDV

Problem is, that this is an RKI API error, so noone except the RKI people are able to fix that.

Thats it, the API is dead >.<

Toni-99 avatar Aug 07 '22 11:08 Toni-99

the official covid app still works :/ wonder which api that uses? R-Value State and Country are shown correctly in the FDroid version.

DSDV avatar Aug 07 '22 12:08 DSDV

I will be back from vacation on Tuesday, and then i will have a Look on this

Rubber1Duck avatar Aug 07 '22 14:08 Rubber1Duck

The endpoint for the districts is still working:

  • https://api.corona-zahlen.org/districts

kaolick avatar Aug 08 '22 11:08 kaolick

https://www.corona-in-zahlen.de/ also still works fine. So there has to be an API that works (:

DSDV avatar Aug 08 '22 11:08 DSDV

This error is coming up in the logs:

TypeError: Cannot set properties of undefined (setting 'fixedCases7Days') at Parser. (/workspace/src/data-requests/hospitalization.ts:247:60) at Parser.emit (node:events:527:28) at Parser.emit (node:domain:537:15) at emitReadable_ (node:internal/streams/readable:578:12) at processTicksAndRejections (node:internal/process/task_queues:82:21) Emitted 'error' event on ExpressRedisCache instance at: at Domain. (/workspace/node_modules/express-redis-cache/lib/ExpressRedisCache/route.js:47:12) at Domain.emit (node:events:527:28) at Domain.emit (node:domain:475:12) at Domain._errorHandler (node:domain:269:23) at Object. (node:domain:172:29) at process._fatalException (node:internal/process/execution:166:29) { domainThrown: true }

 Looking into it!

marlon360 avatar Aug 08 '22 12:08 marlon360

I added better error messages:

{
   "error":{
      "message":"An error occurred while fetching external data.",
      "url":"https://services7.arcgis.com/mOBPykOjAyBO2ZKk/arcgis/rest/services/Coronafälle_in_den_Bundesländern/FeatureServer/0/query?where=1%3D1&outFields=LAN_ew_EWZ,LAN_ew_AGS,Fallzahl,Aktualisierung,Death,cases7_bl,death7_bl,LAN_ew_GEN&returnGeometry=false&outSR=4326&f=json",
      "details":"Request failed with status code 500",
      "response":"<html>\r\n<head><title>500 Internal Server Error</title></head>\r\n<body>\r\n<center><h1>500 Internal Server Error</h1></center>\r\n<hr><center>Microsoft-Azure-Application-Gateway/v2</center>\r\n</body>\r\n</html>\r\n"
   }
}

Now we know that the firewall blocks the IP address of this server.

marlon360 avatar Aug 08 '22 13:08 marlon360

where can we apply to get it unblocked ?

DSDV avatar Aug 08 '22 13:08 DSDV

Will this issue be fixed?

csigritz avatar Aug 09 '22 19:08 csigritz

Can't we just switch the server?

Toni-99 avatar Aug 10 '22 10:08 Toni-99

I use railway for hosting. I created a new project and the IP address is the same.

marlon360 avatar Aug 10 '22 11:08 marlon360

I use railway for hosting. I created a new project and the IP address is the same.

So no chance to get it working again?

csigritz avatar Aug 10 '22 11:08 csigritz

We can use any server that supports Node.js and Redis. Any recommendations?

marlon360 avatar Aug 10 '22 11:08 marlon360

Hey Marlon, maybe the branch "new_container_fixed_incidence" is a solution? Ich war seit langem auf der Suche die fixed Incidence Zahlen, die ja vom RKI nur noch wöchendlich aktualisiert werden, bereitzustellen. Habe dafür ein lösung gefunden. dazu muss aber täglich das RKI Dump heruntergeladen werden. was nur für fixed incidence zahlen wahrer overkill ist. Also dachte ich warum nicht alles berechnen was aus der datei zu berechnen ist. herausgekommen ist das was zur zeit in diesem branch ist. das einzige was noch fehlt ist districtsData. da arbeite ich zur zeit dran. Der updater läuft unter python.. Sobald das Dump zur Verfügung steht werden die dateien berechnet und in einem gemeinsamen volume bereitgestellt, worauf dann der container rki-covid-api zugriff hat. Das ganze läuft unter amd64 und arm64, für home hosting gehen also nur noch 64bit raspies. habe allerdings null ahnung davon was nötig ist um es unter railway zum laufen zu bekommen!. Jeder Server mit Dockerunterstützung sollte allerdings normal funktionieren. rep clonen, submodule aktualiesieren, docker-compose up -d und schon läuft die lucie Wenn du lust hast kannst du es dir ja mal ansehen..... damit sollten zumindest die sperrungen von ip adressen kein thema mehr sein!

edit: districtsData ist nun drin, was noch fehlt ist statesAgeGroup und germanyAgeGroup, allerdings habe ich hierfür keine Einwohnerzahlen (getrennt nach männlich weiblich, hab mir aber auch noch nicht angesehen ob das so berechnet wird, aber anderes macht ja keinen sinn ....

edit: age group data ist nun auch drin

Rubber1Duck avatar Aug 10 '22 18:08 Rubber1Duck

@Rubber1Duck Danke für deine Arbeit! Wie groß ist der Dump und wie aufwendig ist die Berechnung? Können wir das per GitHub Action regelmäßig in die Repo pushen?

marlon360 avatar Aug 10 '22 19:08 marlon360

Der Dump ist zur Zeit ca 850 Megabyte (heute 869142564 byte). ist natürlich nen haufen schotter ..... die berechnung dauert auf einen raspi4 mit 4 gb speicher zur zeit ca 15 minuten, als github action rund 4 minuten. der updater ist ja ein submodule von meinem RD_RKI_COVID19_DATA repo ..... dort läuft auch eine solche action .... push in die rki-covid-api repo sollte funktionieren, und dann täglicher neustart? Was auch gehen würde du forkst mein repo. lässt dort actihub action die arbeit machen und holst die files dann aus diesen repo. so hättest du weiter alles in deiner hand. die files von meinem repo holen geht natürlich auch...... wie you will .....

Rubber1Duck avatar Aug 10 '22 21:08 Rubber1Duck

Gibt es mittlerweile was Neues? Auf die eine Idee von @Rubber1Duck ging man ja nicht weiter ein..

HappyFr1tz avatar Aug 13 '22 13:08 HappyFr1tz

We are back online 🎉 Switched to Hetzner for hosting.

@Rubber1Duck Deine Lösung muss ich mir zu einem späteren Zeitpunkt nochmal anschauen.

marlon360 avatar Aug 15 '22 11:08 marlon360