Open d2orbc opened 11 months ago
under the conditions of my API consumer, this seems to affect ~44 in 100k (sampled across PGCR range 13927500000-13927600000)
Workaround: two checks:
.08% of my corpus has a missing "startingPhaseIndex" field.
Another example. On this one, the second fetch included:
- {"ErrorCode":1,"ErrorStatus":"Success","Message":"Ok","MessageData":{},"Response":{"activityDetails":{"directorActivityHash":88632762,"instanceId":"13927501283","isPrivate":false,"membershipType":0,"mode":2,"modes":[7,2],"referenceId":88632762},"entries":[{"characterId":"2305843009268559243","player":{"characterClass":"Warlock","characterLevel":50,"classHash":2271682572,"destinyUserInfo":{"applicableMembershipTypes":[3,2],"bungieGlobalDisplayName":"made-fc","bungieGlobalDisplayNameCode":1183,"crossSaveOverride":2,"displayName":"made-fc","iconPath":"/common/destiny2_content/icons/24e9133c9cc157853762de5a2c3853aa.jpg","isPublic":true,"membershipId":"4611686018449010608","membershipType":2},"emblemHash":1907674137,"genderHash":2204441813,"lightLevel":1584,"raceHash":3887404748},"score":{"basic":{"displayValue":"0","value":0}},"standing":0,"values":{"activityDurationSeconds":{"basic":{"displayValue":"9m 37s","value":577}},"assists":{"basic":{"displayValue":"0","value":0}},"completed":{"basic":{"displayValue":"Yes","value":1}},"completionReason":{"basic":{"displayValue":"Objective Completed","value":0}},"deaths":{"basic":{"displayValue":"0","value":0}},"efficiency":{"basic":{"displayValue":"80.00","value":80}},"fireteamId":{"basic":{"displayValue":"-2147483648","value":-3420175362064546300}},"kills":{"basic":{"displayValue":"80","value":80}},"killsDeathsAssists":{"basic":{"displayValue":"80.00","value":80}},"killsDeathsRatio":{"basic":{"displayValue":"80.00","value":80}},"opponentsDefeated":{"basic":{"displayValue":"80","value":80}},"playerCount":{"basic":{"displayValue":"1","value":1}},"score":{"basic":{"displayValue":"0","value":0}},"startSeconds":{"basic":{"displayValue":"0m 0s","value":0}},"teamScore":{"basic":{"displayValue":"0","value":0}},"timePlayedSeconds":{"basic":{"displayValue":"9m 37s","value":577}}}}],"period":"2023-10-03T17:54:21Z","teams":[]},"ThrottleSeconds":0}
+ {"ErrorCode":1,"ErrorStatus":"Success","Message":"Ok","MessageData":{},"Response":{"activityDetails":{"directorActivityHash":88632762,"instanceId":"13927501283","isPrivate":false,"membershipType":0,"mode":2,"modes":[7,2],"referenceId":88632762},"activityWasStartedFromBeginning":true,"entries":[{"characterId":"2305843009268559243","extended":{"values":{"precisionKills":{"basic":{"displayValue":"2","value":2}},"weaponKillsAbility":{"basic":{"displayValue":"0","value":0}},"weaponKillsGrenade":{"basic":{"displayValue":"0","value":0}},"weaponKillsMelee":{"basic":{"displayValue":"2","value":2}},"weaponKillsSuper":{"basic":{"displayValue":"3","value":3}}},"weapons":[{"referenceId":613334176,"values":{"uniqueWeaponKills":{"basic":{"displayValue":"46","value":46}},"uniqueWeaponKillsPrecisionKills":{"basic":{"displayValue":"0%","value":0}},"uniqueWeaponPrecisionKills":{"basic":{"displayValue":"0","value":0}}}},{"referenceId":4293613902,"values":{"uniqueWeaponKills":{"basic":{"displayValue":"16","value":16}},"uniqueWeaponKillsPrecisionKills":{"basic":{"displayValue":"13%","value":0.125}},"uniqueWeaponPrecisionKills":{"basic":{"displayValue":"2","value":2}}}},{"referenceId":268260372,"values":{"uniqueWeaponKills":{"basic":{"displayValue":"1","value":1}},"uniqueWeaponKillsPrecisionKills":{"basic":{"displayValue":"0%","value":0}},"uniqueWeaponPrecisionKills":{"basic":{"displayValue":"0","value":0}}}}]},"player":{"characterClass":"Warlock","characterLevel":50,"classHash":2271682572,"destinyUserInfo":{"applicableMembershipTypes":[3,2],"bungieGlobalDisplayName":"made-fc","bungieGlobalDisplayNameCode":1183,"crossSaveOverride":2,"displayName":"made-fc","iconPath":"/common/destiny2_content/icons/24e9133c9cc157853762de5a2c3853aa.jpg","isPublic":true,"membershipId":"4611686018449010608","membershipType":2},"emblemHash":1907674137,"genderHash":2204441813,"lightLevel":1829,"raceHash":3887404748},"score":{"basic":{"displayValue":"0","value":0}},"standing":0,"values":{"activityDurationSeconds":{"basic":{"displayValue":"9m 37s","value":577}},"assists":{"basic":{"displayValue":"0","value":0}},"completed":{"basic":{"displayValue":"Yes","value":1}},"completionReason":{"basic":{"displayValue":"Objective Completed","value":0}},"deaths":{"basic":{"displayValue":"0","value":0}},"efficiency":{"basic":{"displayValue":"80.00","value":80}},"fireteamId":{"basic":{"displayValue":"-2147483648","value":-3420175362064546300}},"kills":{"basic":{"displayValue":"80","value":80}},"killsDeathsAssists":{"basic":{"displayValue":"80.00","value":80}},"killsDeathsRatio":{"basic":{"displayValue":"80.00","value":80}},"opponentsDefeated":{"basic":{"displayValue":"80","value":80}},"playerCount":{"basic":{"displayValue":"1","value":1}},"score":{"basic":{"displayValue":"0","value":0}},"startSeconds":{"basic":{"displayValue":"0m 0s","value":0}},"teamScore":{"basic":{"displayValue":"0","value":0}},"timePlayedSeconds":{"basic":{"displayValue":"9m 37s","value":577}}}}],"period":"2023-10-03T17:54:21Z","startingPhaseIndex":0,"teams":[]},"ThrottleSeconds":0}
On this next one:
If I detect a malformed PGCR response, I now re-request with a cache bust appended to the URL. It appears it can be resolved with the cache bust after one or two retries.
Vast majority get the correct response in under 10 seconds, but I had two instances today that took almost exactly 5 minutes to update with the correct response. I'm busting the cache with a URL parameter, but I'm guessing there's some other cache with a 5 min TTL that's being hit.
Example.
PGCR id 13927542931
When requested at
2023-10-03 18:12:22.914633
(UTC) Reported end time (period + duration seconds):2023-10-03 18:10:33
Only one entry was returned. Re-request this same PGCR now and you will see three entries.