Added error handling for data upload failures
Use DataUpload_withRetry and new DatagamiException