semi-commit