Skip to content

[Bug] Temp AO table files are not deleted #1644

@andr-sokolov

Description

@andr-sokolov

Apache Cloudberry version

The main branch, commit 822c600

What happened

When I create AO temporary table and drop it, the table files are not deleted. But when I create heap temporary table and drop it, there is no files in the tablespace.

What you think should happen instead

No response

How to reproduce

Run default demo cluster. When I create AO temporary table and drop it, the table files are not deleted.

postgres=# \! rm -rf /tmp/tts_tblspace;
postgres=# \! mkdir -p /tmp/tts_tblspace;
postgres=# CREATE TABLESPACE tts_tblspace LOCATION '/tmp/tts_tblspace';
CREATE TABLESPACE
postgres=# CREATE TEMP TABLE ts(i INT)
   WITH (APPENDOPTIMIZED = TRUE)
   TABLESPACE tts_tblspace
   DISTRIBUTED BY (i);
CREATE TABLE
postgres=# select relfilenode from pg_class where oid=(select relid from pg_appendonly);
 relfilenode 
-------------
       16393
(1 row)

postgres=# drop table ts;
DROP TABLE
postgres=# \! find /tmp/tts_tblspace
/tmp/tts_tblspace
/tmp/tts_tblspace/1
/tmp/tts_tblspace/1/GPDB_3_302509031
/tmp/tts_tblspace/1/GPDB_3_302509031/13425
/tmp/tts_tblspace/1/GPDB_3_302509031/13425/t_16393
/tmp/tts_tblspace/2
/tmp/tts_tblspace/2/GPDB_3_302509031
/tmp/tts_tblspace/2/GPDB_3_302509031/13425
/tmp/tts_tblspace/2/GPDB_3_302509031/13425/t_16393
/tmp/tts_tblspace/6
/tmp/tts_tblspace/6/GPDB_3_302509031
/tmp/tts_tblspace/8
/tmp/tts_tblspace/8/GPDB_3_302509031
/tmp/tts_tblspace/7
/tmp/tts_tblspace/7/GPDB_3_302509031
/tmp/tts_tblspace/3
/tmp/tts_tblspace/3/GPDB_3_302509031
/tmp/tts_tblspace/3/GPDB_3_302509031/13425
/tmp/tts_tblspace/3/GPDB_3_302509031/13425/t_16393
/tmp/tts_tblspace/4
/tmp/tts_tblspace/4/GPDB_3_302509031
/tmp/tts_tblspace/4/GPDB_3_302509031/13425
/tmp/tts_tblspace/4/GPDB_3_302509031/13425/t_16393
/tmp/tts_tblspace/5
/tmp/tts_tblspace/5/GPDB_3_302509031
postgres=# 

But when I create heap temporary table and drop it, there is no files in the tablespace.

postgres=# CREATE TEMP TABLE ts(i INT)
   TABLESPACE tts_tblspace
   DISTRIBUTED BY (i);
CREATE TABLE
postgres=# DROP TABLE ts;
DROP TABLE
postgres=# \! find /tmp/tts_tblspace
/tmp/tts_tblspace
/tmp/tts_tblspace/1
/tmp/tts_tblspace/1/GPDB_3_302509031
/tmp/tts_tblspace/1/GPDB_3_302509031/13425
/tmp/tts_tblspace/2
/tmp/tts_tblspace/2/GPDB_3_302509031
/tmp/tts_tblspace/2/GPDB_3_302509031/13425
/tmp/tts_tblspace/6
/tmp/tts_tblspace/6/GPDB_3_302509031
/tmp/tts_tblspace/8
/tmp/tts_tblspace/8/GPDB_3_302509031
/tmp/tts_tblspace/7
/tmp/tts_tblspace/7/GPDB_3_302509031
/tmp/tts_tblspace/3
/tmp/tts_tblspace/3/GPDB_3_302509031
/tmp/tts_tblspace/3/GPDB_3_302509031/13425
/tmp/tts_tblspace/4
/tmp/tts_tblspace/4/GPDB_3_302509031
/tmp/tts_tblspace/4/GPDB_3_302509031/13425
/tmp/tts_tblspace/5
/tmp/tts_tblspace/5/GPDB_3_302509031
postgres=#

Operating System

Ubuntu 22.04.5 LTS

Anything else

No response

Are you willing to submit PR?

  • Yes, I am willing to submit a PR!

Code of Conduct

Metadata

Metadata

Assignees

No one assigned

    Labels

    type: BugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions