Indian markets ended higher for the second straight day on Tuesday. The BSE Sensex ended at 50,296.89, up 447.05 points or 0.90%. The Nifty closed at 14,919.10, up 157.55 points or 1.07%.