Welcome to the jungle – Sovereignty API

May 28th, 2009

After having a bug report open for 8 month in CCP’s bug tracking system without getting updates about the progress I’ll try to sum up the problems and give my readers some information about my problems with updates, sovereignty API and background work.

The Problem: Outdated exports:

I usually start 2 hours after downtime to load sovereignty and alliance information. I found out that it’s pretty common that CCP don’t flush their API caches during downtime and even up to 4 hours after the official downtime, their servers are still delivering outdated sov data from the day before. With a CachedUntil Timer for 6 hours for the sov data, this server/ip isn’t allowed to query anymore. To fix this issue I’m happy that to be able to use several IP addresses to query the API Servers without running into a cached -until-loop. I’m starting with 14 GMT time and then retry each hour until midnight or I got a valid and udpated sov export from the new day.

The XML Files are looking something like this in such cases.

<currentTime>2009-03-02 14:00:12</currentTime>
<dataTime>2009-03-02 08:51:25</dataTime>
<cachedUntil>2009-03-02 20:00:12</cachedUntil>

That’s the reason why it sometimes took hours until my websites gets updated.  This bug was reported 8 month ago, it’s  attached to a known defect, which is still open.

The latest issue: Wrong data exports

After my scripts are doing several requests, spreaded over several ips (the api caches are per ip-only) I could lean back and start ignoring CCP’s lazyness to fix this problems. But yesterday I CCP was delivering false data. At 14 o’clock I got a valid sovereignty export with a DataTime stamp as well 14 o’clock. Sounds good? Of course … but the main issue was that this data which was tagged as updated after downtime were the unchanged sovereignty situation from the day before.

This caused my database to update the history table and ends with no sovereignty changes for day 27.05.2009. A manual sov import some hours later ended in really strange results and forced me to load a sql backup from the day before and reimport the current sovereignty export.

<currentTime>2009-05-27 14:00:09</currentTime>
<dataTime>2009-05-27 14:00:09</dataTime>
<cachedUntil>2009-05-27 20:00:09</cachedUntil>

Dear CCP

Please fix your API Servers. Restart/Reload the API Servers or just flush the caches during or after downtime will do the job and everybody who’s using sovereignty data will be happy. It’s one simple cronjob … oh I forgot you’re using windows, but there’s  a task/schedule planer too :-))

7 Responses to “Welcome to the jungle – Sovereignty API”

  1. jedi2005 says:

    Hi,

    Is this why the “detailed” alliance info for the last 2 weeks is not getting updated ?

    F.e. on the alliance main page, IRON has 523 members, but checking in more detail the IRON information, IRON suddenly is back on 1136 members and corporations that left IRON after 4 june, are still in IRON.

    Greetz,
    Jedi2005

    • Wollari says:

      Sorry, I don’t know which page you’re refering to. My database seems to be correct and the number corps/members seems to match too.

      • jedi2005 says:

        this one.

        https://evemaps.dotlan.net/alliance/Imperial_Republic_Of_the_North/corporations

        reads on my browser like :
        232862027 E X O D U S E X O 99 2005-07-06
        604042740 InterGalactic Corp. INTG 52 2005-07-07
        608439404 IRON Tech IRONT 37 2006-03-07
        424427402 VentureCorp VNTR 54 2006-10-23
        966065797 Synergy. S.Y.N 110 2006-11-14
        277365080 g guild GG 79 2008-01-02
        1483565871 Arkons of Myth RC0N 80 2008-12-07
        612633154 Eve Defence Force EDF 78 2008-12-13
        491946212 The Funkalistic TFUNK 76 2009-01-13
        1677789023 Meltd0wn MELT. 84 2009-01-15
        252480084 Sensus Numinis SENUM 47 2009-01-15
        562655372 0mega Enterprises 0E 67 2009-01-21
        145677126 Omega Enterprises OE 82 2009-01-28
        1794356538 EXTERMINATUS. B0MB 198 2009-02-27

        While at least meltdown/exterminatus allready left iron some while ago…

        • Wollari says:

          I think your browser or your proxy server is playing with you.

          Corporations [8]
          ID Name Ticker Member Joined
          232862027 E X O D U S E X O 91 2005-07-06
          604042740 InterGalactic Corp. INTG 50 2005-07-07
          608439404 IRON Tech IRONT 13 2006-03-07
          424427402 VentureCorp VNTR 55 2006-10-23
          966065797 Synergy. S.Y.N 87 2006-11-14
          277365080 g guild GG 69 2008-01-02
          612633154 Eve Defence Force EDF 80 2008-12-13
          491946212 The Funkalistic TFUNK 72 2009-01-13

          That’s what the current state in my browser and the database.
          P.S I moved our comments back into the right post. (my mistake)

          • jedi2005 says:

            Hi Wollari,

            Youre probably right.
            When I logged in on my “work” intranet and pointed the browser to the above page.. the correct info was displayed..

            Wondering if my “home” isp provider proxy, is not updating its pages from time to time..

            Thx,
            Jedi2005

          • jedi2005 says:

            Hi Wollari,

            Problem is caused by cookies.

            dotlan seems to download cookies to my pc each time a page is accessed.

            It looks like, that when a cookie allready exists for the ‘dotlan’ page in question, then no matter if the page has ‘new information’ or not, the page isnt downloaded again, and the ‘old’ page gets displayed..

            A workaround is to manually remove all the cookies for that page. (or ‘disable’ in my browser settings the ‘allow cookies’ option (which is not very handy as some ‘needed’ sites depend on cookies..)…

            Did you change something with regards to cookies ?? Or is it some browser patch that caused a change? Had the impression, that I got the problem both on ie and firefox ?

            Greetz,
            Jedi2005

          • Wollari says:

            My webpage don’t use cookies. At least only for the logged in stuff like intel manager. For everything else cookies are not used.

            But my page is using eTag for as caching identifier, etc. I personally don’t have any problems. NOt at home and even not at work with numerous of proxys and content filtering systems.

PHP MySQL NGINX Webserver Firefox EVE Onlline Twitter @wollari Facebook
API J:23 Nov 21:14 K:23 Nov 21:13 C:23 Nov 22:00 A:23 Nov 22:00 O:04 Jun 11:15 F:23 Nov 21:40 S:23 Nov 21:12 W:23 Nov 21:15