In a large bowl, sift together the flour, baking powder, baking soda, cinnamon, and salt.
In another bowl, mix the sugar, egg, egg yolk, and vanilla until pale and thick.
Pour in the melted butter. Stir until combined. Add the sour cream in and whisk to just mixed.
Pour the wet ingredients into the dry ingredients and gently fold in using a spatula.
Turn the dough out onto plastic wrap and wrap it up tightly. Place in the fridge to chill for at least one hour.
Once the dough has chilled, remove it from the fridge and turn out onto a lightly floured surface. Use a rolling pin to roll to about 1/2" thickness and use a donut cutter to cut out donuts (save the donut holes).
Transfer cut out donut shapes to a parchment paper-lined cookie sheet and return to the fridge for at least 15 minutes.
Fill a Dutch oven at least 2-3" deep with canola oil. Once the oil has reached 350-360°F, remove donuts from the fridge and transfer donuts or donut holes in the oil, just 3 a time. The donuts will float to the top. Then cook another 1-1 1/2 minutes and then use tongs or a slotted spoon to remove them from the oil and transfer to a paper towel-lined plate. The donuts should be a nice golden brown.
To prepare the glaze, combine powdered sugar, milk, and vanilla. Whisk until smooth.
Dip the warm donuts into the glaze and then transfer to a cooling rack to allow the glaze to set.