This is an automated email from the ASF dual-hosted git repository.

singhpk234 pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/iceberg.git


The following commit(s) were added to refs/heads/main by this push:
     new 0004600588 Spec: fix impl note about snapshot ID generation (#14720)
0004600588 is described below

commit 00046005889c66ffc860bae012d7fc560e8f040a
Author: Dan LaRocque <[email protected]>
AuthorDate: Thu Jan 1 20:11:51 2026 -0800

    Spec: fix impl note about snapshot ID generation (#14720)
---
 format/spec.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/format/spec.md b/format/spec.md
index 57e8c7047e..43348d856c 100644
--- a/format/spec.md
+++ b/format/spec.md
@@ -1827,7 +1827,7 @@ Snapshot summary can include metrics fields to track 
numeric stats of the snapsh
 
 Writers should produce positive values for snapshot ids in a manner that 
minimizes the probability of id collisions and should verify the id does not 
conflict with existing snapshots. Producing snapshot ids based on timestamps 
alone is not recommended as it increases the potential for collisions.
 
-The reference Java implementation uses a type 4 uuid and XORs the 4 most 
significant bytes with the 4 least significant bytes then ANDs with the maximum 
long value to arrive at a pseudo-random snapshot id with a low probability of 
collision.
+The reference Java implementation uses a type 4 uuid and XORs the 8 most 
significant bytes with the 8 least significant bytes then ANDs with the maximum 
long value to arrive at a pseudo-random snapshot id with a low probability of 
collision.
 
 Java writes `-1` for "no current snapshot" with V1 and V2 tables and considers 
this equivalent to omitted or `null`. This has never been formalized in the 
spec, but for compatibility, other implementations can accept `-1` as `null`. 
Java will no longer write `-1` and will use `null` for "no current snapshot" 
for all tables with a version greater than or equal to V3.
 

Reply via email to