Skip to content

Fix YugabyteDB CI by adding ysql_yb_enable_listen_notify flag#1345

Open
tlmorgan24 wants to merge 2 commits into
mainfrom
fix/yugabyte-ci
Open

Fix YugabyteDB CI by adding ysql_yb_enable_listen_notify flag#1345
tlmorgan24 wants to merge 2 commits into
mainfrom
fix/yugabyte-ci

Conversation

@tlmorgan24

Copy link
Copy Markdown
Collaborator

Summary

The YugabyteDB CI job was failing because SQLancer generates LISTEN, NOTIFY, and UNLISTEN statements, but YugabyteDB has this feature disabled by default. This caused an AssertionError each time one of these statements was executed, terminating the test run.

The fix enables the ysql_yb_enable_listen_notify runtime flag on both the tserver and master when starting YugabyteDB in CI, allowing these statements to execute as intended.

Changes

  • .github/workflows/main.yml: Pass --tserver_flags and --master_flags to yugabyted start to enable ysql_yb_enable_listen_notify

@tlmorgan24 tlmorgan24 requested a review from mrigger June 19, 2026 07:40
docker run -d --name yugabyte -p7000:7000 -p9000:9000 -p5433:5433 -p9042:9042 yugabytedb/yugabyte:latest bin/yugabyted start --daemon=false
docker run -d --name yugabyte -p7000:7000 -p9000:9000 -p5433:5433 -p9042:9042 yugabytedb/yugabyte:latest bin/yugabyted start --daemon=false --tserver_flags="ysql_yb_enable_listen_notify=true" --master_flags="ysql_yb_enable_listen_notify=true"
until pg_isready -h localhost -p 5433; do sleep 1; done
until nc -z localhost 9042; do sleep 1; done

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this waiting loop also needed?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is not related to the ysql_yb_enable_listen_notify fix, but it is another robustness improvement to the YugabyteDB CI.

The CI previously had only until pg_isready -h localhost -p 5433; do sleep 1; done, which confirms YSQL on port 5433 is up, but does not necessarily imply YCQL on port 9042 is up (which gets tested in TestYCQL). So without the additional wait, it is possible for TestYCQL to fail due to connection refused.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants