Cream together the cream cheese and butter until light and fluffy, about 5 minutes, scraping the bowl periodically.
Add 1/4 cup sugar, salt, and vanilla. Add the flour, and mix until it just comes together.
Turn the dough out onto a floured board. Roll the dough into a ball, and cut into quarters. Flatten each out into a disk, and wrap in plastic wrap. Chill in the fridge for 1 hour.
Meanwhile, make the filling. In a small bowl, combine 6 Tablespoons sugar, brown sugar, 1/2 teaspoon cinnamon, and walnuts. Set aside.
In another small bowl, combine remaining 3 Tablespoons sugar and 1 teaspoon cinnamon.
Roll the dough out into a 9-inch circle. As you can see, mine is not perfect.
Spread a few Tablespoons of jam on to the crust, leaving about an inch bare. Sprinkle a generous amount of the walnut mixture on top of the jam.
Roll up the dough from the widest end to the shortest. Chill the rolled cookies for at least one hour before baking.
Beat the egg with a drop of milk. Brush the tops of the rugelach with the egg wash and sprinkle with the cinnamon sugar mixture.
Bake in a preheated 350 degree oven for 15 to 20 minutes.