New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[DocDB] Disable packed row for colocated tables as Colocated table + Packed Rows: DML+DDL Workload and compaction cannot find schema packing and fail. #21218
Labels
area/docdb
YugabyteDB core features
kind/bug
This issue is a bug
priority/highest
Highest priority issue
qa_stress
Bugs identified via Stress automation
QA
QA filed bugs
Comments
shishir2001-yb
added
area/docdb
YugabyteDB core features
QA
QA filed bugs
status/awaiting-triage
Issue awaiting triage
qa_stress
Bugs identified via Stress automation
labels
Feb 27, 2024
yugabyte-ci
added
kind/bug
This issue is a bug
priority/medium
Medium priority issue
labels
Feb 27, 2024
Similar issue |
yugabyte-ci
added
priority/highest
Highest priority issue
and removed
priority/medium
Medium priority issue
status/awaiting-triage
Issue awaiting triage
labels
Feb 27, 2024
Huqicheng
added a commit
that referenced
this issue
Feb 28, 2024
Summary: Disable packed row feature for colocated tables to avoid running into #21218, while we debug the underlying issue in #21218. Jira: DB-10016 Test Plan: PgPackedRowTest.ColocatedCompactionPackRowDisabled PgPackedRowTest.ColocatedPackRowDisabled Reviewers: rthallam Reviewed By: rthallam Subscribers: qhu, ybase, yql Tags: #jenkins-ready Differential Revision: https://phorge.dev.yugabyte.com/D32695
16 existing right after Restore |
From the tablet meta, 16 non existing
|
Using this issue to track the disabling of Packed Row + Colocation. #21244 will track the real fix. |
rthallamko3
changed the title
[DocDB] Colocated table + Packed Rows: DML Workload and compaction cannot find schema packing and fail.
[DocDB] Colocated table + Packed Rows: DML+DDL Workload and compaction cannot find schema packing and fail.
Mar 5, 2024
Huqicheng
added a commit
that referenced
this issue
Mar 5, 2024
Summary: Disable packed row feature for colocated tables to avoid running into #21218, while we debug the underlying issue in #21218. Jira: DB-10146 Test Plan: PgPackedRowTest.ColocatedCompactionPackRowDisabled PgPackedRowTest.ColocatedPackRowDisabled Reviewers: rthallam Reviewed By: rthallam Subscribers: qhu, ybase, yql Tags: #jenkins-ready Differential Revision: https://phorge.dev.yugabyte.com/D32693
Huqicheng
added a commit
that referenced
this issue
Mar 5, 2024
Summary: Disable packed row feature for colocated tables to avoid running into #21218, while we debug the underlying issue in #21218. Jira: DB-10146 Test Plan: PgPackedRowTest.ColocatedCompactionPackRowDisabled PgPackedRowTest.ColocatedPackRowDisabled Reviewers: rthallam Reviewed By: rthallam Subscribers: yql, ybase, qhu Tags: #jenkins-ready Differential Revision: https://phorge.dev.yugabyte.com/D32694
Huqicheng
added a commit
that referenced
this issue
Mar 6, 2024
Summary: Disable packed row feature for colocated tables to avoid running into #21218, while we debug the underlying issue in #21218. Jira: DB-10146 Test Plan: PgPackedRowTest.ColocatedCompactionPackRowDisabled PgPackedRowTest.ColocatedPackRowDisabled Reviewers: rthallam, sergei Reviewed By: rthallam Subscribers: qhu, ybase, yql Differential Revision: https://phorge.dev.yugabyte.com/D32872
rthallamko3
changed the title
[DocDB] Colocated table + Packed Rows: DML+DDL Workload and compaction cannot find schema packing and fail.
[DocDB] Disable packed row for colocated tables as Colocated table + Packed Rows: DML+DDL Workload and compaction cannot find schema packing and fail.
Mar 6, 2024
Huqicheng
added a commit
that referenced
this issue
Mar 14, 2024
…KvStoreInfo::colocation_to_table for the same table Summary: ## Customer Impact Colocated table + Packed Rows: DML+DDL Workload fails with an error related to missing schema packing. The impact of the issue is on 2.20.0+ builds as the packed row feature is enabled by default for ysql api starting in 2.20 (for new clusters only, clusters that get upgraded from lower releases such as 2.14/2.6/2.18 to 2.20 are not impacted). If the user creates colocated tables and performs a lot of DDLs over them and compaction happens on the colocated tablet to trigger OldSchemaGC. After PITR, then there is a chance that the workload runs into the errors mentioned in #21218. This results in a tserver crash loop on the impacted node. Note that it can impact customers on 2.18 builds, if they explicitly enable ysql packed row for colocated tables, using the gflag ysql_enable_packed_row_for_colocated_table. ## Details During OldSchemaGC and OnBackfillDoneUnlocked, only the TableInfoPtr in KvStoreInfo::tables is updated to new_value but leave KvStoreInfo::colocation_to_table unchanged. This can lead to corrupt tablet metadata, if a PITR snapshot is restored after OldSchemaGC/OnBackfillDoneUnlocked function call. FindMatchingTable always gets the matching table from KvStoreInfo::colocation_to_table, and TableInfo::MergeSchemaPackings will merge the snapshot schema packings with the old TableInfo's schema packings, which runs into issues. This fix addresses the code bug and ensures that the KvStoreInfo::colocation_to_table is updated correctly, when the TableInfoPtr in KvStoreInfo::tables is also updated. Test Plan: ./yb_build.sh release --cxx-test pg_packed_row-test --gtest_filter "PackingVersion/PgPackedRowTest.RestorePITRSnapshotAfterOldSchemaGC/*" ./yb_build.sh release --cxx-test yb-backup-cross-feature-test --gtest_filter "PackedRows/YBBackupTestWithPackedRowsAndColocation.RestoreBackupAfterOldSchemaGC/1" ./yb_build.sh release --cxx-test tools_yb-admin-snapshot-schedule-test --gtest_filter Colocation/YbAdminSnapshotScheduleTestWithYsqlParam.PgsqlCreateIndex/* Reviewers: sergei, rthallam Reviewed By: sergei, rthallam Subscribers: rthallam, bogdan, ybase, yql Differential Revision: https://phorge.dev.yugabyte.com/D32922
Closed
1 task
asrinivasanyb
pushed a commit
to asrinivasanyb/yugabyte-db
that referenced
this issue
Mar 18, 2024
…les and KvStoreInfo::colocation_to_table for the same table Summary: ## Customer Impact Colocated table + Packed Rows: DML+DDL Workload fails with an error related to missing schema packing. The impact of the issue is on 2.20.0+ builds as the packed row feature is enabled by default for ysql api starting in 2.20 (for new clusters only, clusters that get upgraded from lower releases such as 2.14/2.6/2.18 to 2.20 are not impacted). If the user creates colocated tables and performs a lot of DDLs over them and compaction happens on the colocated tablet to trigger OldSchemaGC. After PITR, then there is a chance that the workload runs into the errors mentioned in yugabyte#21218. This results in a tserver crash loop on the impacted node. Note that it can impact customers on 2.18 builds, if they explicitly enable ysql packed row for colocated tables, using the gflag ysql_enable_packed_row_for_colocated_table. ## Details During OldSchemaGC and OnBackfillDoneUnlocked, only the TableInfoPtr in KvStoreInfo::tables is updated to new_value but leave KvStoreInfo::colocation_to_table unchanged. This can lead to corrupt tablet metadata, if a PITR snapshot is restored after OldSchemaGC/OnBackfillDoneUnlocked function call. FindMatchingTable always gets the matching table from KvStoreInfo::colocation_to_table, and TableInfo::MergeSchemaPackings will merge the snapshot schema packings with the old TableInfo's schema packings, which runs into issues. This fix addresses the code bug and ensures that the KvStoreInfo::colocation_to_table is updated correctly, when the TableInfoPtr in KvStoreInfo::tables is also updated. Test Plan: ./yb_build.sh release --cxx-test pg_packed_row-test --gtest_filter "PackingVersion/PgPackedRowTest.RestorePITRSnapshotAfterOldSchemaGC/*" ./yb_build.sh release --cxx-test yb-backup-cross-feature-test --gtest_filter "PackedRows/YBBackupTestWithPackedRowsAndColocation.RestoreBackupAfterOldSchemaGC/1" ./yb_build.sh release --cxx-test tools_yb-admin-snapshot-schedule-test --gtest_filter Colocation/YbAdminSnapshotScheduleTestWithYsqlParam.PgsqlCreateIndex/* Reviewers: sergei, rthallam Reviewed By: sergei, rthallam Subscribers: rthallam, bogdan, ybase, yql Differential Revision: https://phorge.dev.yugabyte.com/D32922
Huqicheng
added a commit
that referenced
this issue
Mar 19, 2024
…fo::tables and KvStoreInfo::colocation_to_table for the same table Summary: Original commit: 6b0aa84 / D32922 Colocated table + Packed Rows: DML+DDL Workload fails with an error related to missing schema packing. The impact of the issue is on 2.20.0+ builds as the packed row feature is enabled by default for ysql api starting in 2.20 (for new clusters only, clusters that get upgraded from lower releases such as 2.14/2.6/2.18 to 2.20 are not impacted). If the user creates colocated tables and performs a lot of DDLs over them and compaction happens on the colocated tablet to trigger OldSchemaGC. After PITR, then there is a chance that the workload runs into the errors mentioned in #21218. This results in a tserver crash loop on the impacted node. Note that it can impact customers on 2.18 builds, if they explicitly enable ysql packed row for colocated tables, using the gflag ysql_enable_packed_row_for_colocated_table. During OldSchemaGC and OnBackfillDoneUnlocked, only the TableInfoPtr in KvStoreInfo::tables is updated to new_value but leave KvStoreInfo::colocation_to_table unchanged. This can lead to corrupt tablet metadata, if a PITR snapshot is restored after OldSchemaGC/OnBackfillDoneUnlocked function call. FindMatchingTable always gets the matching table from KvStoreInfo::colocation_to_table, and TableInfo::MergeSchemaPackings will merge the snapshot schema packings with the old TableInfo's schema packings, which runs into issues. This fix addresses the code bug and ensures that the KvStoreInfo::colocation_to_table is updated correctly, when the TableInfoPtr in KvStoreInfo::tables is also updated. Test Plan: ./yb_build.sh release --cxx-test pg_packed_row-test --gtest_filter "PackingVersion/PgPackedRowTest.RestorePITRSnapshotAfterOldSchemaGC/*" ./yb_build.sh release --cxx-test yb-backup-cross-feature-test --gtest_filter "PackedRows/YBBackupTestWithPackedRowsAndColocation.RestoreBackupAfterOldSchemaGC/1" ./yb_build.sh release --cxx-test tools_yb-admin-snapshot-schedule-test --gtest_filter Colocation/YbAdminSnapshotScheduleTestWithYsqlParam.PgsqlCreateIndex/* Reviewers: sergei, rthallam Reviewed By: rthallam Subscribers: yql, ybase, bogdan, rthallam Tags: #jenkins-ready Differential Revision: https://phorge.dev.yugabyte.com/D33291
Huqicheng
added a commit
that referenced
this issue
Mar 20, 2024
…fo::tables and KvStoreInfo::colocation_to_table for the same table Summary: Original commit: 6b0aa84 / D32922 Colocated table + Packed Rows: DML+DDL Workload fails with an error related to missing schema packing. The impact of the issue is on 2.20.0+ builds as the packed row feature is enabled by default for ysql api starting in 2.20 (for new clusters only, clusters that get upgraded from lower releases such as 2.14/2.6/2.18 to 2.20 are not impacted). If the user creates colocated tables and performs a lot of DDLs over them and compaction happens on the colocated tablet to trigger OldSchemaGC. After PITR, then there is a chance that the workload runs into the errors mentioned in #21218. This results in a tserver crash loop on the impacted node. Note that it can impact customers on 2.18 builds, if they explicitly enable ysql packed row for colocated tables, using the gflag ysql_enable_packed_row_for_colocated_table. During OldSchemaGC and OnBackfillDoneUnlocked, only the TableInfoPtr in KvStoreInfo::tables is updated to new_value but leave KvStoreInfo::colocation_to_table unchanged. This can lead to corrupt tablet metadata, if a PITR snapshot is restored after OldSchemaGC/OnBackfillDoneUnlocked function call. FindMatchingTable always gets the matching table from KvStoreInfo::colocation_to_table, and TableInfo::MergeSchemaPackings will merge the snapshot schema packings with the old TableInfo's schema packings, which runs into issues. This fix addresses the code bug and ensures that the KvStoreInfo::colocation_to_table is updated correctly, when the TableInfoPtr in KvStoreInfo::tables is also updated. Test Plan: ./yb_build.sh release --cxx-test pg_packed_row-test --gtest_filter "PackingVersion/PgPackedRowTest.RestorePITRSnapshotAfterOldSchemaGC/*" ./yb_build.sh release --cxx-test yb-backup-cross-feature-test --gtest_filter "PackedRows/YBBackupTestWithPackedRowsAndColocation.RestoreBackupAfterOldSchemaGC/1" ./yb_build.sh release --cxx-test tools_yb-admin-snapshot-schedule-test --gtest_filter Colocation/YbAdminSnapshotScheduleTestWithYsqlParam.PgsqlCreateIndex/* Reviewers: sergei, rthallam Reviewed By: rthallam Subscribers: yql, ybase, bogdan, rthallam Tags: #jenkins-ready Differential Revision: https://phorge.dev.yugabyte.com/D33292
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
area/docdb
YugabyteDB core features
kind/bug
This issue is a bug
priority/highest
Highest priority issue
qa_stress
Bugs identified via Stress automation
QA
QA filed bugs
Jira Link: DB-10146
Description
Tried on version: 2.21.1.0-b158
Encountering the following fatal error again on 2.21.1.0-b158(This has Jonathan’s fix for https://github.com/yugabyte/yugabyte-db/issues/20638) in a new Cross-DB DDL test. Note: I believe this time it’s occurring on a table named ‘tb_0_temp_old,’ which is likely created internally during the execution of certain DDLs.
Test Details:
List of DDLs in sample app
Logs: http://stress.dev.yugabyte.com/stress_test/e56e3d49-de37-4a93-91d8-fe7493f6c4d1 (Attachments -> Universe logs)
G-flags
Issue Type
kind/bug
Warning: Please confirm that this issue does not contain any sensitive information
The text was updated successfully, but these errors were encountered: