You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@asterixdb.apache.org by AsterixDB Code Review <do...@asterix-gerrit.ics.uci.edu> on 2026/08/20 09:05:56 UTC

[L] Change in asterixdb[master]: [ASTERIXDB-3813][STO] Pad large page writes to align cloud positions

From Ritik Raj <ri...@couchbase.com>:

Attention is currently required from: Ritik Raj.

Hello Anon. E. Moose #1000171, Jenkins, 

I'd like you to reexamine a change. Please visit

    https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/21577?usp=email

to look at the new patch set (#6).

The following approvals got outdated and were removed:
Contrib-2 by Anon. E. Moose #1000171, Integration-Tests+1 by Jenkins


Change subject: [ASTERIXDB-3813][STO] Pad large page writes to align cloud positions
......................................................................

[ASTERIXDB-3813][STO] Pad large page writes to align cloud positions

- user model changes: no
- storage format changes: no
- interface changes: no

Details:
- Bulk loading a tuple larger than a single buffer-cache page leaves
  unwritten gaps at the page's tail.
- While local file systems treat these gaps as harmless holes, strict
  append-only cloud writers fall behind the expected offset.
- This discrepancy causes subsequent page writes on cloud storage to
  fail with an "IllegalStateException: Misaligned positions", halting
  the node.
- This patch fixes the issue by padding the tail of large page writes
  with zeros. This ensures the cloud object layout perfectly matches
  the local file layout without changing the storage format or read
  path.

Tests:
- Added cloud_storage/large-page-analyze to reproduce the failure.
- Added LargePageWriteAlignmentTest to assert proper byte alignment.
- Passed hyracks-storage-common, hyracks-storage-am-btree, and
  asterix-cloud tests.

Ext-ref: MB-73296
Change-Id: I90708ac546e28aae06f7110737503a99809c52df
---
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cloud_storage/large-page-analyze/large-page-analyze.1.ddl.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cloud_storage/large-page-analyze/large-page-analyze.2.update.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cloud_storage/large-page-analyze/large-page-analyze.3.update.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cloud_storage/large-page-analyze/large-page-analyze.4.query.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/results/cloud_storage/large-page-analyze/large-page-analyze.4.adm
M asterixdb/asterix-app/src/test/resources/runtimets/testsuite_cloud_storage.xml
M hyracks-fullstack/hyracks/hyracks-storage-common/src/main/java/org/apache/hyracks/storage/common/file/BufferedFileHandle.java
A hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-common-test/src/test/java/org/apache/hyracks/storage/common/LargePageWriteAlignmentTest.java
8 files changed, 325 insertions(+), 2 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/77/21577/6
-- 
To view, visit https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/21577?usp=email
To unsubscribe, or for help writing mail filters, visit https://asterix-gerrit.ics.uci.edu/settings?usp=email

Gerrit-MessageType: newpatchset
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Change-Id: I90708ac546e28aae06f7110737503a99809c52df
Gerrit-Change-Number: 21577
Gerrit-PatchSet: 6
Gerrit-Owner: Ritik Raj <ri...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-CC: Ian Maxon <im...@apache.org>
Gerrit-Attention: Ritik Raj <ri...@couchbase.com>