This breaks the current contract of calls with same TaskAttemptContext get same writer. I guess this should be okay though.