I am using Microsoft Azure Web App for managing my releases (testing and production environments) via deployment slots.
Recently, I've done some infrastructural changes to my application. And after thorough testing, I created a new deployment slot and cloned the production configuration.
I started increasing the traffic gradually to avoid potential problems caused by the changes on the new slot. After receiving no exceptions, and as a final test, I turned the traffic of the new deployment slot up to 100%.
After receiving a few emails from some clients, I checked my application insights and my database. The application insights showed no exceptions and new data was being inserted into the database.
After further investigation of the logs, I found out that a huge amount of the new reqeusts were still being routed to the main production slot which have 0% traffic. These requests were being rejected with status code 405 method not allowed.
I investigated the possibility of this being caused by the routing path being saved in the cookies in the variable x-ms-routing-name. However, my application has tens of new users everyday, so they cannot have any cookies saved on their devices. I also gave it some extra couple of hours to make sure that this is not caused by any caching policy. Unfortunately, nothing have changed over that time.
I also tried the functionality of the new testing slot by opening it dirctly via its url and everything was working as expected.
To understand what's happening, I read the Web Apps documentation, but I couldn't find anything useful for my case.
- Did anybody face this problem before?
- How can I prevent new requests to go to deployment slots with 0% traffic?
- Am I doing something wrong in my deployment?
- Can it be a configuration error? Though i cloned the configuration of the production.
I highly appreciate any answers.