Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 4 additions & 5 deletions paimon-python/pypaimon/snapshot/snapshot.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
################################################################################

from dataclasses import dataclass
from typing import Dict, Optional
from typing import Optional

from pypaimon.common.json_util import json_field

Expand All @@ -27,21 +27,20 @@
@dataclass
class Snapshot:
# Required fields
version: int = json_field("version")
id: int = json_field("id")
schema_id: int = json_field("schemaId")
base_manifest_list: str = json_field("baseManifestList")
delta_manifest_list: str = json_field("deltaManifestList")
total_record_count: int = json_field("totalRecordCount")
delta_record_count: int = json_field("deltaRecordCount")
commit_user: str = json_field("commitUser")
commit_identifier: int = json_field("commitIdentifier")
commit_kind: str = json_field("commitKind")
time_millis: int = json_field("timeMillis")
# Optional fields with defaults
version: Optional[int] = json_field("version", default=None)
log_offsets: Optional[Dict[int, int]] = json_field("logOffsets", default_factory=dict)
changelog_manifest_list: Optional[str] = json_field("changelogManifestList", default=None)
index_manifest: Optional[str] = json_field("indexManifest", default=None)
total_record_count: Optional[int] = json_field("totalRecordCount", default=None)
delta_record_count: Optional[int] = json_field("deltaRecordCount", default=None)
changelog_record_count: Optional[int] = json_field("changelogRecordCount", default=None)
watermark: Optional[int] = json_field("watermark", default=None)
statistics: Optional[str] = json_field("statistics", default=None)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -57,11 +57,12 @@ def setUp(self):
schema_id=0,
base_manifest_list="manifest-list-1",
delta_manifest_list="manifest-list-1",
total_record_count=1,
delta_record_count=1,
commit_user="test_user",
commit_identifier=12345,
commit_kind="APPEND",
time_millis=int(time.time() * 1000),
log_offsets={}
time_millis=int(time.time() * 1000)
)

# Create test statistics
Expand Down
5 changes: 3 additions & 2 deletions paimon-python/pypaimon/tests/rest/rest_server.py
Original file line number Diff line number Diff line change
Expand Up @@ -541,11 +541,12 @@ def _write_snapshot_files(self, identifier: Identifier, snapshot, statistics):
"schemaId": getattr(snapshot, 'schema_id', 0),
"baseManifestList": getattr(snapshot, 'base_manifest_list', f"manifest-list-{uuid.uuid4()}"),
"deltaManifestList": getattr(snapshot, 'delta_manifest_list', f"manifest-list-{uuid.uuid4()}"),
"totalRecordCount": getattr(snapshot, 'total_record_count'),
"deltaRecordCount": getattr(snapshot, 'delta_record_count'),
"commitUser": getattr(snapshot, 'commit_user', 'rest-server'),
"commitIdentifier": getattr(snapshot, 'commit_identifier', 1),
"commitKind": getattr(snapshot, 'commit_kind', 'APPEND'),
"timeMillis": getattr(snapshot, 'time_millis', 1703721600000),
"logOffsets": getattr(snapshot, 'log_offsets', {})
"timeMillis": getattr(snapshot, 'time_millis', 1703721600000)
}

with open(snapshot_file, 'w') as f:
Expand Down
2 changes: 1 addition & 1 deletion paimon-python/pypaimon/write/file_store_commit.py
Original file line number Diff line number Diff line change
Expand Up @@ -199,7 +199,7 @@ def _try_commit(self, commit_kind, commit_entries, commit_identifier):
new_snapshot_id = self._generate_snapshot_id()
total_record_count += delta_record_count
snapshot_data = Snapshot(
version=1,
version=3,
id=new_snapshot_id,
schema_id=self.table.table_schema.id,
base_manifest_list=base_manifest_list,
Expand Down