Closed erikterr closed 5 years ago
Most likely a bug. LMeve will have to check how many itemids it wants to resolve in one transaction, much like using x-pages to fetch large outputs. I will ask you about more details when I get back home.
no problem, I'm also at work :P
On Tue, Feb 26, 2019 at 3:20 PM Łukasz Poźniak notifications@github.com wrote:
Most likely a bug. LMeve will have to check how many itemids it wants to resolve in one transaction, much like using x-pages to ferch large outputs. I will ask you about more details when I get back home.
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/roxlukas/lmeve/issues/85#issuecomment-467455968, or mute the thread https://github.com/notifications/unsubscribe-auth/Aaes3aK2-h5I4qWUk1dOkbK2xOGkZeghks5vRUKrgaJpZM4bSRE9 .
-- Terrenzani Erik From Gmail
I have added additional logging in <lmeve>/bin/Assets.php
Please update the file, remove <lmeve>/var/poller.lock
if it exists, and let the poller try again.
Then please look for the following line in <lmeve>/var/poller.txt
Getting xxxx names from ESI...
Let me know how many items it wants to query.
Here the error from command line: [INFORM] Assets: Getting 1039 names from ESI... [INFORM] Route: New Route->request(POST) [INFORM] Route: constructURL()='https://esi.evetech.net/v1/corporations/xxx/assets/names/?datasource=tranquility [INFORM] Route: constructCacheFilename()='/opt/lmeve/bin/../var/7_96354865f2b14b1a7c293eddd03a87df.json [WARNING] Route: Too many errors when accessing Route /v1/corporations/xxx/assets/names/, skipping this route. PHP Warning: count(): Parameter must be an array or an object that implements Countable in /opt/lmeve/bin/Assets.php on line 89 PHP Warning: Invalid argument supplied for foreach() in /opt/lmeve/bin/Assets.php on line 90 [INFORM] Killmails: Updating Killmails...
Seem to be it fails during a parse of a contract: 25.02.2019 17:10:50 [CLI]: [WARNING] /v1/corporations/: ERROR 404: {"error":"Contract not found!"} After some errors it give "Too many errors when accessing Route /v1/corporations/, skipping this route."
That explains it.
LMeve tries to resolve 1039 names, but ESI only allows batches of 1000:
post_corporations_corporation_id_assets_names_item_ids[ maxItems: 1000 minItems: 1 title: post_corporations_corporation_id_assets_names_item_ids uniqueItems: true
item_ids array integer($int64) title: post_corporations_corporation_id_assets_names_item_id
item_id integer ]
The other errors are related to name resolution failing and LMeve trying to prevent causing too many errors with ESI, by shutting down all routes that returned mor ethan 10 errors.
The plan for a fix is simple, iterate name resolution in batches of 1000, exactly the same way as x-pages support is currently implemented.
ok how to do? I'm not too much php skilled :)
Don't worry, I'll write a patch for Assets.php and let you know when it's ready to update :-) I just wanted you to know the fix is coming :-)
Rgr tnx a lot. If no needed I'll remove txt log
Sure, you can remove it
Fixed in becbbe1 - please check if it fixed your problem
Still receive same error:
[INFORM] Assets: Getting 1080 Asset names from ESI... [INFORM] Assets: Getting page 0 [INFORM] Route: New Route->request(POST) [INFORM] Route: constructURL()=' https://esi.evetech.net/v1/corporations/xxx/assets/names/?datasource=tranquility [INFORM] Route: constructCacheFilename()='/opt/lmeve/bin/../var/7_96354865f2b14b1a7c293eddd03a87df.json [WARNING] Route: Too many errors when accessing Route /v1/corporations/98297004/assets/names/, skipping this route. PHP Warning: array_merge(): Argument #1 is not an array in /opt/lmeve/bin/Assets.php on line 86 [INFORM] Assets: Getting page 1 [INFORM] Route: New Route->request(POST) [INFORM] Route: constructURL()=' https://esi.evetech.net/v1/corporations/xxx/assets/names/?datasource=tranquility [INFORM] Route: constructCacheFilename()='/opt/lmeve/bin/../var/7_96354865f2b14b1a7c293eddd03a87df.json [WARNING] Route: Too many errors when accessing Route /v1/corporations/xxx/assets/names/, skipping this route. PHP Warning: array_merge(): Argument #1 is not an array in /opt/lmeve/bin/Assets.php on line 86 PHP Warning: count(): Parameter must be an array or an object that implements Countable in /opt/lmeve/bin/Assets.php on line 96 [INFORM] Killmails: Updating Killmails... [INFORM] Killmails: Getting Killmails... [INFORM] Route: New Route->request(GET) [INFORM] Route: constructURL()=' https://esi.evetech.net/v1/corporations/xxx/killmails/recent/?datasource=tranquility [INFORM] Route: constructCacheFilename()='/opt/lmeve/bin/../var/7_81e166842e6c610effa4e0bd2b9bd9a5.json [WARNING] Route: Too many errors when accessing Route /v1/corporations/, skipping this route. bool(false) [INFORM] Killmails: Route /v1/corporations/xxx/killmails/recent/?datasource=tranquility is still cached, skipping...
On Fri, Mar 1, 2019 at 11:13 AM Łukasz Poźniak notifications@github.com wrote:
Fixed in becbbe1 https://github.com/roxlukas/lmeve/commit/becbbe11a62f031efdddc241c5cacee635da454e
- please check if it fixed your problem
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/roxlukas/lmeve/issues/85#issuecomment-468614821, or mute the thread https://github.com/notifications/unsubscribe-auth/Aaes3dGPOOn36sapsOOxM0HhrDcT63Zzks5vSP1RgaJpZM4bSRE9 .
-- Terrenzani Erik From Gmail
rectify, after another run (the first took 20sec for run, that one took 400!) seem to be is working
Confirm problem solved, you can close the bug
o7, we receive that error on our page: ESI error on route /v1/corporations/xxxxxx/assets/names/: {"error":"too many items for 'item_ids', 'item_ids' is required"}