Skip fragments missing new attribute after evolution
TYPE: BUG
DESC: Fix segfault after schema evolution when reading using TILEDB_UNORDERED
This pull request has been linked to Shortcut Story #21652: Segfault after schema evolution.
The segmentation fault is no longer occurring, but I'm now noticing fill values are not applied to the final read in the example I pushed in the latest commit.
To summarize, I evolve the schema here
// Evolve array
ArraySchemaEvolution se(ctx);
double val = -1.0;
auto attr = Attribute::create<double>(ctx, "a2")
.set_fill_value(&val, sizeof(val));
se.add_attribute(attr);
se.array_evolve(array_name);
And later read from the array after writing 1.0 to the new attribute at coordinate (1, 1) in the 2D array. The output produced is
a1: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16
a2: 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
But I would expect the output to be
a1: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16
a2: 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1
Any advice would be appreciated
The backport to release-2.11 failed:
The process '/usr/bin/git' failed with exit code 1
To backport manually, run these commands in your terminal:
# Fetch latest updates from GitHub
git fetch
# Create a new working tree
git worktree add .worktrees/backport-release-2.11 release-2.11
# Navigate to the new working tree
cd .worktrees/backport-release-2.11
# Create a new branch
git switch --create backport-3528-to-release-2.11
# Cherry-pick the merged commit of this pull request and resolve the conflicts
git cherry-pick --mainline 1 a7f385e6d27cb236afd9b63b3d3290e2f66cf2dd
# Push it to GitHub
git push --set-upstream origin backport-3528-to-release-2.11
# Go back to the original working tree
cd ../..
# Delete the working tree
git worktree remove .worktrees/backport-release-2.11
Then, create a pull request where the base branch is release-2.11 and the compare/head branch is backport-3528-to-release-2.11.