We’re encountering a frontend browser error during the download process.
Each download request may involve fetching 1MB file shards from dozens of different Canisters. Most of them succeed, but a few requests consistently fail with no clear reason.
Could you help us identify the possible causes and how to resolve this issue?
AgentQueryError: Error while making call: Timestamp failed to pass the watermark after retrying the configured 3 times. We cannot guarantee the integrity of the response since it could be a replay attack.
1 Like
Hmm, the issue here may be that your different canisters are on subnets that may have a different internal time and therefore a different “highest” watermark height. Can you answer a few questions for me?
- Are you using a single HttpAgent to make calls to different canisters?
- Are you making a combination of calls and queries during this workflow?
- What subnets are the canisters on? (You can find this out by searching the canister ID on https://dashboard.internetcomputer.org)
- If you use a separate HttpAgent for each canister, does that resolve the issue?
- If you increase the
retryTimes
option to 5, does that resolve the issue?
We can probably pinpoint the precise workflow and come up for a fix, but answering these questions will help us out!
Yes, we are currently using a single HttpAgent to interact with multiple Canisters, which may indeed be one of the reasons causing this issue.
In this workflow, we are performing query calls only, but it’s worth noting that there may be multiple queries to the same Canister during the file shard retrieval process.
There are over 40 Canisters involved, distributed across multiple subnets.
We’ll definitely try the suggestions you mentioned — such as using separate HttpAgent instances and increasing the retryTimes option to 5 — to see if that helps stabilize the process.
Thanks again for your insights and support!
Thank you for the feedback! This helps us prioritize upgrades to the agent that would better address those use cases!