Problem
Users with a dot in their OS username (e.g. john.doe) get a UC_VOLUME_NOT_FOUND error when connecting to Databricks:
[UC_VOLUME_NOT_FOUND] Volume `catalog`.`schema`.`john`.`doe-py=3124-pid=98765` does not exist.
Ibis builds the memtable_volume name as {getpass.getuser()}-py={version}-pid={pid}. When the username contains a dot, Databricks Unity Catalog interprets it as a path separator, producing an invalid 4-part identifier instead of a valid 3-part one.
Proposition Solution
Sanitize the username before constructing the volume name by replacing any character outside [a-zA-Z0-9_-] with an underscore, then pass the result explicitly as memtable_volume to ibis.databricks.connect().
See: #709
Problem
Users with a dot in their OS username (e.g.
john.doe) get aUC_VOLUME_NOT_FOUNDerror when connecting to Databricks:Ibis builds the
memtable_volumename as{getpass.getuser()}-py={version}-pid={pid}. When the username contains a dot, Databricks Unity Catalog interprets it as a path separator, producing an invalid 4-part identifier instead of a valid 3-part one.Proposition Solution
Sanitize the username before constructing the volume name by replacing any character outside
[a-zA-Z0-9_-]with an underscore, then pass the result explicitly asmemtable_volumetoibis.databricks.connect().See: #709