docs/content/stable/releases/techadvisories/ta-14696.md
| Product | Affected Versions | Related Issues | Fixed In |
|---|---|---|---|
| {{<product "yba">}} | {{<release "2.20.8.1, 2024.1.3.1, 2024.2.0.0, 2.23.1.0">}} | {{< ta 22802 >}} | {{<release "2.20.9.0, 2024.1.4.0, 2024.2.1.0, 2.25.0.0">}} |
In response to {{< ta 22802 >}}, Yugabyte added a DDL Atomicity Health Check Alert into YB Anywhere to mimic the ddl_atomicity_check_script_python3.py detection script found in the TA.
In the affected versions, the YB Anywhere DDL Attomicity Health check can produce false positive results due to a bug in the health check template. This means that it will incorrectly flag healthy tables as having an atomicity issue.
Note: The ddl_atomicity_check_script_python3.py detection script from the TA document does not have this bug, and should provide accurate results. Only the integrated Health Check in YBA is affected.
For the resolution, you can either:
The following versions have a fixed Health Check template:
Connect to the YBA Anywhere node using SSH to access its command-line interface and locate node_health.py.template by running the following command:
sudo find / -name "*node_health.py.template*"
{{< note title="Note" >}}
The file should be located in the following location:
<YBA_BASE_PATH>/software/active/yba_installer/packages/yugabyte-<version>/yugaware/conf/health/node_health.py.template
<YBA_BASE_PATH> is most commonly /opt/yugabyte
{{< /note >}}
Create a backup copy of node_health.py.template by running the following command:
cp node_health.py.template node_health.py.template.bak
Edit node_health.py.template and change a single line
Change this line
yb_pg_table_oid = str(int(table["uuid"][-4:], 16))
to
yb_pg_table_oid = str(int(table["uuid"][-8:], 16))
Note: The effective change within the line is changing -4 to -8
Restart YBA by running the following command:
yba-ctl restart
Note: You may need sudo permission for this operation
Restarting YBA will push the template to all the DB nodes. During the next Health Check you should see accurate results, comparable to running ddl_atomicity_check_script_python3.py from the Technical Advisory.