Open m-iancu opened 4 years ago
Hello, Is anyone working on this ticket ? I would like to give it a shot
Hi @AbdallahKhaled93 , absolutely, please give it a shot. Feel free to join our community slack and reach out to @hectorgcr / @m-iancu while working on this.
@ndeodhar Thank you
Jira Link: DB-4818 We currently store some sequence data (last val, is_called, etc) in a dedicated DocDB system table, that exists in the
system_postgres
namespace. That namespace is not pre-created, so "create sequence" calls will create it if needed by calling CreateNamespaceIfNotExists.However,
CreateNamespaceIfNotExists
does not correctly handle the "If Not Exists" aspect for YSQL. Specifically, it checks if the namespace exists before, but if it gets anIsAlreadyPresent
status that still gets reported as an error. See the code in: https://github.com/yugabyte/yugabyte-db/blob/master/src/yb/client/client.cc#L654 -- there theIsAlreadyPresent
check at the end only handlesYQL_DATABASE_CQL
namespaces. That means that if many sequences are created concurrently at least some (possibly all-but-one) will fail.