-
Describe the bug I'm extending the 04.ai.a.teamsChefBot sample, and I've replaced the However when the user does not wait enough and types in two messages in quick succession, it throws an error:
I think this is happening because the DefaultTrunStateManger tries to save the two histories using the same ETAG which fails on the blob storage side. e.g., the starting history is look like this: in teams the user types in two messages, in this case the history is not updated in between and I end up with two histories where non of them containing all the messages, but having the same etag ETAG: 2 ETAG: 2 I've tried to use the Is there any solution this problem? To use |
Beta Was this translation helpful? Give feedback.
Replies: 5 comments
-
Hi @nemesv thank you for the bug report. Could you share some code snippets for the bug? What parts of quest bot in particular is your code based off of? I will reproduce on my side. Could you also give a little more detail on the ETAGS and how you're seeing 2 of the same tag? I haven't been able to dive into the latest version of quest bot yet. Could you also share your Planner option settings? (With keys/ids removed) This sounds like a larger problem to solve rather than a quick fix but we'll start looking into it. |
Beta Was this translation helpful? Give feedback.
-
@corinagum thank you for looking into this, I'm afraid that this might be a larger problem to fix. I've forked the pushed the repro here: https://github.com/nemesv/teams-ai/tree/history_repro
This is how it looks in the teams when using the I've logged the messages before sending to the blobstorage:
If I replace it with the
Let me know if you need any further info to reproduce this issue! |
Beta Was this translation helpful? Give feedback.
-
AH I see! Thanks so much for the detailed repro steps -- I will be looking into this today and report back asap. |
Beta Was this translation helpful? Give feedback.
-
@nemesv Thanks for your patience in me getting back to you. I was looking into possible solutions for this problem, particularly around comparing etags for history, but input from Steve was different feedback. from @Stevenic:
The idea I was looking into (as a custom solution to deal with the rest error) would be to put a delay on writing to blob storage in case two of the same etag come in, resolving the discrepancy, then writing to storage. I hope you don't mind that I've moved this to Discussions, in case other developers come across the same issue. This is a |
Beta Was this translation helpful? Give feedback.
-
@nemesv in case you might delete your fork branch, it might be helpful to add code blocks to this discussion with the changes you added as well! |
Beta Was this translation helpful? Give feedback.
@nemesv Thanks for your patience in me getting back to you. I was looking into possible solutions for this problem, particularly around comparing etags for history, but input from Steve was different feedback.
from @Stevenic:
The idea I was looking into (as a custom solution to deal with the rest error) would be to put a delay on writing to blob storage in case two of the same etag come in, resolving the discrepancy, then writing to storage.