@@ -79,11 +79,17 @@ class PAIMON_EXPORT FileStoreCommit {
7979 // / orders them by partition, bucket, and offset before validating continuity. The resulting
8080 // / snapshot atomically publishes the data files and the updated offset map.
8181 // /
82+ // / If this method returns an error, the caller may retry with the same arguments. Each call
83+ // / reloads the latest committed state. As in `FilterAndCommit`, a retry's identifier is
84+ // / considered committed when it is not newer than the latest identifier for `commit_user`.
85+ // / The requested offset ranges must also be covered by the latest committed progress.
86+ // /
8287 // / @param realtime_commits Commit messages and left-closed, right-open offset ranges to
8388 // / commit.
8489 // / @param commit_identifier Identifier of the streaming commit operation.
8590 // / @param watermark Optional event-time watermark.
86- // / @return The id of the final snapshot produced by this commit.
91+ // / @return The id of the latest snapshot containing the committed progress. On retry, this may
92+ // / be a snapshot produced by a later commit and is suitable for refreshing a real-time context.
8793 virtual Result<int64_t > CommitWithProgress (
8894 const std::vector<RealtimeCommitProgress>& realtime_commits, int64_t commit_identifier,
8995 std::optional<int64_t > watermark) = 0;
@@ -117,6 +123,10 @@ class PAIMON_EXPORT FileStoreCommit {
117123 // / @param watermark An optional event-time watermark used to indicate the progress of data
118124 // / processing. Default is std::nullopt.
119125 // / @return Result of the operation.
126+ // / @note A full-table overwrite clears all committed real-time progress. A partition
127+ // / overwrite removes progress only for matching partitions. In either case, active
128+ // / real-time writers and their `RealtimeContext` instances must be recreated before
129+ // / further real-time operations.
120130 virtual Status Overwrite (const std::map<std::string, std::string>& partition,
121131 const std::vector<std::shared_ptr<CommitMessage>>& commit_messages,
122132 int64_t commit_identifier,
@@ -131,6 +141,10 @@ class PAIMON_EXPORT FileStoreCommit {
131141 // / @param watermark An optional event-time watermark used to indicate the progress of data
132142 // / processing. Default is std::nullopt.
133143 // / @return Result of the operation.
144+ // / @note A full-table overwrite clears all committed real-time progress. A partition
145+ // / overwrite removes progress only for matching partitions. In either case, active
146+ // / real-time writers and their `RealtimeContext` instances must be recreated before
147+ // / further real-time operations.
134148 virtual Result<int32_t > FilterAndOverwrite (
135149 const std::map<std::string, std::string>& partition,
136150 const std::vector<std::shared_ptr<CommitMessage>>& commit_messages,
@@ -157,6 +171,9 @@ class PAIMON_EXPORT FileStoreCommit {
157171 // / @param partitions A vector of partitions to be dropped.
158172 // / @param commit_identifier An identifier for the commit operation.
159173 // / @return Status indicating the success or failure of the drop partition operation.
174+ // / @note A partition drop removes committed real-time progress only for matching partitions.
175+ // / Active real-time writers and their `RealtimeContext` instances must be recreated before
176+ // / further real-time operations.
160177 virtual Status DropPartition (const std::vector<std::map<std::string, std::string>>& partitions,
161178 int64_t commit_identifier) = 0;
162179
@@ -165,6 +182,9 @@ class PAIMON_EXPORT FileStoreCommit {
165182 // /
166183 // / @param commit_identifier An identifier for the commit operation.
167184 // / @return Status indicating the success or failure of the truncate operation.
185+ // / @note Truncation clears all committed real-time progress. Active real-time writers and
186+ // / their `RealtimeContext` instances must be recreated before further real-time
187+ // / operations.
168188 virtual Status TruncateTable (int64_t commit_identifier) = 0;
169189
170190 // / Abort an unsuccessful commit. The data and index files described by the given commit
@@ -182,6 +202,9 @@ class PAIMON_EXPORT FileStoreCommit {
182202 // / @param target_snapshot_id The snapshot id to roll back to.
183203 // / @return Result<bool>; true if the atomic commit succeeded. Returns an error status if
184204 // / there is no latest snapshot or the target snapshot does not exist.
205+ // / @note Rollback restores the real-time progress recorded by the target snapshot. Active
206+ // / real-time writers and their `RealtimeContext` instances must be recreated before
207+ // / further real-time operations.
185208 virtual Result<bool > RollbackToAsLatest (int64_t target_snapshot_id) = 0;
186209
187210 // / Configure row-id conflict checking from a specific snapshot id.
0 commit comments